Vim에서 현재 파일의 경로를 영구적으로 표시하려면 어떻게해야합니까?


91

나는 알고있다 CTRLg표시를 작업중인 현재 파일을. .vimrc파일 이름 / 경로가 항상 표시 되도록 수정하는 방법이 있습니까?

답변:


129

상태 %F표시 줄에를 추가 하여 전체 경로를 표시합니다.

:help statusline

" Add full file path to your existing statusline
set statusline+=%F

주, %F전체 경로 될 것입니다. 작업 디렉토리에 상대적인 경로를 얻으려면 %f.

상태 표시 줄이 아직 표시되지 않은 경우 먼저 다음을 통해 항상 표시되도록 구성해야 할 수 있습니다. laststatus=2

set laststatus=2

보기 :help laststatus옵션이 무엇을 의미하는지에 대해. 일반적으로 상태 표시 줄은 여러 버퍼가 열려 있지 않으면 숨겨 지거나 숨겨 질 수 있지만 이와 같은 사용자 지정을 항상 사용하는 것이 매우 유용하며 한 화면 줄 예약을 포기할 가치가 있습니다.


1
나는 확실히 내에 대한 답을 선호하지만, 추가 set statusline+=%F내 것은 ~/.vimrc당신의 말을 일을하지 않는 것 같습니다. 문서가 확실히 동의하는 것 같지만 ...
Tim Pote

1
이것은 효과가 없었습니다. 내가 간단한 것을 놓친다면 사과드립니다. 그것에 대한 생각이 있습니까?
zallarak

1
@TimPote 어떤 vim 버전? 나를 위해 작동합니다. 상태 표시 줄이 이미 그것을 밀어 내거나 너비를 제한하고있을 수 있습니다. :set statusline=%F없이 시도 하십시오+
Michael Berkowski

@zallarak Tim에게 내 의견을 참조하십시오. 단순히 변경하면 상태 표시 줄이 변경됩니까 :set statusline=%F? 오른쪽에 이상 찾는 방법은 파일 이름이 statusline에 이상이 숨어 있는지 확인하기 위해 왼쪽
마이클 Berkowski을

2
@TimPote 아마도 set laststatus=2항상 상태 표시 줄을 표시 할 수 있습니다. 나는 그것을 잊었다.
Michael Berkowski

20

ls = 2 설정

이것을 vimrc에 추가하면 항상 하단에 파일 이름이 표시됩니다.


set modeline은 나를 위해 아무것도하지 않았습니다. 무엇을해야할까요? (set ls = 2는 뭔가를했습니다). 다음에이 문제를 스스로 파악하기 위해 어떻게 사람 / 도움을해야합니까? 감사! :)
Charlie Parker

1
set modeline약간 위험하고 질문과 관련이 없습니다. 파일의 5 개의 시작 / 끝 줄에서 Vim 명령을 실행할 수 있습니다. 이유를 알고 정말로 이것을 원하는 사람들 만 켜야합니다. (그게 왜 -1이 답변)
DrBeco

16

Vim으로 파일을 편집하는 동안 gnome-terminal의 제목 표시 줄에 파일 경로를 표시하는 두 가지 방법을 찾았습니다.

더 간단하고 더 나은 방법 : 다음 줄을 추가합니다 ~/.vimrc.

set title

상단에 표시됩니다.

filename.ext (~/path_to_directory_where_your_file_is/) - VIM

더 복잡한 방법은 절대 파일 경로를 보여줍니다. 그것은 것 이 블로그 게시물에 좀 더 구체적으로 문서화 나는 최근에 썼다.


"제목 설정"은 터미널 탭에 파일 이름을 표시합니다. 흥미로운 기능입니다.
duleshi

흥미롭게도 질문에 대답하지 않습니다. 또한 더 낫다고 주장하지만 그렇지 않을 수도 있습니다. 예를 들어 vim이 전체 화면 모드 인 터미널에서 열려있는 경우 제목이 표시되지 않습니다. 따라서 반대 투표.
apprenticeDev

8

내가 작업중인 파일의 전체 경로를 얻는 유일한 방법은 :echo expand('%:p'). 원하는 경우 Ctrl + g를 다시 매핑 할 수 있지만 개인적으로 표준에서 너무 많이 벗어나는 것을 좋아하지 않습니다. 다음과 같이 F7을 매핑했습니다.

map  <F7> <Esc>:echo expand('%:p')<Return>

4
:help CTRL-G, CTRL-G카운트와 함께 두 단락을 아래로보십시오 .
스테판 Majewsky

1
감사합니다, @StefanMajewsky. 1 CTRL-G전체 파일 이름을 보여줍니다. 이 옵션을 찾고있었습니다.
Anton Kiselev

I love u Tim, 이것이 없이도 절대 경로를 절대적으로 보여주는 유일한 방법 ~입니다.
ryancheung

7

vim-airline을 사용하는 경우 다음을 입력하십시오 .vimrc.

let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'

이는 항공사 기본값을 수정 %f한 것 %F입니다.


6

나는 항상 사용 :f했지만 @MichaelBerkowski의 답변과 링크는 놀랍습니다!

:f 경로, 줄 수, 수정 된 상태, 현재 커서 위치 등을 표시합니다.

나는 몰랐지만 CTRLG거의 같은 것 같습니다.


5

상태 표시 줄은 매우 강력하고 편리하다고 생각합니다. 상자에서 벗어나면 파일 이름, 커서 위치 및 일부 플래그가 표시됩니다. 그러나 당신은 나와 똑같이하고 파일 이름 -part를 파일전체 경로 로 바꾸고 싶습니다 .

따라서 .vimrc내 상태 표시 줄 을 편집하는 동안 기본적으로 다음과 같이 보일 수 있습니다.

.vimrc                                                        26,16           7%

다음을 사용하여 상태 표시 줄 설정을 볼 수 있습니다.

:set statusline?

그러나 변경하지 않았고 모듈이 변경되지 않은 경우 비어 있습니다. 그러나 도움말 섹션 ( :help statusline) 의 예 를 통해 기본값은 다음과 같습니다.

:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P

그래서이 포함 .vimrc변화 %f%F. 또한 %y편리하다는 것을 알기 때문에 상태 표시 줄에 파일 유형 플래그 ( )를 추가 했습니다. 따라서 결과 구성은 다음과 같습니다.

:set statusline=%<%F\ %h%m%r%y%=%-14.(%l,%c%V%)\ %P

결과는 다음과 같습니다.

~/.vimrc [vim]                                                26,16           7%

좋은 독서 :

추신. 나는 vim 7.3을 실행합니다.


4

경로에 해결 된 심볼릭 링크를 포함하려면 다음을 사용하십시오.

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

홈 디렉토리의 '~'약어를 유지하려면 다음을 포함하십시오. fnamemodify

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

LTS 우분투 16.04에 VIM SSH에 iTerm2를 사용하여 7.4에서 나를 위해 일한이 두
제임스 니콜슨
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.