Quand j'ai mon vimrc ici:
set tabstop=2
set shiftwidth=2
set softtabstop=2
set expandtab
set smarttab
Et j'ai le plugin Supertab installé. Chaque fois que je suis en mode insertion, j'appuie sur tab, cela indique l'auto-complétion, mais parfois, j'aimerais insérer un vrai caractère de tabulation dans un littéral de chaîne comme. Donc, ce que je veux dire chaque fois que j'appuie sur tabulation entre guillemets littéraux de guillemets, nous devrions entrer un caractère de tabulation réel.
En mode insertion ou en mode commande (l’invite :
au bas de l’éditeur), tapez CTRL + V puis TAB.
En utilisant CTRL + V signale à Vim qu'il doit prendre le caractère suivant à la lettre. Même en mode insertion.
METTRE À JOUR:
Comme l'a noté Herbert Sitz, si gVim est en mode Windows (par défaut), vous devez utiliser CRTL + Q au lieu de CTRL + V.
@ Samnang: j'ai une configuration similaire à celle que vous avez; Malheureusement, la réponse de Jason n'a pas fonctionné, pour moi.
Ceci est une solution de contournement:
Sélectionnez le texte (mode visuel) et effectuez une recherche/remplacement,
: '/// t/g
Réponse mise à jour, inspirée par le commentaire de @ Cyryl1972.
Insérer un onglet au début de toutes les lignes (remarque: il n'est pas nécessaire de sélectionner des lignes, quel que soit le code ci-dessous, car celui-ci est inclus dans la ligne correspondant à une partie de l'expression):
:1,$s/^/\t\1/
Onglet inerte après les 10 premiers caractères de toutes les lignes:
:1,$s/^\(.\{10}\)/\1\t/
Explication - première partie:
:1,$ Match from line 1 to end of file
^(.{10} Collect (preserve) all text from beginning of line to position 10
(you need to escape the parentheses, \( and \), as well the FIRST
(left) curly brace, only: \{ -- as it, { , appears to have special
meaning in regex when used for this purpose
Explication - deuxième partie:
/1 Add back the preserved text
\t Insert a tab
... et le reste de la ligne est automatiquement restauré.
Ligne actuelle, seulement:
:s/^/\t\1/
Exemple: insérez une tabulation à la position 10 (indexé 0) aux lignes 2 à 4:
1234567890abcdefghij
1234567890abcdefghij
1234567890abcdefghij
1234567890abcdefghij
1234567890abcdefghij
:2,4s/^\(.\{10}\)/\1\t/
1234567890abcdefghij
1234567890 abcdefghij
1234567890 abcdefghij
1234567890 abcdefghij
1234567890abcdefghij
Références (StackOverflow):
Références (autres):