현재 파일의 이름을 vim으로 표시 하시겠습니까?


157

vim에서 작업중 인 파일의 파일 이름을 어떻게 표시합니까?


1
터미널이 올바르게 설정되면 창 제목에 파일 이름을 가져와야합니다.
Cascabel



2
ctrl + g는 파일 정보를 표시 할 수 있습니다
Dhiren Hamal

답변:


200

:f( :file)는와 동일합니다 <C-G>. :f!해당되는 경우 잘리지 않은 버전을 제공합니다.


2
멋지지만 터미널의 상단 표시 줄에 표시 할 수 있습니까? (또는 종결 자) 또는 명령을 입력하지 않은 어딘가에 있습니다.
eMarine

21
:f!항상 작동하지 않는 경우 1을 누른 다음 전체 경로를 보려면 Ctrl-G를 누르십시오.
ives

1
전체 경로는 어떻습니까? 내가로부터 정력 시작할 때 ~/dev/file.py와 execure을 :f정력 내, 내가 얻을 file.py대신 출력으로 ~/dev/file.py.
gxyd

1
@ives 1과 Ctrl + g는 별개로 무엇을 의미합니까?
jobima

2
@jobima : ctrl-g경로 + 파일을 반환 하도록 수정 합니다. :f와 같이 경로없이 파일 이름을 반환 ctrl-g합니다. A는 1이전 ctrl-g경로 및 이름을 (필요하지만 확장되지 않음) 표시됩니다. 즉, ~/dev/file.py대신 표시 됩니다 file.py. 2뒤에 ctrl-g어떤 버퍼가 포함됩니다 : buf 1: "~/dev/file.py".
ives

71

ctrl+ g그렇게 할 것이다.

또한, 나는 가지고 싶습니다 :

set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"

어느 생산 :

foo.c [C] [0x23] <code / foo.c 1, 50의 1 2 %

또한 누군가 언급했지만 삭제되었지만 %현재 파일 이름으로 바뀝니다. 예를 들면 다음과 같습니다.

:! echo "현재 파일 : %"
현재 파일 : foo.c
계속하려면 Enter 키를 누르거나 command를 입력하십시오.

2
무엇을 [C]하고 [0x23]부품을 의미?
LangeHaare

@LangeHaare 커서 아래 문자의 파일 형식과 16 진수 값

'statusline'은 문자열이지만 세트에 따옴표를 포함하지 않습니다. set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines이스케이프 된 공백이 필요합니다
D. Ben Knoble

18

상태 표시 줄을 설정하십시오. 더 많은 정보:help statusline

이 명령은 .vimrc 파일에 들어가거나 vim에있는 동안 명령 모드에서 ':'를 입력하여 명령으로 입력 할 수 있습니다.

먼저 다음을 사용하여 마지막 상태를 2로 설정하십시오.

set laststatus=2

그런 다음 짧은 파일 이름을 위해 상태 줄을 % f로 설정하십시오.

set statusline=%f

파일의 전체 경로에는 % F를 사용하십시오.


E518 : 알 수없는 옵션 : % f
Isius

답변을 업데이트했습니다. Isius. 잘하면 그것이 더 명확 해집니다.
브라이언 클레멘트


5

왜 그렇게 복잡한가? Control-G가 작업을 수행합니다.


4

확인 된 심볼릭 링크를 포함하여 파일의 전체 경로를 표시하려면 다음을 사용하십시오.

:echo resolve(expand('%:p'))

아래 줄을 추가하여 상태 표시 줄에 추가 할 수 있습니다 ~./vimrc

set statusline +=%{resolve(expand('%:p'))}\ %*

2

위의 제안 중 하나를

set statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines

작동하도록 또한

set laststatus=2

사용되었습니다.


스택 오버플로에 오신 것을 환영합니다 ! 이것은 아마도 관련 답변에 대한 제안 된 편집 또는 의견 일 것입니다. 아직 의견이나 편집 할만한 명성이 충분하지는 않지만, 좋은 질문을하고 좋은 답변을 작성하면 곧 답변을 드리겠습니다! 그 동안 답변 작성자에게 관련 수정 사항을 제안하겠습니다. 잘 잡아!
D. Ben Knoble

1

나는 vimrcamix 에서 놀라운 것을 사용합니다 : https://github.com/amix/vimrc

lightline.vim플러그를 사용하고 상태 표시 줄에 파일 이름을 표시합니다.

를 사용하는 것에 대한 좋은 점은 amix/vimrc이 플러그인이 대부분의 사용자 정의를 처리하고 매우 안정적이며 github 별 수와 드문 문제를 확인하여 수천 명의 사람들이 테스트 한 것입니다.

또한 자주 업데이트됩니다.

추신 : 플러그인 중 하나의 저자가 아닙니다 .. 그냥 팬 :)


1

또한 이것을 .vimrc 파일에 넣어야했습니다.

set noruler
set laststatus=2

그런 다음 set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L".vimrc 파일 에 무언가를 넣을 수 있으며 터미널을 다시 시작한 후 상태 표시 줄이 올바르게 표시됩니다.


'statusline'은 문자열이지만 세트에 따옴표를 포함하지 않습니다. set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines이스케이프 된 공간이 필요함
D. Ben Knoble
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.