Comment puis-je afficher en permanence le chemin du fichier actuel dans Vim?

Je sais que CTRL g affiche le fichier actuel sur lequel vous travaillez. Est-il possible de modifier mon .vimrc sorte que le nom du fichier / chemin soit toujours affiché?

Dans votre barre d’état, ajoutez un %F pour afficher le chemin complet:

 :help statusline " Add full file path to your existing statusline set statusline+=%F 

Notez que %F sera le chemin complet. Pour obtenir un chemin relatif au répertoire de travail, utilisez %f .

Si votre état n’est pas déjà visible, vous devez d’abord le configurer pour qu’il soit toujours visible, via laststatus=2

 set laststatus=2 

Voir :help laststatus pour savoir ce que signifient les options. Normalement, la ligne d’état peut être masquée ou masquée à moins que plusieurs tampons ne soient ouverts, mais je trouve extrêmement utile de pouvoir utiliser tout le temps avec des personnalisations comme celle-ci, ce qui vaut bien une réserve de ligne d’écran.

définir ls = 2

ajoutez ceci dans vimrc, et vous verrez toujours le nom du fichier en bas.

J’ai trouvé deux façons d’afficher le chemin du fichier dans la barre de titre du terminal gnome lors de l’édition d’un fichier avec Vim.

La manière la plus simple (et la meilleure): Ajoutez la ligne suivante à votre ~/.vimrc :

 set title 

Ce qui vous montrera en haut:

 filename.ext (~/path_to_directory_where_your_file_is/) - VIM 

La manière la plus compliquée vous montrera le chemin de fichier absolu. Il est documenté plus en détail dans cet article que j’ai récemment écrit.

La seule façon de trouver le chemin complet du fichier sur lequel je travaille est la suivante :echo expand('%:p') . Vous pouvez re-mapper ctrl + g si vous voulez, mais personnellement, je n’aime pas trop m’éloigner des normes. J’ai mappé F7 comme ça:

 map  :echo expand('%:p') 

J’ai toujours utilisé :f , mais la réponse et les liens de @MichaelBerkowski sont incroyables!

:f affiche le chemin, le nombre de lignes, l’état modifié, la position actuelle du curseur, etc.

Je ne connaissais pas CTRL G mais cela semble être à peu près le même.

La statusline est très puissante et pratique je pense. Sortir de la boîte, il affichera le nom du fichier, la position du curseur et quelques drapeaux. Mais vous voulez faire la même chose que moi et remplacer le nom de fichier -part par le chemin d’ access complet au fichier.

Donc, lors de l’édition de mon .vimrc ma ligne d’état pourrait ressembler à ceci par défaut:

 .vimrc 26,16 7% 

Vous pouvez voir votre configuration de la ligne d’état avec:

 :set statusline? 

Mais si vous n’avez fait aucune modification et qu’aucun module ne l’a modifié, ce serait vide. Mais par les exemples de la section d’aide ( :help statusline ), vous pouvez constater que la valeur par défaut est:

 :set statusline=%< %f\ %h%m%r%=%-14.(%l,%c%V%)\ %P 

Donc, incluez ceci dans votre .vimrc et changez %f en %F J'ai également ajouté le drapeau de type de fichier ( %y ) à mon état, car je le trouve pratique. Donc, ma configuration résultante ressemble à ceci:

 :set statusline=%< %F\ %h%m%r%y%=%-14.(%l,%c%V%)\ %P 

Et le résultat ressemblerait à ceci:

 ~/.vimrc [vim] 26,16 7% 

Bonne lecture:

  • La documentation
  • Un excellent livre pour apprendre les bases
  • Il y a beaucoup ici sur stackoverflow!

PS Je cours vim 7.3

Si vous utilisez vim-airline , inscrivez .vimrc :

 let g:airline_section_c = '%< %F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#' 

Ceci est une modification de la valeur par défaut de la compagnie aérienne, en changeant %f par %F

Si vous souhaitez que le chemin inclue des liens symboliques résolus, utilisez ce qui suit:

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

Pour conserver l’abréviation «~» de votre répertoire personnel, incluez fnamemodify

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