“Practical Vim”과 Vim 도움말에 따르면 바로 가기 <C-^>
가 편집 된 파일로 돌아갑니다. 를 사용하여 netrw를 입력 :E
합니다.
실험으로 다음과 같이 기본 바로 가기를 다시 매핑하려고했습니다.
:nnoremap <C-y> <C-^>
사용 <C-y>
하면 피드백을받습니다.
E23: No alternate file
…하지만 편집 된 버퍼로 돌아 가지 않습니다.
편집 된 버퍼로 돌아가려면 어떻게해야합니까, 또는이 문제에 대해 문서화 된 절차에 따라 리턴하지 못하게하는 원인을 찾기 위해이 문제를 어떻게 디버깅 할 수 있습니까?
주의 :에 있지 않고 명령 프롬프트에서 매핑을 설정하고 .vimrc
있습니다.
답변
대체 파일은 실제로 같은 창에서 이전에 열린 버퍼입니다.
:e file1
:e file2
<C-^> shows file1
<C-^> shows file2
<C-^> shows file1
…
<C-^>
같은 창에서 두 버퍼 사이를 빠르게 전환하는 데 사용됩니다 .
당신은 “대체로 이해되지 않는 netrw 일 것”으로 이동하기 위해 “대체 파일”을 가지고 있지 않을 수도 있으며 여기서는 쓸모가 없습니다 <C-^>
.
대신 :bd
현재 버퍼 (netrw)를 삭제하고 이전 버퍼로 되돌려 놓는을 사용하십시오. :Rex
언제든지 최신 netrw 창을 되찾기 위해 사용할 수 있습니다 .
파일을 열지 않으면 (netrw를 사용하여 정보를 찾습니다) 워크 플로는 다음과 같습니다.
:Ex
(exploration)
:bd
if you want to start a new exploration,
:Ex
:bd
if you want to explore from where you were,
:Rex
:bd
그러나 읽어야 :h netrw
아마 당신에게 많은 도움이 될 것 이상의 명령이 있기 때문에 : :Hex[plore]
(AN 수평 분할 창에 netrw 열립니다) :Vex[plore]
, (수직 분할 창에 netrw 열립니다) :Tex[plore]
이 명령은 …합니다 (새 탭에서 netrw 열립니다) “상태”를 유지하면서 사파리로 가자.
다른 방법으로, <C-o>
그리고 <C-i>
당신이 가서 JumpList에 실망이 편리한 단축키입니다. 상황 <C-o>
에 따라 이전 버퍼로 돌아가는 가장 빠른 방법 일 수 있습니다.
답변
매핑이 어떻게 관련이 있는지 보지 못합니다 E23
. 원래 <C-^>
명령 과 동일한 오류가 발생합니다 . 대체 파일이 아직 설정되지 않았을 수 있습니다. 일부 플러그인은 :keepalt
명령을 명시 적으로 사용 하여 버퍼 변경 기록을 피합니다.
당신은 통해 대체 파일 이름을 확인할 수 있습니다
:echo expand('#')
또는의 출력 :ls
에서시길이있는 행을 찾으십시오 #
.