Empêche Vim de gâcher mon indentation sur les commentaires
13
Pour une raison quelconque, Vim pense que tous mes commentaires devraient avoir supprimé toute indentation. Si j'ajoute #au début d'une ligne, tout à coup tous les espaces de tête sont supprimés. Comment puis-je arrêter cela?
J'ai installé Janus et NERDtree, au cas où cela serait pertinent, ainsi que de nombreuses autres configurations personnelles dans ma .vimrc, mais aucune qui (à ma connaissance) ne provoquerait un tel comportement.
Je ne suis jamais satisfait de la réponse «mettre toutes ces choses au cas où». J'insiste pour savoir lesquelles de ces choses ont mal tourné et comment elles ont été réglées. Voici une commande qui vous montrera les valeurs de tous les paramètres pertinents mentionnés ici, ainsi que leur dernier réglage. Si aucune Last set fromligne ne suit, il s'agit d'une valeur par défaut. Inutile de setrestituer les valeurs par défaut correctes.
:verbose set autoindent? smartindent? cindent? cinkeys? indentexpr?
noautoindent
nosmartindent
cindent
Last set from ~/.vim/vimrc
cinkeys=0{,0},0),:,!^F,o,O,e
Last set from ~/.vim/vimrc
indentexpr=
Press ENTER or type command to continue
Hou la la! OP a changé sa réponse. Je suis honoré.
Bruno Bronosky
6
C'est aussi une bataille que j'ai menée et je pense que j'ai finalement gagné. Le problème est qu'il existe une douzaine de façons différentes de remplacer le comportement (par des plugins / syntaxes).
Voici tous les paramètres que j'ai dû utiliser pour gagner la bataille:
set nosmartindent
set cindent
filetype plugin indent on
set cinkeys-=0#
set indentkeys-=0#
autocmd FileType * set cindent "some file types override it
Avec le autocmd, le premier set cindentne devrait pas être nécessaire, mais c'est l'une de ces choses où j'ai continué à ajouter des lignes jusqu'à ce que le comportement disparaisse.
J'ai pu sauter les deux dernières lignes et toujours résoudre le problème
iconoclaste
1
@iconoclast note cependant que vous pouvez toujours avoir des problèmes avec certains types de fichiers. La dernière ligne est due au fait que certains fichiers de syntaxe remplacent les paramètres d'indentation.
Patrick
1
OMG!!! set indentkeys-=0#!! FINALEMENT MES SOUFFRANCES SONT FINIES !!!!!!!!
C'est aussi une bataille que j'ai menée et je pense que j'ai finalement gagné. Le problème est qu'il existe une douzaine de façons différentes de remplacer le comportement (par des plugins / syntaxes).
Voici tous les paramètres que j'ai dû utiliser pour gagner la bataille:
Avec le
autocmd
, le premierset cindent
ne devrait pas être nécessaire, mais c'est l'une de ces choses où j'ai continué à ajouter des lignes jusqu'à ce que le comportement disparaisse.la source
set indentkeys-=0#
!! FINALEMENT MES SOUFFRANCES SONT FINIES !!!!!!!!Vous voudrez peut-être consulter la page de code source de Vim Wiki Indenting et vérifier comment fonctionne «autoindent».
la source
réf cette réponse:
http://vim.wikia.com/wiki/Restoring_indent_after_typing_hash
modifier pour:
ou:
la source
J'ai résolu le problème en commentant
set smartindent
.la source