Jak wyświetlić nazwę pliku, nad którym pracujesz w vimie?
Jak wyświetlić nazwę pliku, nad którym pracujesz w vimie?
Odpowiedzi:
:f
( :file
) zrobi to samo, co <C-G>
. :f!
w stosownych przypadkach poda nieopracowaną wersję.
:f!
nie zawsze działa, naciśnij 1, a następnie Ctrl-G, aby uzyskać pełną ścieżkę.
~/dev/file.py
i wykonuję :f
w nim, otrzymuję file.py
jako wyjście zamiast ~/dev/file.py
.
ctrl-g
aby zwrócić ścieżkę + plik. :f
zwróci nazwę pliku bez ścieżki, tak jak może ctrl-g
. 1
Zanim ctrl-g
pokaże ścieżkę i nazwę (choć niekoniecznie rozszerzony). tzn. ~/dev/file.py
zamiast file.py
. 2
następnie ctrl-g
obejmą który bufor: buf 1: "~/dev/file.py"
.
ctrl+ gzrobi to.
Lubię też:
set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
Który produkuje:
foo.c [C] [0x23] <kod / foo.c 1, 1 2% z 50
Ponadto, jak ktoś wspomniał (ale teraz usunięty), %
zostanie zastąpiony aktualną nazwą pliku. Na przykład:
:! echo "bieżący plik:%" aktualny plik: foo.c Naciśnij klawisz ENTER lub wpisz polecenie, aby kontynuować
[C]
i [0x23]
części?
'statusline'
jest ciągiem znaków, ale nie zawiera cudzysłowów w zestawie: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
wymaga również spacji ze
ustawić wiersz statusu. więcej informacji z:help statusline
Te polecenia mogą znajdować się w twoim pliku .vimrc lub możesz je wprowadzać jako polecenia w vimie, wpisując ':' w trybie poleceń.
Najpierw ustaw ostatni status na 2, używając następujących poleceń:
set laststatus=2
Następnie ustaw wiersz statusu na% f dla krótkiej nazwy pliku.
set statusline=%f
Aby uzyskać pełną ścieżkę do pliku, użyj% F.
Aby wyświetlić pełną ścieżkę do dowolnego pliku, w tym rozwiązane dowiązania symboliczne, użyj następującego.
:echo resolve(expand('%:p'))
Można to dodać do paska stanu, dodając poniższy wiersz do swojego ~./vimrc
set statusline +=%{resolve(expand('%:p'))}\ %*
Jedna z powyższych sugestii musiała zostać zmieniona na
set statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
żeby to działało. Również
set laststatus=2
użyto.
Używam niesamowitego vimrc
z amix: https://github.com/amix/vimrc
Używa lightline.vim
wtyczki i wyświetla nazwę pliku na pasku stanu.
Wspaniałą rzeczą w korzystaniu z amix/vimrc
wtyczki jest to, że ta wtyczka zajmuje się większością dostosowań, jest bardzo stabilna i została przetestowana przez tysiące ludzi, co możesz sprawdzić, patrząc na liczbę gwiazdek github ... i rzadkie problemy.
Jest również dość często aktualizowany.
PS: nie jestem autorem żadnej z wtyczek ... tylko fanem :)
Musiałem również umieścić to w moim pliku .vimrc:
set noruler
set laststatus=2
Następnie mogłem umieścić coś takiego set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
w moim pliku .vimrc i po ponownym uruchomieniu terminala linia statusu wyświetlała się poprawnie.
'statusline'
jest ciągiem znaków, ale nie zawierają cytaty W zestawie set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
również wymaga uciekły przestrzenie