기존 창을 새 탭으로 어떻게 이동합니까?


151

기존 창 (분할)을 가져 와서 새 탭에 넣는 방법이 있습니까?


이 질문으로 돌아온 경우 허용되는 답변을 변경하십시오. DrAI의 답변은 Mykola의 답변보다 훨씬 정확합니다.
gbr

답변:


261

물론 이전에 제안 된만큼 :tabedit적중 (일반 모드) 방법, 그것이 수행하는 빠른 방법 Ctrl- W Shift- T. Ctrl-W는 다양한 창 조작 명령의 일반적인 접두사입니다.

보다:

:help Ctrl-W_T
:help Ctrl-W

3
help Ctrl-W_T의 도움말 항목으로 이동 Ctrl-W_t페이지 아래로 더 그러나, (소문자)는이다 Ctrl-W_T"... 새 탭 페이지에 현재 창을 이동"라고, (자본 T와) 항목
Rabarberski

1
@ DrAl과 우리는 어떻게 새 탭 창을 분할 창으로 이동합니까?
Ramiz Uddin

@RamizUddin이 작업을 수행하는 간단한 방법은 없습니다 (어떤 창을 분할 하려는지는 확실하지 않기 때문에). 그러나 현재 탭 페이지의 버퍼 번호를 찾을 수 있으며이 번호를 :echo bufnr("")사용하면 창을 :sp #3또는로 분할 할 수 있습니다 :sb 3(숫자가 3이라고 가정). 이를 단순화하기 위해 일부 매핑 또는 함수를 생각해 낼 수 있습니다.
DrAl

1
실행 취소 / 다시 실행 상태를 유지하면서 버퍼를 새 탭으로 이동 하는 방법 즉, 새 탭에서 동일한 파일을 열고 싶지 않고 문자 그대로 버퍼를 새 탭으로 이동 하여 편집 내역을 새 탭에서 사용할 수 있습니다. 이 작업을 수행하는 기본 방법이 없으면 실행 취소 기록을 새 버퍼의 스왑 파일에 쓰는 새 바로 가기를 추가하는 플러그인을 만들 수 있습니다.
trusktr

2
@ trusktr 새 탭에서 버퍼를 열면 :sb작동하지만 최신 버전의 Vim (> = 7.3) set undodir=/path/to/dir에서는 / path / to / dir이 디렉토리라는 위치 를 설정하여 지속적 실행 취소를 사용할 수도 있습니다 목적을 위해 만든 다음 set undofile. 이렇게하면 vim을 종료 한 다음 다시 시작하고 실행 취소 / 다시 실행 상태를 유지할 수 있습니다.
DrAl

103

시험

:tabedit %<CR>

3
왜 <CR>을 포함했는지 궁금합니다.
스위스

17
같은 이유로 나는 ":"을 포함시켰다. 이는 정상 모드에서 전체 정력 키 조합이며, 당신이 사용할 수있는이에서 'nnoremap'과의 'nmap을'
Mykola Golubyev

6
창을 먼저 닫은 다음 새 탭에서 열지 않고 창을 새 탭으로 복제 / 복제하는 것을 제외하고는 잘 작동합니다. 별거 아니야 알아야 할 것.
A-Dubb

6
버퍼를 새 탭으로 이동하지 않고 새 탭에서 동일한 파일을
열지

5
C-w T같은 일을하는 가장 빠른 방법입니다
Dylanthepiguy

3

새 탭에서 최신 버퍼를 이동하고 현재 탭에서 이전 버퍼를 복원합니다. 새 파일을 내 Gvim으로 드래그 한 후 사용합니다

:sbp |wincmd p| wincmd T

이를 Ctrl-Backspace에 매핑 할 수 있습니다

:nnoremap <C-BS> :sbp<bar>wincmd p<bar>wincmd T<CR>

그것은 특히 잘 수행

:set switchbuf=usetab

0

나는 이것을 사용하여 한 쌍의 단축키 또는 명령에 바인딩 할 수 있고 매우 직관적으로 작동하는 두 가지 기능을 제공합니다. 나는 그것이 예보다 훨씬 더 친절한 행동을 제공한다고 확신합니다.Ctrl-W_T .

예를 들어, 여러 개의 창이 여러 탭에서 열린 경우이 기능을 사용하면 현재 창을 다음 또는 이전 탭으로 구체적으로 이동할 수 있으며, 첫 번째 탭 앞이나 마지막 탭 다음으로 무언가를 이동하면 완전히 새로운 탭으로.

즉, 각각 하나의 창이있는 두 개의 탭이있는 경우 첫 번째 탭의 창을 오른쪽으로 이동하면 두 번째 탭과 결합하여 두 개의 창이있는 단일 탭이 만들어집니다. 나는이 명령이 전통적인 명령을 사용하여 얼마나 복잡한 지 알 수 없습니다.

이것이 의미하는 바는 단일 이동 명령 쌍으로 탭 주위의 창을 이동하고 창을 탭으로 분할하고 (창을 끝까지 밀어 냄) 별도의 탭을 단일 탭 내부의 창에 결합하는 것입니다. 위치 정렬이 부족할 수도 있습니다 (별도의 주제이며 내장 Ctrl-W+ Shift-HJKL명령이 제대로 작동합니다).

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