이미 열린 창에서 커서 아래에 파일을 여는 vim 단축키


12

vim에서는 명령 을 사용하여 커서 아래에서 파일을 열 수 있습니다 gf.

를 눌러 새 분할 창에서 해당 파일을 쉽게 열 수도 있습니다 <c-w> f. 이것은 정말 좋고 시간 절약 기능입니다.

그러나 이미 열려있는 분할 창에서 파일을 여는 방법을 알 수는 없습니다 (새 파일을 만들지 않고).


1
preview기능을 살펴볼 수도 있습니다 (참조 :h preview).
Stéphane Chazelas

그렇습니다. 미리보기도 사용합니다. 그러나 미리보기 창에서 파일을 열고 싶지 않지만 다른 파일에서는 명시 적으로 열었습니다.
psibar

답변:


10

트릭을 수행하기 위해 모든 조각을 모았습니다. 가장 좋은 방법은 모든 명령에 대한 사용자 정의 맵핑을 작성하는 것입니다.

 map <F8> :let mycurf=expand("<cfile>")<cr><c-w> w :execute("e ".mycurf)<cr><c-w>p

설명:

  • map <F8> 다음 명령을 "F8"에 매핑
  • let mycurf=expand("<cfile>") 커서 아래에 파일 이름을 가져 와서 저장합니다. mycurf
  • <c-w>w 초점을 다음 열린 분할 창으로 변경
  • execute("e ".mycurf) 저장된 파일을 엽니 다 mycurf
  • 마지막으로 <c-w>p포커스를 이전 창 (실제로 왔던 곳) 으로 변경합니다

1

쉽게 할 수 없습니다. A는 [count]이전 <C-w>f에 지정하는 파일에 일치하는 'path'열, 그것은 않습니다 되지 기존 창을 선택합니다. <C-w>w명령에 대해서만 [count]"기존 창 번호로 이동"을 의미합니다.

이 기능을 사용하려면 다음 중 하나를 수행하는 사용자 지정 매핑을 작성해야합니다.

  • 파일을 가져 [count]와서 창으로 이동 하여 gf명령을 에뮬레이트 하거나
  • 현재 버퍼를 [count]창에 복제하고 gf거기서 실행

예, 사용자 지정 매핑을 작성하는 것이 유일한 방법입니다. 커서 아래에서 파일을 가져 오는 데 문제가있었습니다. 그러나 나는 지금 그것을 이해했다고 생각한다
psibar

1

동일한 VIm의 기능을 검색하고 매력처럼 작동하는이 솔루션을 발견했습니다.

map <F8> :vertical wincmd f<CR>

소스 페이지 .


0

이것은 나를 위해 일했다 :

function! OpenFileInPrevWindow()
    let cfile = expand("<cfile>")
    wincmd p
    execute "edit " . cfile
endfunction

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