Com trabalhar com múltiplas abas com o editor Vim

Como muitos outros editores, o Vim aceita organizar seu conteúdo em abas.
Na nomenclatura dos comandos e no sistema de ajuda do Vim, o recurso de abas é chamado de tabs.

Com o tabbed editing (edição em abas), é possível iniciar conteúdo novo em uma nova aba ou passar o conteúdo existente, em alguma janela, para outra aba.
Cada aba se comporta de maneira independente, dentro da sua sessão do Vim.
Você pode dividir a tela e criar outras janelas dentro de cada aba.

Para iniciar uma nova aba, use o comando ‘tabnew’, seguido do nome do arquivo que será aberto dentro dela:


:tabnew arquivo.txt

Se o arquivo especificado não existir, um novo será criado, com este nome.
Se você usar apenas o comando ‘tabnew’, sem fornecer um nome de arquivo a ser aberto, um arquivo, em branco e sem nome, será criado dentro da nova aba.

Para sair da aba criada, basta fechar o arquivo (ou os arquivos) dentro dela, com “:q”.
Uma outra forma de fechar a aba ativa é com ‘tabclose’:


:tabclose arquivo.txt

Ou, para fechar todas as outras abas:


:tabonly

Arquivos, ainda não gravados, podem impedir que suas abas sejam fechadas.

Para alternar entre as abas, use as teclas Ctrl + PageDown ou Ctrl + PageUp.

Como alterar as dimensões das janelas dentro do Vim

Ainda há bastante para escrever sobre como usar e manipular o recurso de múltiplas janelas dentro do editor de textos Vim.
O recurso é completo e extenso, mas fácil de aplicar.

Tal como os outros comandos de janelas do Vim, os comandos de redimensionamento começam com a combinação de teclas Ctrl + W ou apenas ^W (para encurtar).

Segue a lista:

  • ^W=     “tenta” equalizar as dimensões das janelas, na horizontal.
    Pode ser influenciado pelos parâmetros winheight e winwidth.
  • ^W-     reduz/diminui a altura da janela atual em uma linha.
  • ^W+     aumenta a altura da janela em uma linha.
  • ^W<     reduz a largura da janela em uma coluna.
  • ^W>     aumenta a largura da janela em uma coluna.
  • ^W|     altera as dimensões horizontais da janela atual para o maior valor possível.

Só pra lembrar, você pode acrescentar um número antes do ^W, para aplicar um valor maior ao comando.
Por exemplo, o comando 5^W- reduz a altura da janela ativa em 5 linhas, de uma vez.

Como redimensionar janelas, com comando na CLI do Vim

Também é possível usar comando CLI dentro do Vim, para controlar os tamanhos das janelas.
Use o seguinte comandos/parâmetros para reajustar as dimensões da janela ativa:


:vertical resize n

No caso, acima, n é o valor em número de colunas para o qual a janela será redimensionada na vertical.

Como organizar as janelas dentro do editor Vim

As janelas, dentro da sessão do Vim, podem ser reorganizadas para fornecer uma visão melhor da área de trabalho.
Podem ser usadas combinações de teclas de atalho para rodar ou mudar a posição de uma janela, dentro do editor.

Se quiser obter mais informações sobre como trabalhar com múltiplas janelas dentro do Vim, sugiro ler este post.

Todos os comandos de janelas começam com a combinação Ctrl + W, seguida da combinação/tecla de comando específica.
Segue a primeira relação de teclas básicas:

  • Ctrl + w, r — Mantenha a tecla Ctrl pressionada, seguido das teclas W e R.
    Este comando é cíclico. Ou seja, move a janela atual para a direita e, quando chegar ao final, volta à posição inicial.
    Há diferença de comportamento entre ‘r’ e ‘R’: A primeira move o elemento para a direita e a outra faz o contrário.
  • Ctrl + w, x — troca janelas vizinhas de lugar (uma com a outra).

Se não houver janela ao lado, para participar da interação, o comando é inócuo (não faz nada).
Múltiplas janelas abertas dentro da sessão do Vim

Tal como muitos outros comandos no Vim, é possível especificar um número de janela para participar da ação.
Para isto, tecle um número antes do comando. Por exemplo: 3, Ctrl + w, x.

Mais comandos para mover janelas dentro do Vim

Há outros comandos para mover e alterar os layouts das janelas no Vim.
Na lista, que segue, vou usar o símbolo ^ para indicar o uso da tecla Ctrl. Assim, fica mais fácil escrever e entender (acho).
Fique atento(a) à caixa das teclas:

  • ^WK — Move a janela selecionada (atual) para o topo da tela, usando toda a largura da tela do terminal.
  • ^WJ — Reposiciona a janela atual para baixo de todas as outras, usando toda a largura do terminal.
  • ^WH — Move a janela selecionada para a esquerda de todas as outras janelas e amplia sua altura.
  • ^WL — Faz o contrário do comando anterior — ou seja, reposiciona a janela atual à direita das outras e também amplia totalmente a sua altura.
  • ^WT — Este comando abre uma nova aba (se já não houver alguma), na sessão atual do Vim, e move a janela atual para lá.

Para mim funciona assim: pressiono ^W e, em seguida, a tecla K (em maiúsculas).
Pratique bastante e anote os comandos em algum lugar para poder usar como referência rápida.

Como fechar as janelas do editor Vim

Há 3 comandos simples para fechar as janelas abertas dentro da sessão.
Segue a lista:

  • ^Wq — ou, ainda, ^WQ ou :quit (na linha de comando). Encerra a sessão.
  • ^Wc — ou, ainda, :close. Fecha a janela atual
  • ^Wo — Fecha todas as outras janelas e deixa apenas a atual aberta. Também é possível usar :only, para fechar a janela no modo comando.

Palavras finais

Se você estiver executando o Vim dentro de um emulador de terminal, na GUI do Linux, leve em conta que este é o primeiro a capturar as entradas do teclado.
Isto quer dizer que, se houver algum atalho de teclado coincidente entre o aplicativo emulador de terminal e o app executado dentro dele, vai valer o significado que a combinação de teclas tiver para o emulador.
Em outras palavras, o GNOME-terminal (para citar um exemplo), tem prioridade de captura dos comandos de teclado.
Se você tiver conflitos relacionados a isto, pode ser mais fácil alterar, nas preferências do aplicativo emulador de terminal, os atalhos de teclado que ele usa.