Comment afficher le nom du fichier sur lequel vous travaillez dans vim?
Comment afficher le nom du fichier sur lequel vous travaillez dans vim?
Réponses:
:f
( :file
) fera la même chose que <C-G>
. :f!
donnera une version non tronquée, le cas échéant.
:f!
ne fonctionne pas toujours, appuyez sur 1, puis sur Ctrl-G pour le chemin complet.
~/dev/file.py
et exécute :f
dans vim, j'obtiens file.py
comme sortie au lieu de ~/dev/file.py
.
ctrl-g
pour retourner chemin + fichier. :f
renverra le nom de fichier sans chemin, comme cela pourrait être le cas ctrl-g
. Un 1
avant ctrl-g
affichera le chemin et le nom (pas nécessairement développés cependant). c'est-à-dire qu'il montrera à la ~/dev/file.py
place de file.py
. 2
suivie ctrl-g
comprendra que le tampon: buf 1: "~/dev/file.py"
.
ctrl+ le gfera.
Aussi, j'aime avoir:
set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
Ce qui produit:
foo.c [C] [0x23] <code / foo.c 1, 1 2% de 50
De plus, comme quelqu'un l'a mentionné (mais maintenant supprimé) %
sera remplacé par le nom de fichier actuel. Par exemple:
:! echo "fichier courant:%" fichier actuel: foo.c Appuyez sur ENTRÉE ou tapez la commande pour continuer
[C]
et [0x23]
?
'statusline'
est une chaîne, mais vous n'incluez pas de guillemets dans l'ensemble: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
nécessite également des espaces d'
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 comme commandes dans vim en tapant ':' en mode commande.
Tout d'abord, définissez le dernier état sur 2 en utilisant ce qui suit:
set laststatus=2
Définissez ensuite la ligne d'état sur% f pour le nom de fichier court.
set statusline=%f
Pour le chemin complet du fichier, utilisez% F.
Pour afficher le chemin complet de tout 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 à votre ~./vimrc
set statusline +=%{resolve(expand('%:p'))}\ %*
L'une des suggestions ci-dessus a dû être remplacée par
set statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
pour le faire fonctionner. Aussi
set laststatus=2
a été utilisé.
J'utilise l'incroyable vimrc
d'Amix: https://github.com/amix/vimrc
Il utilise le lightline.vim
branchement et affiche le nom du fichier sur la barre d'état.
L'avantage d'utiliser le amix/vimrc
est que ce plugin s'occupe de la plupart de la personnalisation, il est très stable et a été testé par des milliers de personnes, comme vous pouvez le vérifier en regardant le nombre d'étoiles github .. et les problèmes peu fréquents.
Il est également mis à jour assez fréquemment.
PS: pas l'auteur de l'un ou l'autre des plugins .. juste un fan :)
J'avais également besoin de mettre cela dans mon fichier .vimrc:
set noruler
set laststatus=2
Ensuite, je pourrais mettre quelque chose comme set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
dans mon fichier .vimrc et après le redémarrage de mon terminal, la ligne d'état s'affiche correctement.
'statusline'
est une chaîne, mais vous n'incluez pas de guillemets dans l'ensemble: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
nécessite également des espaces d'