2010-05-10 6 views
1

J'essaie d'obtenir vim pour afficher mes onglets comme afin qu'ils ne puissent pas être confondus avec les caractères réels. J'espérais ce qui suit fonctionnerait:Comment utiliser les caractères Unicode dans un script vim?

if has("multi_byte") 
    set lcs=tab:⇥ 
else 
    set lcs=tab:>- 
endif 

Cependant, cela me donne

E474: Invalid argument: lcs=tab:⇥ 

Le fichier est UTF-8 codé et comprend une nomenclature. Googling "vim encoding" ou similaire me donne beaucoup de résultats sur l'encodage des fichiers édités, mais rien sur l'encodage des scripts exécutés. Comment amener ce personnage dans mon .vimrc pour qu'il soit correctement affiché?

Répondre

7

Le réglage de l'onglet nécessite deux caractères. De :help listchars:

tab:xy Two characters to be used to show a tab. The first 
     char is used once. The second char is repeated to 
     fill the space that the tab normally occupies. 
     "tab:>-" will show a tab that takes four spaces as 
     ">---". When omitted, a tab is show as ^I. 

Quelque chose comme :set lcs=tab:⇥- œuvres, mais défaites genre de votre but comme il en résulte des onglets qui ressemblent à ⇥--- au lieu de ---⇥ que je suppose est probablement ce que vous vouliez.

+0

Oh, hey! J'ai mis un espace après cela, et apparemment * c'était * le personnage vim se plaignait. D'une façon ou d'une autre, il ne m'est pas venu à l'esprit de vérifier ... J'ai obtenu ce que je voulais ("⇥") en copiant et en collant un "en espace" (U + 2002) après le caractère de tabulation. – Thomas

+4

@Thomas - Vous pouvez utiliser un caractère espace régulier si vous l'échappez: 'tab: ⇥ \' –

1

Essayez:

set = lcs onglet: ⇥ \

Assurez-vous de mettre un espace après le '\' afin que vous puissiez échapper à l'espace.

Questions connexes