Como posso alterar a posição / ordem da minha guia atual Vim
? Por exemplo, se eu quiser reposicionar minha guia atual para ser a primeira guia?
200
Você pode realocar uma guia :tabm
usando argumentos absolutos relativos ou com índice zero.
absoluto:
:tabm i
relativo:
:tabm +i
:tabm -i
É um recurso relativamente novo. Portanto, se não funcionar, tente atualizar o seu vim.
:tabm
aceita argumentos relativos no vim 7.3.Você quer dizer mover a guia atual? Isso funciona usando tabmove.
Eu tenho duas ligações de teclas que movem minha guia atual para a esquerda ou para a direita. Muito conveniente!
EDIT: Aqui está minha macro VIM. Eu não sou um grande programador de ViM , então talvez isso possa ser melhorado, mas é assim que funciona para mim:
Depois disso, você pode vincular chaves, por exemplo, no seu
.vimrc
:Agora você pode mover sua guia atual pressionando F9 ou F10.
fonte
Eu estava procurando o mesmo e depois de alguns posts, encontrei uma maneira mais simples do que uma função:
O tabpagenr () retorna a posição real da guia e tabmove usa índices.
Mapeei a direita para Ctrl + L e a esquerda para Ctrl + H:
fonte
:execute "tabmove" tabpagenr() + 1 <CR>
para mover para a direita. Para MacVim 8.0.1420 (144) .Mover a guia atual para a nésima posição
Onde
n
está um número que indica a posição (começando do zero)Mover guias para a esquerda / direita
Eu acho que uma solução melhor é mover a guia para a esquerda ou direita para sua posição atual, em vez de descobrir o valor numérico da nova posição em que você deseja.
Com os mapas de teclas acima, você poderá mover a guia atual:
fonte
+tabmove
etabmove+
? A posição importa?Além das sugestões de outras respostas, você também pode simplesmente arrastar as guias com o mouse para movê-las, se o suporte ao mouse estiver ativado.
Por padrão, está ativado no MacVim e em outras implementações da GUI vim, seja usando as guias do widget da GUI ou as guias de estilo do terminal no modo GUI.
Ele também funciona no modo tty puro do Vim, se você tiver
set mouse=a
e possuir um terminal adequado (xterm e a maioria dos emuladores, como gnome-terminal, Terminal.app, iTerm2 e PuTTY / KiTTY, para citar uma visualização). Observe que os cliques do mouse além da coluna 222 também exigemset ttymouse=sgr
; consulte No Vim, por que meu mouse não passa da 220ª coluna? para saber mais sobre isso.Eu escrevi um plugin chamado vim-tabber que fornece algumas funcionalidades adicionais para trocar de guia, alterá- las e aumentar os recursos dos comandos internos de manipulação de guias, mantendo-se amplamente compatível com os recursos internos. Mesmo se você optar por não usar o plug-in, há algumas informações gerais de uso da guia no README.
fonte
Por alguma razão, a resposta da função parou de funcionar para mim. Suspeito de um conflito com o vim-ctrlspace . Independentemente disso, a matemática na resposta da função é desnecessária, pois o Vim pode mover as guias para a esquerda e para a direita com as funções incorporadas. Nós apenas temos que lidar com o caso de embalagem , porque o Vim não é fácil de usar.
fonte
-tabm
e+tabm
no meu vim 7.4 não movem corretamente as guias. Também o meu:help tabm
não lista isso como uma sintaxe válida. Então eu ter a últimaelse execute ...endif
comelseif a:direction == 1 execute "tabmove" s:current_tab else execute "tabmove" s:current_tab - 2 endif
uso de Pablo respostatabmove
e o sinal-
/+
naexecute
linha.Aqui está minha macro, usando argumentos relativos da resposta de @ maybeshewill:
Ele lida com o estojo de embalagem.
fonte