3 de setembro de 2010

Minimal Vim - Copiar, colar e recortar

Eu poderia reduzir as operações de copiar, colar e recortar aos conhecidos ctrl+c, ctrl+v e ctrl+x usados em praticamente todas as aplicações que conhecemos, mas os atalhos diferentes do Vim, nesse caso, ajudam bem mais que as simples operações que estamos acostumados.

Para selecionar um texto no Vim você precisa entrar no modo Visual, pressione v no modo normal, depois basta apenas movimentar o cursor para selecionar o que deseja. Você também pode usar shift+v para selecionar uma linha inteira.

Com o texto selecionado você pode copiar ou recortar a seleção. A tecla y de yank é usada para copiar o texto e a tecla d de deletar para apagar o que estiver selecionado. Não existe exatamente uma opção para recortar, entretanto ao deletar qualquer texto com o atalho d ele fica disponível para ser colado, então ele funciona como a conhecida operação de recortar. Para colar, o atalho é p de paste, o texto é colado imediatamente após o cursor. Esse comportamento é um pouco diferente dos editores comuns, pois no Vim o cursor fica em cima da letra e não antes ou depois de um caracter.

No Vim é possível copiar e recortar uma ou várias linhas inteiras de uma só vez com apenas um comando. Isso é muito útil e não é necessário entrar no modo Visual. Para copiar uma linha inteira vamos usar o atalho yy e para recortar uma linha inteira dd. Para copiar mais de uma linha o atalho é (número de linhas)yy, ou seja, 5yy copia a linha atual mais as quatro abaixo, totalizando cinco linhas. O mesmo pode ser usado para deletar as linhas, 3dd deleta três linhas. Na hora de colar também é possível usar um número antes do atalho, com isso a operação é repetida de acordo com ele, por exemplo, 5p cola o conteúdo cinco vezes.

Copiar, colar e recortar no Vim é ótimo, o único problema é a interação com outras aplicações, esses comandos não se comunicam bem com o mundo externo. Para colar texto vindo de outra aplicação o atalho é shift+insert (no modo de Inserção) e para copiar para fora do Vim temos um atalho bem complicado, o "+y. shift+insert é um bom atalho, mas o de copiar para fora do programa é complicado e pouco prático, por isso vamos criar um novo atalho para essa operação no .vimrc.

Adicione essa linha no arquivo de configuração:

vnoremap <C-Insert> "+y

Agora o atalho ctrl+insert pode ser usado para copiar texto para fora do Vim.

Outro motivo importante para não usar ctrl+c e ctrl+v é que o segundo é um atalho importante do Vim. Eu falarei sobre ele em breve.

Nenhum comentário:

Postar um comentário