Wie zeigen Sie den Dateinamen der Datei an, an der Sie in vim arbeiten?
Wie zeigen Sie den Dateinamen der Datei an, an der Sie in vim arbeiten?
Antworten:
:f
( :file
) wird dasselbe tun wie <C-G>
. :f!
wird gegebenenfalls eine nicht abgeschnittene Version geben.
:f!
funktioniert nicht immer, drücken Sie 1 und dann Strg-G für den vollständigen Pfad.
~/dev/file.py
starte und :f
in vim ausführe , erhalte ich file.py
stattdessen die Ausgabe anstelle von ~/dev/file.py
.
ctrl-g
, um Pfad + Datei zurückzugeben. :f
gibt den Dateinamen ohne Pfad zurück ctrl-g
. Ein 1
Vorher ctrl-g
zeigt Pfad und Name an (allerdings nicht unbedingt erweitert). dh es wird ~/dev/file.py
statt angezeigt file.py
. 2
gefolgt von ctrl-g
wird enthalten, welcher Puffer : buf 1: "~/dev/file.py"
.
ctrl+ gwird es tun.
Außerdem habe ich gerne:
set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
Welches produziert:
foo.c [C] [0x23] <code / foo.c 1, 1 2% von 50
Außerdem wird, wie bereits erwähnt (aber jetzt gelöscht) %
, durch den aktuellen Dateinamen ersetzt. Beispielsweise:
:! echo "aktuelle Datei:%" aktuelle Datei: foo.c Drücken Sie die EINGABETASTE oder geben Sie den Befehl ein, um fortzufahren
[C]
und [0x23]
Teile?
'statusline'
ist eine Zeichenfolge, aber Sie fügen keine Anführungszeichen in das Set ein: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
benötigt auch maskierte Leerzeichen
Stellen Sie die Statuszeile ein. mehr Infos mit:help statusline
Diese Befehle können in Ihre .vimrc-Datei eingefügt werden, oder Sie können sie in vim als Befehle eingeben, indem Sie im Befehlsmodus ':' eingeben.
Setzen Sie zuerst den letzten Status wie folgt auf 2:
set laststatus=2
Setzen Sie dann die Statuszeile für den kurzen Dateinamen auf% f.
set statusline=%f
Verwenden Sie für den vollständigen Pfad zur Datei% F.
Verwenden Sie Folgendes, um den vollständigen Pfad für eine Datei anzuzeigen, einschließlich aufgelöster Symlinks.
:echo resolve(expand('%:p'))
Dies kann zu Ihrer Statusleiste hinzugefügt werden, indem Sie die folgende Zeile zu Ihrer hinzufügen ~./vimrc
set statusline +=%{resolve(expand('%:p'))}\ %*
Einer der oben genannten Vorschläge musste geändert werden
set statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
um es zum Laufen zu bringen. Ebenfalls
set laststatus=2
wurde benutzt.
Ich benutze das Erstaunliche vimrc
von amix: https://github.com/amix/vimrc
Es verwendet das lightline.vim
Pluging und zeigt den Dateinamen in der Statusleiste an.
Das Tolle an der Verwendung von amix/vimrc
ist, dass dieses Plugin den größten Teil der Anpassung übernimmt, sehr stabil ist und von Tausenden von Menschen getestet wurde, wie Sie anhand der Anzahl der Github-Sterne und der seltenen Probleme überprüfen können.
Es wird auch ziemlich häufig aktualisiert.
PS: nicht der Autor eines der Plugins .. nur ein Fan :)
Ich musste dies auch in meine .vimrc-Datei einfügen:
set noruler
set laststatus=2
Dann könnte ich so etwas wie set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
in meine .vimrc-Datei einfügen und nach dem Neustart meines Terminals wird die Statuszeile korrekt angezeigt.
'statusline'
ist eine Zeichenfolge, aber Sie fügen keine Anführungszeichen in das Set ein: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
benötigt auch Leerzeichen