열린 탭을 재정렬하려면 어떻게합니까?


16

하자 내가 네 열려있는 파일이 있다고 가정 해 : file0.txt, file1.txt, file2.txt,와 file3.txt. 나는 그것들을 순서대로 탭으로 엽니 다. 그래서 내 탭 순서는 다음과 같습니다.

  • file0.txt
  • file1.txt
  • file2.txt
  • file3.txt

그런 다음 file2.txt이전 에 오는 탭을 다시 정렬하고 싶다고 가정 해 보겠습니다 file1.txt.

  • file0.txt
  • file2.txt
  • file1.txt
  • file3.txt

어떻게합니까? 현재 탭을 왼쪽이나 오른쪽으로 이동하거나 현재 열려있는 탭을 다시 정렬하는 Vim 명령이 있습니까?

답변:


18

tabmove명령을 사용할 수 있습니다 . ( :help tabmove당신이 알아야 할 모든 것을 알려줄 것입니다)

이 명령은 두 가지 종류의 매개 변수를 사용합니다.

부호 ( +또는 -)와 숫자 :

  • :tabmove +2 2 곳의 탭을 오른쪽으로 이동시킵니다
  • :tabmove -2 왼쪽도 똑같이합니다.

간단한 숫자와 함께 명령을 사용하여 탭의 위치를 ​​설정할 수도 있습니다.

  • :tabmove 0 탭을 첫 번째 탭으로 넣습니다.
  • :tabmove 2 탭을 세 번째 위치에 놓을 것입니다
  • :tabmove 탭을 마지막으로 넣습니다.

또한 나는 그 라인을 내 .vimrc

" move current tab to left/right
noremap <Leader><Left>  :execute 'silent! tabmove ' . (tabpagenr()-2)<CR>
noremap <Leader><Right> :execute 'silent! tabmove ' . tabpagenr()<CR>

그들은 당신이 한곳의 현재 탭을 Leader+ Right arrowLeader+ 의 조합으로 Left arrow움직일 수있게 해줄 것입니다.

편집 : @TomMcDo가 주석에서 지적했듯이 이전 매핑이 단순화되고 여전히 제대로 작동 할 수 있습니다.

noremap <Leader><Left>  :tabmove -1<CR>
noremap <Leader><Right> :tabmove +1<CR>

3
당신의 매핑에서, 왜 사용하지 :tabmove -1:tabmove +1?
tommcdo

@tommcdo : 글쎄요 .. 몇 달 전에 그런 매핑을했는데 지금이 순간 내 생각이 뭔지 모르겠습니다. 그리고 나는 대답으로 그것을 복사 할 때 사건에 대해 생각하지 않았다. 어쨌든 당신은 완전히 옳습니다. 제 대답을 편집하도록
하겠습니다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.