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.pystarte und :fin vim ausführe , erhalte ich file.pystattdessen die Ausgabe anstelle von ~/dev/file.py.
ctrl-g, um Pfad + Datei zurückzugeben. :fgibt den Dateinamen ohne Pfad zurück ctrl-g. Ein 1Vorher ctrl-gzeigt Pfad und Name an (allerdings nicht unbedingt erweitert). dh es wird ~/dev/file.pystatt angezeigt file.py. 2gefolgt von ctrl-gwird 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\ linesbenö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 vimrcvon amix: https://github.com/amix/vimrc
Es verwendet das lightline.vimPluging und zeigt den Dateinamen in der Statusleiste an.
Das Tolle an der Verwendung von amix/vimrcist, 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\ linesbenötigt auch Leerzeichen