vim에서 현재 열려있는 파일을 찾는 방법은 무엇입니까?


61

이것은 사소한 것처럼 들릴 수 있지만, 여러 번 vim열려 있는 파일을 잊어 버린 것을 발견했습니다 (예 : 다른 로그 파일 등을 살펴볼 때) 그리고 내가 알아내는 유일한 방법은 닫는 것입니다 파일을보고 가장 최근의 명령에 대한 명령 기록을 확인하십시오.

vim 내에 프로그램을 종료하지 않고 현재 연 파일 또는 열린 파일 (예 : :<which_file_cmd>?) 을 알려주는 명령이 있습니까?


5
vim너무 많은 인수로 전화하지 않은 경우을 사용하십시오 :args.
41754

답변:


76

또한하기 의 uprego 대답은 , 당신은 누를 수 Ctrl+ G현재 버퍼의 이름뿐만 아니라 그 안에 라인의 총 수와 그 안에 당신의 현재 위치를 얻기 위해 (일반 모드)를.

최신 정보

rxdazn의 comment에 따라 + 를 누르기 1전에 전체 파일 경로를 얻을 수 있습니다 . 를 누르면 현재 열려 있는 전체 파일 경로 버퍼 번호가 표시됩니다 (로 여러 파일을 열 때 유용함 ).CtrlG2vim


많은 vim 명령과 마찬가지로 이것은 less편집과 달리 파일을 볼 때 사용 하는 명령 에도 적용됩니다 .
jmathew

18
또한 Ctrl + G를 누르기 전에 1을 누르면 파일의 전체 경로가 표시됩니다.
rxdazn

23

경우에 vim나는 항상 사용하는 :ls명령을.

:ls
  1 %a   "blah.txt"                         line 1

blah.txt파일 이름은 어디에 있습니까 ?


20
:f

현재 열려있는 파일 이름을 제공합니다.


1
화려하고 매우 미니멀
양서류

7

경우 vim에 호출되지 않습니다 많은 인수, :args도움이됩니다.


4
이것의 또 다른 문제는 vim을 시작한 후 파일을 열면 나열되지 않는다는 것입니다.
Patrick

4

기본 vim 구성 파일을 가질 수있는 경우 statusline파일 세부 정보를 항상 사용할 수 있도록 추가 할 수 있습니다. 다른 서버로 지속적으로 원격 이동하는 경우 큰 도움이되지 않습니다. 내 .vimrc에서 가져온 약간 복잡한 것이 있습니다.

" %F(Full file path)
" %m(Shows + if modified - if not modifiable)
" %r(Shows RO if readonly)
" %<(Truncate here if necessary)
" \ (Separator)
" %=(Right align)
" %l(Line number)
" %v(Column number)
" %L(Total number of lines)
" %p(How far in file we are percentage wise)
" %%(Percent sign)
set statusline=%F%m%r%<\ %=%l,%v\ [%L]\ %p%%

" Change the highlighting so it stands out
hi statusline ctermbg=white ctermfg=black

" Make sure it always shows
set laststatus=2

MacVim에서는 이와 비슷하지만 터미널에서도 작동합니다. 여기에 이미지 설명을 입력하십시오

언제나 그렇듯이 :help statusline더 많은 옵션과 세부 정보를 얻을 수 있습니다 . 체크 아웃 학습 빔 하드 방법 17 장 statusline의 좋은 설명합니다.


나는 항상 상태 표시 줄을 사용합니다. +1
Rob

1

또한 :echo @%현재 디렉토리에 상대적인 파일 이름을 제공합니다.


1

이런 종류의 정보를 얻는 수많은 방법이 있지만 키를 눌러야 만 파일 이름이 표시되면 다음을 삽입하십시오 ~/.vimrc.

map <F4> <ESC>:file<CR>

이것은 말합니다

bind the `F4' key to the following sequence: Escape-key, :file, Carriage-Return (enter-key)

그리고 file아마도 명백한 것처럼, 명령은 다른 정보와 함께 현재 파일의 이름을 반환합니다.

당신은 또한 아무것도 볼 필요가 없도록 상태 표시 줄을 설정할 수 있습니다.

상태 표시 줄을 유지하려면 항상 다음을 다음에 삽입하십시오 ~/.vimrc.

set laststatus=2

이렇게하면 ViM에 항상 상태 표시 줄이 표시되고 다른 옵션은 0절대로 표시되지 않으며 1ViM에서 둘 이상의 창이 열려있는 경우에만 표시됩니다.


1

나는 보통 그냥 입력 :e 하면 전체 파일 경로와 줄 수 및 문자 수를 보여줍니다.

주의 사항 : 디스크에서 파일을 본질적으로 다시 열므로 파일이 이미 저장되어있을 때 가장 유용합니다.

:help :e 말한다 :

                          *:e* *:edit*
Edit the current file.  This is useful to re-edit the
current file, when it has been changed outside of Vim.
This fails when changes have been made to the current
buffer and 'autowriteall' isn't set or the file can't
be written.

1

내 vimrc이 매핑이 있습니다

nnoremap <leader>pfn :echo expand('%:p')<CR>

따라서 ,pfn, 또는 "print file name"을 입력 하면 전체 파일 경로가 에코됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.