Désactiver tous les auto-indentation dans vim
En TeX vim généralement vis de mon indentation. Surtout quand je suis dans une affiche équation qui, je pense, devrait ressembler à ceci:
\[
x=\frac{y}{z}
\]
où l'espace en face de la x
est l'un onglet.
Lorsque je démarre le type de l'équation de type I de la \[
et \]
les marques de première, puis de revenir en arrière entre eux, la saisie de l'onglet, puis le reste de l'équation.
Vim n'a rien fait de mal jusqu'à ce que j'ai à utiliser quelque chose qui incorpore des accolades (\frac{}
par exemple). Quand je tape la clôture }
vim se déplace automatiquement le retrait de l'ensemble de la ligne vers la gauche, ce qui annule ma tapé onglet.
C'est très souvent embêtant, comment faire pour le désactiver?
mon .vimrc
contient:
"indentation
set smartindent
set autoindent
set tabstop=5
set shiftwidth=5
filetype indent on
- C'est quelle version? Je ne peux pas le reproduire en 7.3. J'ai essayé le réglage de type de fichier tex, permettant à vos options, et en tapant dans votre échantillon. Le crochet de fermeture n'a pas changé de niveau d'indentation.
Accolade
est un peu obscur terme pour des accolades ({
,}
); c'est probablement le plus commun en Europe qu'aux etats-unis.- o ouais, bâclée anglais... je vais corriger ça
- A-t-il une solution satisfaisante à ce problème? N'importe quelle variante de l'alinéa I unset, le problème reste le même. C'est peut-être une limitation de $VIMRUNTINE/tiret/tex.vim?!
- Je vais maintenant utiliser
noautoindent
,nocindent
etsmartindent
. Je ne suis pas très bien pourquoi ce qui fonctionne le mieux, mais l'essai et l'erreur montre que c'est le plus satisfaisant. - Cette combinaison encore unindents dans mon cas quand je ouvrir et de fermer une paire d'accolades.
- De ma faute. La combinaison de vous suggérer des travaux. J'ai voté de votre commentaire, ce qui devrait vraiment être considéré comme la réponse à votre question.
- Les gens oublient souvent
indentexpr
, qui, si elle est définie, remplacesmartindent
etcindent
.
Vous devez vous connecter pour publier un commentaire.
Il semble y avoir un peu de mélange de termes dans votre question. Dans vim le terme d'indentation automatique points à un type particulier d'indentation qui suit tout simplement le niveau de retrait de la ligne précédente (ce qui est très pratique parfois). Pour l'enlever
set noautoindent
à la main, ou à l'écrire dans votre _vimrc.Il y a deux autres automatique sortes d'indentation,
cindent
etsmartindent
. De même, si vous souhaitez désactiver aller avecset nocindent
etset nosmartindent
Si vous regardez dans l'aide (
help autoindent
, ...) ils sont tous très bien expliqué. Que celle que vous préférez (ou pas) est principalement déterminé par votre style de programmation et les habitudes. Ainsi, les essayer et de voir ce qui vous plaît le plus.Malheureusement, je n'ai pas utiliser LaTeX qui plus beaucoup, donc je ne suis pas familier avec son intérieur filetype règles de retrait.
filetype plugin indent on
de mon .vimrc aidé.set nocindent
etset nosmartindent
dans vimrc sur cygwin (windows 7) fixe le retrait surO
eto
nouvelle ligne inserts. c'était tellement frustrant qu'il ne suffit pas de mettre une ligne vide. merci!!!!autoindent
,cindent
,smartindent
, etindentexpr
Je viens de passer quelques heures de travail par indentation douleurs avec javascript, et la conclusion est je suis arrivé à de ne pas supprimer les
filetype indent on
de votre vimrc!Ce paramètre fournit la meilleure smart indentation plusieurs types de fichiers. Si vous avez de mauvais résultats avec ceci, il y a probablement un problème de configuration à la main.
Fichier Spécifique Paramètres De Retrait
Donc, si vous êtes comme moi, vous avez probablement eu
filetype indent on
dans votre vimrc et n'avait aucune idée de ce qu'il faisait.Tout ce paramètre n'est de dire à vim pour rechercher des fichiers avec un type de fichier spécifique tiret règles. Il ya quelques endroits où il regarde, mais il y a probablement que deux qui peuvent vous intéresser.
$VIMRUNTIME/indent/
~/.vimrc/after/indent/
La première place tient le défaut de retrait des règles qui viennent avec vim. Si vous définissez
filetype indent on
sur une nouvelle installation de vim, c'est là que tous les smart indentation viendrait. Par exemple, lorsque vous ouvrez un fichier appeléindex.html
dans les règles de$VIMRUNTIME/indent/html.vim
.Dans mon expérience, ces règles par défaut sont sacrément bons, mais ils peuvent se faire massacrer par d'autres paramètres.
La deuxième place (le
after
directory) permet d'ajouter des paramètres qui remplacent ceux de la première place. C'est agréable parce que vous n'avez pas à modifier la valeur par défaut des fichiers afin de les personnaliser.Saveurs de l'Indentation
Il y a quelques différentes indentation options comme vous l'avez vu, et ils ne sont pas tous jouer bien ensemble. À partir de la Vim wiki:
d'indentation automatique
- Je utiliser
filetype indent on
etset autoindent
dans mon vimrc, depuis qu'ils fonctionnent bien ensemble. Je n'ai pas les autres ensemble.smartindent & cindent
indentexpr
S'exécute filetype tiret scripts trouvés dans
(vimfolder)\indent\\(indentscripts)
. Il est mentionné dans la la documentation de vim pour le type du fichier, aux côtés des autres citées précédemment (c'était la cause du problème que j'ai):Dépannage
Il y a une chance que certains voyous plugin est en train de changer vos paramètres de retrait et c'est pourquoi vous êtes obtenir de mauvais résultats. Heureusement
verbose
vais vous dire le fichier qui a été le dernier à changer l'option en question.Vous pouvez obtenir un résultat comme celui
Si cela se produit, vous pouvez déplacer ce fichier, fermer et ouvrir vim, et voir si cela résout votre problème.
Désactivation des Paramètres de Retrait pour TeX
Peut-être les valeurs par défaut ne sont tout simplement pas le faire pour vous, et que vous souhaitez désactiver les paramètres de retrait pour TeX, mais laisser tous les autres types de fichier seul. Vous pouvez facilement le faire par la définition de ces valeurs par défaut dans un fichier dans le
after
répertoire.Je ne sais pas beaucoup au sujet de Tex ou LaTex, mais quand je créé un fichier avec l'
.tex
extension et a couru:filetype
il a eu le type de fichier queplaintex
. En supposant que cela est correct, vous voulez créer un fichier,~/.vim/after/indent/plaintex.vim
. Dans ce fichier:Ceci permettra de définir l'ensemble de ces valeurs à leurs valeurs par défaut lorsque vous ouvrez un
.tex
fichier.Supprimer les lignes
set autoindent
etset smartindent
pour supprimer tous les vim autoindentation.Pour toute autre personne ayant un problème similaire, une solution qui a fonctionné pour moi a été:
:verbose set indentexpr?
pour trouver ce fichier était à l'origine de l'indentationindentexpr
est changé (pour moi c'étaitsetlocal indentexpr=GetTeXIndent()
)setlocal indentexpr&
à son tourindentexpr
horsCette supprimé tous de-l'indentation de crochets, parenthèses et accolades.