Je voudrais convertir tab en espaces dans gVim. J'ai ajouté la ligne suivante à mon _vimrc
:
set tabstop=2
Cela fonctionne pour s'arrêter à deux espaces mais il semble toujours qu'une touche de tabulation soit insérée (j'ai essayé d'utiliser la touche h pour compter les espaces par la suite).
Je ne sais pas quoi faire pour que gVim convertisse les tabulations en espaces?
^I
qui viennentCtrl-v
ensuiteTab
) fonctionnerait, par exemple si vos tabulations actuelles sont de 4 espaces::%s/ /^I/g
Réponses:
IIRC, quelque chose comme:
devrait faire l'affaire. Si vous avez déjà des onglets, suivez-le avec une belle RE globale pour les remplacer par des espaces doubles.
la source
Une fois que vous avez développé expandtab selon les autres réponses, le moyen extrêmement pratique de convertir des fichiers existants en fonction de vos nouveaux paramètres est le suivant:
Cela fonctionnera sur le tampon actuel.
la source
:%s/\t/ /g
depuis des années avant de voir votre commentaire.:args retab | w
pour tous les fichiers ouverts sur la ligne de commande, par exemplevim *.txt
.Essayer
pour les onglets souples.
Pour corriger des onglets préexistants:
J'ai utilisé deux espaces puisque vous avez déjà défini votre tabstop sur 2 espaces.
la source
set ts = 4
.Cela a fonctionné pour moi:
vous pouvez voir les onglets en faisant d'abord ceci:
puis pour permettre de remplacer les onglets alors faites ceci:
puis
maintenant tous les onglets ont été remplacés par des espaces, vous pouvez ensuite revenir à l'affichage normal comme ceci:
la source
:set list
est tout simplement magnifique.gg=G
va réindenter le fichier entier et supprime la plupart sinon tous les onglets que j'obtiens dans les fichiers de collègues.la source
gg
déplace votre curseur au début du tampon.=
est format et prend une commande de mouvement.G
déplace votre curseur à la fin du tampon, de sorte qu'il indique à vim de formater du début à la fin de votre tampon actuel.Ajoutez les lignes suivantes à votre .vimrc
Ouvrez un fichier dans vim et appuyez sur F2 Les tabulations seront converties en 4 espaces et le fichier sera enregistré automatiquement.
la source
q
va également fermer le tampon actuel du fichier. Cela peut être souhaité ou non.Si vous souhaitez conserver votre
\t
égal à 8 espaces, envisagez de définir:Cela vous donnera deux espaces par
<TAB>
pression, mais réel\t
dans votre code sera toujours affiché comme 8 caractères.la source
softtabstop
, l'une des caractéristiques tueuses, je pense.Cela m'a permis de travailler:
la source
recherchez d'abord les onglets dans votre fichier: / ^ I: set expandtab: retab
marchera.
la source
Cet article a un excellent script vimrc pour gérer les tabulations + espaces et les convertir entre eux.
Source: http://vim.wikia.com/wiki/Super_retab#Script
Cela m'a aidé un peu plus que les réponses ici quand j'ai commencé à chercher une solution.
la source
expand
est un utilitaire Unix pour convertir des tabulations en espaces. Si vous ne voulezset
rien dans vim, vous pouvez utiliser une commande shell de vim:la source
:
. Maintenant, la ligne de commande vim s'affiche:'<,'>
. Entrez ensuite!expand -t4
pour tabulation à 4 espaces. (La ligne de commande résultante est comme:'<,'>!expand -t4
)