Je sais CTRLg affiche le fichier actuel sur lequel vous travaillez. Existe-t-il un moyen de modifier mon .vimrc
de telle sorte que le nom/chemin du fichier soit toujours affiché?
Dans votre ligne d'état, ajoutez un %F
pour afficher le chemin complet:
:help statusline
" Add full file path to your existing statusline
set statusline+=%F
Remarque, %F
sera le chemin complet. Pour obtenir un chemin relatif au répertoire de travail, utilisez %f
.
Si votre ligne d'état n'est pas déjà visible, vous devrez peut-être d'abord la configurer pour qu'elle soit toujours visible, via laststatus=2
set laststatus=2
Voir :help laststatus
pour ce que signifient les options. Normalement, la ligne d'état peut être cachée ou cachée à moins que plusieurs tampons ne soient ouverts, mais je trouve extrêmement utile d'avoir tout le temps avec des personnalisations comme celle-ci, cela vaut la peine de renoncer à une réserve de ligne d'écran.
définir ls = 2
ajoutez-le dans vimrc, et vous verrez toujours le nom du fichier en bas.
J'ai trouvé 2 façons d'afficher le chemin du fichier dans la barre de titre du gnome-terminal 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 absolu du fichier. C'est documenté un peu plus en détail dans ce billet de blog J'ai récemment écrit.
Le seul moyen que j'ai trouvé pour obtenir le chemin complet du fichier dans lequel je travaille est: :echo expand('%:p')
. Vous pouvez remapper ctrl + g si vous le souhaitez, mais personnellement, je n'aime pas trop m'éloigner des normes. J'ai cartographié F7 comme ceci:
map <F7> <Esc>:echo expand('%:p')<Return>
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 savais pas CTRLG mais il semble être à peu près la même chose.
Si vous utilisez vim-airlines , entrez .vimrc
:
let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'
Il s'agit d'une modification de la valeur par défaut de la compagnie aérienne, modifiant %f
par %F
.
La ligne d'état est très puissante et pratique je pense. Strait out of the box, il affichera le nom du fichier, la position du curseur et certains drapeaux. Mais vous voulez faire la même chose que moi et remplacer la partie du nom de fichier - par le chemin complet dans le 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 afficher votre configuration de la ligne d'état avec:
:set statusline?
Mais si vous n'avez apporté aucune modification et qu'aucun module ne l'a changé, il sera 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
Incluez donc ceci dans votre .vimrc
et changez %f
à %F
. J'ai également ajouté le drapeau de type de fichier (%y
) à ma ligne d'état car je trouve cela 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 à quelque chose comme ceci:
~/.vimrc [vim] 26,16 7%
Bonne lecture:
PS. Je lance vim 7.3
Si vous souhaitez que le chemin inclue les 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')),':~')}\ %*