Lorsque je travaille sur des fichiers en python, je confonds parfois des tabulations pour des espaces et inversement. Est-il possible que Vim affiche un caractère pour un onglet au lieu d'un onglet?
119
Lorsque je travaille sur des fichiers en python, je confonds parfois des tabulations pour des espaces et inversement. Est-il possible que Vim affiche un caractère pour un onglet au lieu d'un onglet?
retab
chaque fois que vous enregistrez le fichier.:h vim-faq
et effectuer une recherche/invisible
. Le tag difficile à mémoriser est:h faq-19.8
.Réponses:
Oui, utilisez listchars:
Si vous mettez ces deux lignes dans votre fichier .vimrc, les onglets seront affichés comme
>
pour la position de départ et à-
travers le reste de l'onglet.(Sidenote: les listchars peuvent également afficher des espaces de fin
trail:x
(remplacerx
par le caractère que vous souhaitez utiliser pour un espace de fin), ce qui peut également être utile.)la source
set listchars=tab:!·,trail:·
, IMHO·
est beaucoup plus clair qu'un-
... Vous avez besoin d'une version assez récente de Vim pour que cela fonctionne (mais vous ne savez pas exactement quoi, je pense que je pense 7.3.x) ...▸
car il est légèrement plus petit que>
. Actuellement, je vois un espace blanc derrière en marquant le eol (bien que je puisse essayer ce qui précède). Mes réglages sont:set listchars=eol:¬,tab:▸\
etLa réponse de base est la suivante
:set list
: les onglets s'affichent ainsi^I
.Cependant, je recommande d'aller au-delà de cela. C'est juste
:set list
problématique en ce qu'il ne parvient pas à préserver l'alignement visuel à l'écran. Par exemple:ne semble pas bon, surtout quand vous attendez le
g
deg++
à paraître sous le premierp
decpp
( en supposanttabstop=8
).Par conséquent, je suggère que
.vimrc
vous mettiez quelque chose comme:set listchars=tab:␉·
ceci (pour que tout soit clair, il s’agit du caractère Unicode U + 2409, symbole de la tabulation horizontale suivi de U + 00B7 point milieu .)Comme expliqué dans
:help listchars
, un paramètre à deux caractères pourtab:xy
préserver l'alignement visuel:L'exemple ci-dessus apparaît à l'écran comme suit:
Personnellement, je vais à fond avec
listchars
:eol
, j'utiliser U + 23CE RETOUR SYMBOLEtrail
, j'utiliser U + 2420 SYMBOLE POUR L' ESPACEnbsp
, j'utiliser U + 23B5 Cuvettes CARRECes caractères sont suffisamment distinctifs pour apparaître rarement dans le texte du document.
Pour taper ces caractères spéciaux dans votre
vimrc
, tapez Ctrl-vu23CE
en mode Insertion, comme expliqué dans:help utf-8-typing
.la source
set lcs=tab:├─
Surbrillance des onglets
Mise en Tabévidence temporaire
Pour une utilisation occasionnelle, il suffit de mettre en évidence tous les onglets d’un document à l’aide de la
/
commande de recherche suivante :Pour supprimer la surbrillance, tapez simplement
:noh
ce qui est court pour «pas de:nohlsearch
forte luminosité».permanente Tabmise en évidence
Plus de mise en évidence
Pour plus de ces commandes de surbrillance utiles - y compris combinées avec des espaces et des espaces de fin et les rendre permanentes - voir le wiki Vim .
la source
:match Error /\t/
pour mettre en surbrillance des onglets (ou tout autre motif) indépendamment du registre de recherche et de hlsearch (tapez:match
pour le supprimer).Personnellement , j'aime bien l'utilisation du plugin indentLine , qui affiche une ligne verticale aux niveaux d'indentation.
Cela est très utile, surtout en python, où l'indentation est importante.
Entre autres choses, il fournit une commande à bascule, qui peut être associée à une combinaison de touches, afin que vous puissiez l'éteindre lorsque vous n'en avez pas besoin.
la source
Vous voudrez peut-être afficher les onglets différemment dans un terminal standard et dans gvim.
(Ajoutant pour compléter, au cas où d'autres le trouveraient utile).
la source
La méthode la plus simple consiste à
:set list
afficher les onglets au^I
début et à la fin$
.J'aime utiliser un mapping qui appelle
pour basculer entre l’affichage normal et l’affichage de la liste.
Par exemple:
Cela me permet de vérifier rapidement s'il y a des problèmes de tabulation par rapport à l'espace, puis de revenir à un affichage normal.
la source