vim 탭을 수직 분할로 변환하는 방법은 무엇입니까?

vim 탭을 수직 분할로 변환하는 방법은 무엇입니까?

저는 VS Code를 사용했는데 창을 오른쪽으로 끌어서 놓아 수직 분할을 만드는 방식이 마음에 들었습니다.

때로는 vim으로 많은 파일을 열 때도 있습니다.( vim -p *py). 탭을 탐색하는 동안 이 특정 탭을 세로로 나누어야 한다는 느낌이 들었습니다.

드래그 앤 드롭 부분을 잊어버린 경우 현재 탭을 수직으로 분할하려면 어떻게 해야 합니까? (나는 이미 splitright결정했다)

편집하다:

제안대로참새1029, :vs sb#작동하지만 이전 버퍼를 그대로 유지합니다. 어떻게든 삭제할 수 있나요? 어쩌면 일부 기능이 키 입력에 바인딩되어 있습니까?

답변1

당신이 읽었다면이 기사buffers, 이는 vim에서 , 및 windows의 차이점을 이해하는 데 도움이 될 것입니다 .tabs

이 답변슈퍼유저에 대한 해결책이 있습니다:

vs수직 분할 모드에서 파일을 여는 것과 마찬가지로 명령은 vsplit파일 이름을 인수로 사용합니다 .:vs somefile

기존 버퍼를 분할 창에 배치하려면 이 sb#명령을 사용하십시오(여기서 #은 버퍼 번호임). VIM의 분할은 기본적으로 수평 분할로 이루어집니다. 이를 변경하려면 명령 앞에 vert 접두어를 추가하면 다음 분할 명령이 수직으로 분할됩니다.

:vert sb#

#현재 창에서 분할되어 표시할 버퍼의 수는 어디에 있습니까?

:ls!현재 활성 버퍼를 표시하려면 또는 를 사용할 수 있습니다 :buffers.

솔루션 #1vim 창/탭/버퍼에 대해 이전에 링크된 기사에서 제안한 대로공기 호스다른 편집기에서 "탭"이 작동할 것으로 예상하는 것처럼 현재 열려 있는 버퍼를 표시하기 위한 vim 플러그인입니다.

답변2

핵심요약: Vim에서는 탭 대신 버퍼를 사용하세요.

내가 올바르게 이해했다면 문제는 파일을 분할 창에 보관하려는 것입니다하지만다른 파일이 계속 표시되도록 다른 쪽의 파일을 변경합니다.

Vim의 탭은 실제로 이와 같이 작동하지 않는 것으로 나타났습니다. 탭은 창의 모음이므로 탭을 변경할 때마다 모든 창을 동시에 전환하게 됩니다. 이는 동시에 여러 창 세트로 작업하는 경우 유용합니다.

하지만 한 번에 하나의 창에서 파일을 변경하려고 하기 때문에 이는 원하는 것이 아닌 것 같습니다.

이를 위해서는 다음을 사용해야합니다.완충기Vim에서는 탭이 아닙니다. 버퍼는 다른 편집기(예: VS Code)의 탭과 가장 유사한 Vim 기능입니다.

파일을 열 때 사용하고 ( 탭에서 파일을 여는 vim *.py옵션은 없음 ) 및 /또는 을 사용하여 탐색하세요 . 그런 다음 또는를 사용하여 분할 하고 Ctrl-W 명령을 사용하여 창을 전환하고 재구성 할 수 있습니다.-p:n:prev:N:vs:sp

별도의 창 세트를 원하거나 이전 창 설정을 유지하면서 언제든지 돌아갈 수 있도록 일시적으로 단일 파일에 전체 화면을 표시하려는 경우 탭을 사용하십시오.

당신은 읽고 싶을 수도 있습니다:help buffers(여기 링크)에서는 이러한 모든 개념을 자세히 다루고 있습니다.

답변3

이론적인 답변은 훌륭하다고 생각하지만 실제로 워크플로를 다루는 답변은 없습니다.

분할 화면을 사용하려면,

vim file1 (or just vim)

일단 안으로

ctrl+w v --> vertical split
ctrl+w h --> horizontal split

새 파일 열기

:n file3

또는 상위 디렉터리에 있습니다.

:n ../file4 

또는 여러 파일을 열거나

:n file1 file2 file3 ../file4

그들 사이를 전환

:n

이전 답변에서 이미 지적했듯이 buffers여기서는 vim을 사용합니다.

관련 정보