vim

Truques e macetes para o vim

Aqui vai um pouco da minha coleção de truques para o vim. Quem quiser pode dar uma olhada também no meu .vimrc no Github

Busca

Use /expressao_regular para buscar adiante e ?expressao_regular para busca inversa.
Use n para repetir a última busca feita e N para repetir na direção inversa.

Use * (asterisco) para buscar adiante a palavra sob o cursor e # (sustenido) para a busca inversa da palavra.

global / g

Útil para realizar ações globais de acordo com uma expressão regular. A sintaxe:

:g/expressao/comando

Exemplo para remover linhas em branco:

:g/^$/d

Para remover linhas que contenham “bacalhau”:

:g/bacalhau/d

É possível negar a expressão. Para remover linhas que não contenham “bacalhau”:

:g!/bacalhau/d
:v/bacalhau/d

Repare que o inverso do g é o v.

Titlecase / Iniciais em maiúsculas

Para converter as palavras de uma linha para “Titlecase” ou as iniciais em maiúsculas:

:s/\<\(\w\)\(\w*\)\>/\u\1\L\2/g

Macros

q<marcador> em modo de comando começa a gravar a macro no marcador do <marcador> escolhido.

Execute os passos que deseja gravar e no final use o q em modo de comando novamente para encerrar.

@<marcador> executa a macro.

10@<marcador> executa a macro 10 vezes. (pára se chegar ao fim do arquivo antes de executar 10 vezes)

@@ roda a última macro executada (não a última gravada).

Executar comando em múltiplos arquivos

O argdo executa o comando especificado em todos os buffers abertos pela linha de comando.

Note o exemplo abaixo termina com | w. É um pipe para o comando de gravação, como o vim não aceita trocar de buffer sem antes gravar as alterações, é necessário mandar gravar cada buffer após o comando.

:argdo %s/eclipse/vim/g | w

Colar pela linha de comando

:<linha> put <marcador>

Colar o conteúdo da área de transferência do sistema acima da primeira linha:

:0 put +

Colar o conteúdo do texto copiado com yank na linha 10:

:10 put "

Colar o conteúdo do texto copiado com yank para o marcador z na linha 3:

:3 put z

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: