답변:
편집 : Vim에는 기본적으로 수평 분할 케이스에 대한 두 개의 매핑이 있기 때문에 수직 분할 케이스에 대한 대칭 대칭 매핑을 제안하십시오.
"커서 아래의 파일"을 편집하는 방법에는 여러 가지가 gf있으며 @ alexander-myshov가 언급 한 것처럼 새 탭 페이지에서 편집하도록 다시 매핑 할 수는 있지만 새 탭 페이지에서 편집 할 수있는 두 가지 방법이 있지만 현재 창에서 편집 할 수도 있습니다. 때로는 원할 수도 있습니다. 표준 매핑을 사용하는 것은 어렵지 않지만 그중 하나를에 다시 매핑하려면 매핑 중 하나를 잃지 않도록 매핑을 전환 하는 gf것이 좋습니다 .
커서 아래에서 파일 이름을 편집하는 방법 중 일부는
수직 분할에서 커서 아래에있는 기존 파일을 편집하는 표준 매핑은 없지만 먼저 창을 수직으로 분할 한 다음 현재 창에서 커서 아래에있는 파일을 편집하면 파일을 얻을 수 있습니다.
위에서 볼 수 있듯이 가로 분할에서 커서 아래 파일을 편집하기위한 두 가지 기본 매핑이 있습니다. 따라서 이들 중 하나를 위의 키 스트링에 다시 매핑하여 맵 그룹을 확장하여 세로 분할 사례도 포함 할 수 있습니다. 물론 무엇이든 바인딩 할 수 있지만 대칭을 멋지게 완성하는 것처럼 보입니다 nnoremap <C-W><C-F> <C-W>vgf
. 이제 당신은
커서 아래의 파일 이름 뒤에 줄 번호가 있으면 파일의 특정 줄로 이동할 수도 있습니다. 당신이 가지고 있다면
filename:10
파일을 편집하고 커서를 사용하여 10 행으로 이동하도록 할 수 있습니다 gF. 등가는 마찬가지입니다 C-WF분할 및 C-WgFtabpage을 위해. 수직 분할에 대한 대칭을 완성하는 것은 여기서 간단하지 않지만 기본 맵에서 또는 + 를 후보로 모방하여로 C-WC-S-F얻은 맵을 제안합니다 .nnoremap <C-W><C-S-F> <C-W>vgF
FShiftf
는 :
예를 들어, 당신은 파일 이름 문자 (참조 아닌 모든 문자를 사용할 수있다 :h 'isfname'
).
이 모든 명령은 다음과 같은 사과 소스와 함께 제공됩니다
'path'
선택 에 따라 현재 디렉토리보다 더 많은 장소를 찾으십시오.'suffixesadd'
옵션 에 따라 파일 확장명을 파일 이름에 추가'includeexpr'
옵션 에 따라 일치하는 이름을 찾기 위해 지정된 파일 이름을 수정하십시오.:help gf
다양한 옵션에 대한 자세한 내용 과 도움말 항목을 읽으십시오 .
커서 아래의 파일 이름이 존재하지 않는 파일 이름을 지정하면 다음과 <cfile>
같이 표준 편집 명령을 사용하는 것이 좋습니다.
:edit <cfile> // edit non-existent file under cursor in current window
:split <cfile> // edit non-existent file under cursor in split window
:vsplit <cfile> // edit non-existent file under cursor in vertical split window
:tabe <cfile> // edit non-existent file under cursor in new tabpage
물론 이것들을 사용 :spl+10 filename
하면 커서를 특정 줄로 :tabe+/cologne filename
옮기거나 커서를 패턴의 첫 번째 발생으로 옮기는 것과 같은 것을 사용할 수 있습니다 .
이를 위해 바인딩을 사용하십시오.
새 창에서 열기 (분할) :
nnoremap gf <C-W>f
vnoremap gf <C-W>f
새 탭에서 열기 :
nnoremap gf <C-W>gf
vnoremap gf <C-W>gf
또한 이것을 확인하십시오 :
:help CTRL-W_gf
gf
다른 것에 다시 매핑 하기 를 원하지 않는 것 같습니다 . 심지어 nnoremap gf :echo "hello"<CR>
여전히 새로운 버퍼에서 커서 아래 파일을 엽니 다 (그래, 나는 vimrc에 공급).
'hidden'
옵션 (set hidden
)을 켜면 저장되지 않은 버퍼에서 벗어날 수 있습니다. 저에게는 이것이 생산성 향상에 큰 도움이되었으며 스플릿과 탭에 너무 의존하지 않는 것이 중요했습니다.