À mon travail, je suis tenu de suivre le style de la maison pour l'indentation, qui va comme suit:
- 2 espaces lors du codage html et ruby
- onglets lors du codage javascript, avec tabwidth = 4 recommandé
Quelle est la meilleure façon de spécifier différentes préférences d'espaces par type de fichier?
vim
whitespace
preferences
Nelstrom
la source
la source
Réponses:
il existe de nombreuses façons, mais voici une méthode simple et facile à comprendre. ajoutez ces lignes à votre
~/.vimrc
:la source
La réponse de Peter est assez simple, mais malheureusement, les options ne sont pas bonnes. Vous devez utiliser les options suivantes à la place:
Notez également:
:set list
.:retab!
commande.la source
expandtab
plussts=2
+1 à la réponse de Peter, mais Vim fournit également une autre solution. Si vous voulez faire quelque chose de plus compliqué qu'une seule
setlocal
, comme configurer tout un tas d'options, de commandes et de mappages à la fois, alors la fonction de plugin de type de fichier de vim vient à la rescousse.Vous devez avoir
filetype plugin on
oufiletype plugin indent on
dans votre.vimrc
, puis créer un plugin pour par exemple ruby que vous pouvez créer~/.vim/ftplugin/ruby.vim
. Techniquement , vous pouvez utiliser les commandes comme ici, pour être exécuté lorsqu'un fichier Ruby est chargé, mais celles recommandées comprennentsetlocal
,map <buffer>
,command -buffer
et la définition des fonctions. Beaucoup plus d'informations sont dans le Guide de l'utilisateur; si vous êtes assez familier avec les scripts vim, passez à:help 41.11
, sinon lisez:help usr_40
et:help usr_41
.la source
Il y a aussi un joli script vim: DetectIndent qui essaie de détecter l'indentation d'un fichier que vous ouvrez. C'est très pratique si vous travaillez avec de nombreux fichiers avec un style de codage différent.
J'utilise une autocommande dans mon .vimrc :
la source
Pour insérer des espaces chaque fois que la touche de tabulation est enfoncée, définissez l'option 'expandtab':
L'étape suivante consiste à contrôler le nombre de caractères d'espace qui seront insérés lorsque la touche de tabulation est enfoncée, définissez l'option «tabstop». Par exemple, pour insérer 2 espaces pour un onglet, utilisez:
réf: http://vim.wikia.com/wiki/Converting_tabs_to_spaces
la source