[vim] VIM에서 수직 분할로 버퍼 열기

VIM에서 파일을 편집 할 때 기존 버퍼를 열어야하는 경우 (예 : 버퍼 목록 :buffers🙂 어떻게 수직 분할로 열 수 있습니까?

나는 이미 다음과 같은 일반 분할로 열 수 있음을 알고 있습니다 .

:sbuffer N

N원하는 버퍼 번호는 어디에 있지만 위의 N버퍼는 세로가 아니라 가로로 열립니다 .

또한 열린 후 창 배치를 변경하고 다음과 같이 세로 분할을 할 수 있음을 알고 있습니다.

Ctrl-W H
Ctrl-W L

창을 오른쪽 또는 왼쪽으로 세로로 나눕니다.

그것이 있다면 존재 sbuffer해야 vsbuffer하지만 존재하지 않는 것 같습니다 (알지 못합니다)

또한이 질문을 해결하기 위해 플러그인을 찾고 있지 않습니다. 나는 당신이 이것을 할 수있는 풍부한 플러그인에 대해 알고 있습니다.

이미 존재하는 것을 놓치고있을 것입니다.

편집 : 최고의 협업 정신으로 누군가 다른 사람 이이 문제를 우연히 발견하고 플러그인을 설치하지 않으려는 경우 매핑으로 간단한 기능을 만들었습니다.

함수:

" Vertical Split Buffer Function
function VerticalSplitBuffer(buffer)
    execute "vert belowright sb" a:buffer
endfunction

매핑 :

" Vertical Split Buffer Mapping
command -nargs=1 Vbuffer call VerticalSplitBuffer(<f-args>)

이것은 오른쪽 분할에서 버퍼를 여는 작업을 수행하므로 버퍼 1의 경우 다음과 같이 호출합니다.

:Vbuffer 1



답변

시험:

:vert sb N

왼쪽 세로 분할이 열립니다 (일부 옵션을 수정하지 않은 경우 기본적으로).

반면에 오른쪽으로 분할을 열려면 :

:vert belowright sb N


답변

:vsp | b1

1은 일부 버퍼 번호입니다. buffers모든 버퍼를 나열하는 데 사용 합니다.

관심이 있다면 분할에 대한 추가 정보가 있습니다.
링크


답변

.vimrc에 다음을 추가하여 고통을 완화시킬 수 있습니다

cabbrev vb vert sb

이제 다음과 같은 방법으로 사용할 수 있습니다.

:vb <buffer>


답변

:ls현재 버퍼와 명령을 결합 하여 원하는 버퍼를 열 수 있습니다.

  1. 현재 창 : :b <N/bufname>
  2. 수직 분할 : :vsp | b <N/bufname>
  3. 수평 분할 : :sp | b <N/bufname>

이를 위해 다음 매핑을 내 매핑에 추가했습니다 ~/.vimrc(매핑 순서는 위의 원하는 창 목록을 나타냅니다)

 nnoremap <leader>b :ls<cr>:b<space>
 nnoremap <leader>v :ls<cr>:vsp<space>\|<space>b<space>
 nnoremap <leader>s :ls<cr>:sp<space>\|<space>b<space>

이를 바탕으로, 히트하자마자 버퍼 목록을 볼 수 있습니다

  1. <leader>b
  2. <leader>v
  3. <leader>s

원하는 버퍼 번호를 입력하십시오 N. 그러면 원하는 창에서 버퍼가 열립니다. 물론 버퍼 이름의 일부를 계속 사용할 수 있습니다 bufname.

나는 매핑 <leader>,기반으로

let mapleader = ","

일부 사람들 (예 : 나)의 경우 MiniBufExpl과 같은 플러그인을 대체하여 화면 공간을 절약 할 수도 있습니다.


답변

Neovim을 다음과 같이 사용할 수 있습니다.

autocmd FileType python nmap <F5> :rightbelow vertical split <bar> :term python %<cr>


답변