Et puis pour ré-indenter automatiquement après cela? J'ai essayé de copier du code d'un écran de terminal à un autre, mais la tabulation a tout gâché.
Je ne savais pas comment appeler cette fonctionnalité, il était donc difficile pour moi de la trouver sur Google (qui renvoyait généralement des éléments liés à la façon de définir la taille des onglets, ce qui n'était malheureusement pas ce que je cherchais).
Réponses:
Vim dispose d'une
retab
commande qui vous permet de tabuler ou de dénaturer votre document. Il utilise des paramètres tels quetabstop
etexpandtab
. Donc, si vous souhaitez remplacer les tabulations par des espaces, vous pouvez procéder comme suit:Voir la
retab
documentation pour plus de détails.Caveat Emptor : cela remplace également les onglets qui ne sont PAS au début d'une ligne. Donc, si vous utilisez des onglets durs au milieu des chaînes, ils seront également remplacés.
la source
\t
c'est préférable, juste pour éviter ce genre de problèmes.Pour développer la réponse de @ Kaleb (je n'ai pas encore de représentant à commenter), avant d'exécuter la commande retab, vous devrez le faire
:set expandtab (set et)
. Sinon, le retab ne remplacera pas les tabulations par des espaces.De plus, vous pouvez spécifier les tabstops. Souvent, dans le code source créé par d'autres, le code est écrit avec des tabstops définis sur 4 ou même 2. Avant d'
:%retab
exécuter la commande, testez différents tabstops. Essayerpour voir quel réglage a le plus de sens.
Pour reculer (en remplaçant les espaces par les caractères TAB appropriés, utilisez
la source
Par dé-tabulation, entendez-vous changer les tabulations en espaces? Si c'est le cas, remplacez les espaces par des tabulations dans le tampon entier comme ceci:
C'est quatre espaces sur le côté droit de la substitution, mais vous pouvez en faire le nombre que vous voulez. Pour obtenir le
^I
caractère d'onglet littéral , vous pouvez appuyer sur^V
suivi de la touche Tab.Vous pouvez ré-indenter avec la
=
commande. Pour ré-indenter le contenu entier du tampon, utilisez ces commandes:Cela vous amène au sommet, puis réintroduit tout en bas.
la source