답변:
당신은 누를 수 있습니다 {count}Ctrl-G
:
{count}CTRL-G Like CTRL-G, but prints the current file name with
full path. If the count is higher than 1 the current
buffer number is also given.
1다음에 Ctrl+를 누르면 G현재 파일의 전체 경로가 표시됩니다. 경우 {count}
(1)보다 높은 버퍼 이름도 표시한다.
( Ctrl+ 만 누르면 G주석에서 Jasper가 지적한 Vim의 현재 작업 디렉토리에 상대적인 경로가 표시됩니다.)
다음 명령을 사용하여 .vimrc
상태 표시 줄에 전체 경로를 추가 할 수 있으므로 항상 표시됩니다.
set statusline+=%F
1C-g
!
레지스터 %
는 현재 파일의 이름을 포함합니다.
표시된 정보를 표시하기 위해 다음 명령을 입력 할 수 있습니다.
:echo @% |" directory/name of file
:echo expand('%:t') |" name of file ('tail')
:echo expand('%:p') |" full path
:echo expand('%:p:h') |" directory containing file ('head')
원되는 모든 현재 파일 유형의 이름을 표시하는 경우 :f
/ :ls
누르거나 Ctrl- g(전체 경로 다리미를 1다음 Ctrl- g).
삽입 모드에서 Ctrl- r를 입력 %하여 현재 파일의 이름을 삽입하십시오.
다음 명령은 현재 및 대체 파일의 전체 경로로 구성된 행을 버퍼에 삽입합니다.
:put =expand('%:p')
:put =expand('#:p')
출처 : vim wikia에서 현재 파일 이름 가져 오기
관련 :
=expand...
표현식을 사용할 수도 있습니다 Ctrl-R
.
:!ls %:p
현재 파일의 전체 경로를 얻는 데 사용할 수 있습니다 .
ex 컨텍스트에 따라 %
파일의 내용 또는 파일 이름을 의미합니다. 셸 아웃하면 현재 디렉토리에 상대적인 파일 경로를 나타냅니다. ' %:p
' 명령 은 전체 경로 파일 이름 수정 자에 추가합니다 %
.
다음과 같은 몇 가지 다른 흥미로운 파일 이름 수정자가 있습니다.
:~
: 홈 디렉토리에 상대적인 파일 경로를 가져옵니다 (어떤 이유로 나에게 작동하지 않음):.
: 현재 디렉토리를 기준으로 파일 경로를 가져옵니다 ( %
기본값).:r
: 파일 이름 루트. 확장자가없는 파일의 이름입니다.:e
: 파일 확장자.:h
: 분할 /
하고 왼쪽 절반을 반환합니다 (즉, 경로에서 파일을 편집 /tmp/test.txt
하고 실행 %:p:h
하면/tmp
:t
: 분할 /
하고 오른쪽 절반을 반환합니다 (즉, 경로에서 파일을 편집 /tmp/test.txt
하고 실행 %:p:t
하면text.txt
로 현재 작업 디렉토리를 볼 수 있습니다 :pwd
. 물론 이것은 파일 이름이 아닌 디렉토리 일뿐입니다. 작업 디렉토리와 파일 이름을 얻기 위해 %
현재 파일에 대한 정보가 들어 있는 특수 레지스터를 사용할 수 있습니다 .
를 사용 :echo @%
하면 현재 파일의 디렉토리와 파일 이름이 표시됩니다.
를 사용 :echo expand('%:p')
하면 현재 파일의 전체 경로와 파일 이름이 표시됩니다. 이것은 CharlesL의 답변 과 매우 유사합니다 .
당신은 정력의 도움을 사용하는 경우 때문에,하지만,이 일을 기억 :h expand
, 그것은 그 언급 %
하고 %:p
자신의 친척.
확인 된 심볼릭 링크를 포함하여 모든 파일의 전체 경로를 표시하려면 다음을 사용하십시오.
:echo resolve(expand('%:p'))
더 나은 대답이 있지만 (어떤 이유로 든) 쉘을 사용하여 파일의 전체 경로를 얻으려는 경우 (쉘이있는 파일에서 다른 작업을 수행하려는 경우 더 유용합니다), 유닉스 계열 시스템에서 다음을 실행할 수 있습니다.
:!realpath %
또는:
:'<,'>!realpath %
현재 선택을 통해 문서에 경로를 삽입합니다.
레지스터 %
에는 항상 파일 이름이 포함됩니다. 실제 예는 구성 파일을 편집하고 있지만 쓰기 권한이없고 (Vim을 루트로 실행하지 않으려는 경우) 파일을 편집 한 후 다음을 실행할 수 있습니다.
:w ! sudo tee %
파일을 저장하려면 (소소한 주제가 있지만 %
레지스터로 다른 작업을 수행 할 수있는 좋은 예입니다 ).
realpath
POSIX가 아니므로 더 간단 할 수 있습니다.!echo "$PWD/%"
상태 표시 줄을 볼 수 있도록 설정하고 경로로 설정해야합니다. ~ / .vimrc에 아래 두 줄을 추가하여 영구적으로 그렇게했습니다.
set laststatus=2
set statusline+=%F
한 번만 실행하려면 그런 다음 문서 유형을 VI 할 때
:set laststatus=2 <ENTER>
:set statusline+=%F <ENTER>
나는 그것을 위해 vim 항공사 와 멋진 기능을 사용합니다 :
제목 표시 줄에 편집중인 파일의 전체 경로를 표시 할 수 있습니다. 제 의견에 파일 경로를 표시하는 편리한 방법입니다.
그러기 위해서는 title
옵션 을 설정해야합니다 titlestring
. 현재 다음 설정을 사용하고 있습니다.
set title
set titlestring=%{hostname()}\ \ %F\ \ %{strftime('%Y-%m-%d\ %H:%M',getftime(expand('%')))}
Vim의 호스트 이름, 파일의 전체 경로 및 파일의 마지막 수정 시간이 표시됩니다. 데모는 아래 그림을 참조하십시오
Ctrl+G
보다 '정력의 CWD에 대한 상대 경로'처럼?