terça-feira, 20 de dezembro de 2011

Sobrevivendo no Vim (parte 3)

No capítulo anterior, vimos algumas opções avançadas do editor Vim. Agora, vamos ver como podemos trabalhar com múltiplos arquivos no editor.




Abrindo outro arquivo


Vamos dizer que você editou um arquivo no Vim e agora precisa editar outro. Uma das formas de se fazer isso seria fechando o editor e o abrindo de novo mas isso não é necessário. Basta, no modo comando, digitar




:edit arquivo.txt



ou se preferir




:e arquivo.txt



Onde arquivo.txt pode ou não existir. Ao fazer isso, o arquivo atual será fechado e substituído no buffer pelo novo arquivo indicado. Caso você não tenha salvo as alterações do arquivo atual, será exibida uma mensagem de erro. Neste ponto, você pode salvar as alterações através do comando :write ou forçar a abertura do novo arquivo, perdendo todas as alterações, através do :edit! arquivo.txt .



Trabalhando com mais de um arquivo


No começo dessa série de artigos, vimos que para abrir um arquivo no Vim pela linha de comando bastava incluir, nela, o nome do arquivo desejado como em




vim arquivo.txt



É possível, no entanto, abrir mais de um arquivo no editorespecificando todos os seus nomes na linha de comando, como em:




vim hello.c hello.h



Neste exemplo, dizemos ao editor Vim que estamos editando dois arquivos (no caso, de código-fonte em C). Ao iniciar, você será colocado no primeiro arquivo - em nosso exemplo. hello.c. Faça as alterações que quiser, salve-o e digite :next para ir para o próximo arquivo da lista. Se quiser voltar para o arquivo anterior, basta digitar :previous. Os comandos :first e :last movem-no, respectivamente, para o primeiro e o último arquivo.


É desnecessário dizer que, ao fazer a mudança, o Vim irá emitir uma mensagem de erro caso o arquivo atual tenha alterações não salvas. Para gravá-las você deve utilizar o comando :wnext, :wprevious, :wfirst ou :wlast conforme desejado ou, se quiser descartá-las, digite o comando seguido de um ponto de exclamação.


O Vim é inteligente no sentido de que emitirá uma mensagem de erro se você estiver no último arquivo da lista e digitar :next ou no primeiro e digitar :first.


Para saber qual arquivo você está editando no momento basta usar o comando :args , que mostrará a lista de arquivos atualmente abertos com o arquivo atual entre colchetes. O comando :args também serve para abrir uma nova lista de arquivos sem precisar sair do editor. Se você digitou o exemplo do hello.c e do hello.h e agora deseja abrir os arquivos arq1, arq2 e arq3, basta que digite:




:args arq1 arq2 arq3



Dividindo a janela


Além de lhe permitir editar mais de um arquivo, o Vim também permite que mais de um arquivo seja editado na mesma janela (ou tela) do programa. Para isso, utilizamos o comando :split, que resultará na tela abaixo:


Comando :split no Vim


Como você pode ver, :split vai dividir a janela do Vim em duas com o mesmo arquivo e o cursor estará na janela de cima. Você pode mudar de janela pressionando Ctrl+W w (pressionar Ctrl+W e depois w) ou Ctrl+W duas vezes.


Dividir a janela em duas com o mesmo arquivo é útil caso você precise comparar ou ter acesso a duas partes diferentes do texto. No entanto, se você quiser abrir dois arquivos diferentes, o que é mais comum, basta especificar o nome do arquivo após o :split como em




:split arquivo.txt



Além do :split, também há o :vsplit, que divide a janela ativa na vertical e que funciona da mesma forma do seu comando irmão. Na tela abaixo, utilizamos Ctrl+W para colocar o cursor na janela de baixo e demos um :vsplit para exibí-la em outro arquivo. Isso é muito útil quando se deve editar vários arquivos de código-fonte, por exemplo.


Split vertical e horizontal no Vim


Para fechar uma janela em específico, mude para ela através do CTRL+W w e digite :close. Para fechar todas as janelas exceto aquela onde está o cursor, digite : only (sem espaço, apenas para evitar o emoticon). Como sempre, é necessário que todas as alterações tenham sido salvas antes de dar o comando de fechamento.


É possível combinar as teclas h, j, k e l com o Ctrl+W para agilizar a movimentação entre as janelas abertas.



Movendo e redimensionando as janelas abertas


A boa notícia para os arrastadores de mouse é que você pode utilizar esse apêndice periférico para redimensionar as janelas que você abriu através do :split ou do :vsplit ao mover seu ponteiro para a linha de status que separa duas janelas e arrastá-lo. Porém, sabemos que o Vim não foi feito para ser utilizado com um mouse e, assim, existe um atalho para isso.


Para aumentar a altura de uma janela em uma linha, pressione Ctrl + W + e para diminuir pressione Ctrl+W -. É possível ter menos trabalho digitando um número antes do comando. Assim, digitando-se 10, pressionando-se Ctrl+W e pressionando-se +, o tamanho da janela será aumentado em 10 linhas, o que seria equivalente a pressionar Ctrl+W + dez vezes. Ctrl+W = deixa as janelas com uma altura e largura iguais.


Para mover uma janela para outra posição utilize:




Ctrl+W K para movê-la para o topo
Ctrl+W J para movê-la para baixo
Ctrl+W L para movê-la para a direita
Ctrl+W H para movê-la para a esquerda.



Note que as letras são maiúsculas.


Nossa viagem pelo espartano editor Vim está chegando ao fim. Na próxima semana, veremos algumas dicas mais gerais, como instalar plugins e como fazer configurações avançadas no editor. Espero que você esteja gostando. Até lá!


Nenhum comentário:

Postar um comentário