2010-11-06 27 views
90

Comment affichez-vous le nom du fichier sur lequel vous travaillez dans vim?Comment affichez-vous le nom du fichier sur lequel vous travaillez dans vim?

+1

Si le réglage de terminal correctement, vous devez obtenir le nom de fichier dans le titre de la fenêtre. – Cascabel

+0

Voir aussi: [Comment puis-je afficher en permanence le chemin du fichier actuel dans Vim?] (Http://stackoverflow.com/questions/10488717/how-can-i-permanently-display-the-path-of-the -current-file-in-vim) – User

+1

Relatif: [Comment puis-je voir le chemin complet du fichier courant?] (http://vi.stackexchange.com/q/104/467) chez Vim SE – kenorb

Répondre

137

:f (:file) fera même que <C-G>. :f! donnera une version non tronquée, le cas échéant.

+2

Nice, mais il est possible de le montrer dans la barre supérieure du terminal? (ou terminator) ou quelque part sans taper une commande. – eMarine

+13

'' ': f!' '' Ne fonctionne pas toujours, appuyez sur 1, puis Ctrl-G pour le chemin complet. – ives

+0

Que diriez-vous d'un chemin complet? Quand je lance vim à partir de '~/dev/file.py' et exécute': f' dans vim, j'obtiens 'file.py' comme sortie au lieu de' ~/dev/file.py'. – gxyd

12

définir la ligne d'état. plus d'infos avec :help statusline

Ces commandes peuvent aller dans votre fichier .vimrc, ou vous pouvez les entrer en tant que commandes dans vim en tapant ':' en mode commande.

d'abord, définissez le dernier état à 2 en utilisant les éléments suivants:

set laststatus=2

ligne d'état ensuite mis à% f pour le nom de fichier court.

set statusline=%f

Pour le chemin complet du fichier, utilisez% F.

+0

E518: Inconnu Option:% f – Isius

+0

J'ai mis à jour la réponse, Isius. J'espère que cela le rend plus clair. –

50

ctrl + g le fera.

En outre, je voudrais avoir:

set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L" 

qui produit:

 
foo.c [C] [0x23]<code/foo.c 1, 1 2% of 50 

En outre, comme quelqu'un l'a mentionné (mais maintenant supprimé) % sera remplacé par le nom du fichier en cours. Par exemple:

 
:!echo "current file: %" 
current file: foo.c 
Press ENTER or type command to continue 
+0

Que signifient les parties [C] et [0x23] '? – LangeHaare

3

Pour afficher le chemin complet d'un fichier, y compris les liens symboliques résolus, utilisez ce qui suit.

:echo resolve(expand('%:p')) 

Cela peut être ajouté à votre barre d'état en ajoutant la ligne ci-dessous pour votre ~./vimrc

set statusline +=%{resolve(expand('%:p'))}\ %*