Como reordenar abas abertas?


16

Digamos que eu tenho quatro arquivos abertos: file0.txt, file1.txt, file2.txt, e file3.txt. Abro todos eles nessa ordem como guias. Então, minha ordem de guia é esta:

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

Vamos dizer que, em vez disso, desejo reorganizar minhas guias para que isso file2.txtocorra antes file1.txt:

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

Como faço isso? Existe um comando do Vim para mover a guia atual para a esquerda ou direita ou reordenar as guias abertas no momento?

Respostas:


18

Você pode usar o tabmovecomando ( :help tabmovedirá tudo o que você precisa saber)

O comando usa dois tipos de parâmetros:

Um sinal ( +ou -) seguido por um número:

  • :tabmove +2 moverá sua guia de 2 lugares para a direita
  • :tabmove -2 fará o mesmo para a esquerda.

Você também pode usar o comando com um número simples para definir a posição da guia:

  • :tabmove 0 vai colocar a aba como a primeira
  • :tabmove 2 colocará a aba na terceira posição
  • :tabmove colocará a aba como a última

Também coloquei essas linhas no meu .vimrc

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

Eles permitem que você mova a guia atual de um lugar com a combinação Leader+ Right arrowe Leader+ Left arrowtalvez possam ser úteis para você.

Edit: Como o @TomMcDo apontou nos comentários, os mapeamentos anteriores podem ser simplificados e ainda funcionar corretamente:

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

3
Nos seus mapeamentos, por que não usar :tabmove -1e :tabmove +1?
tommcdo

@tommcdo: Bem ... fiz esses mapeamentos há vários meses e não tenho ideia do que estava em minha mente neste momento. E eu não pensei nisso quando o copiei na minha resposta. De qualquer forma você está totalmente certo que eu vou editar a minha resposta a make é mais simples graças para o título :-)
statox
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.