Truques Vim úteis para 2019

Cláudio Ribeiro Blocked Unblock Seguir Seguindo 1 de janeiro Cortesia de Unsplash, alguns truques legais!

Vim tem uma curva de aprendizado íngreme, não vamos tentar encobri-lo. Mas uma vez que você começa a perceber as nuances, você começa a descobrir que o Vim está cheio de truques que economizam tempo. Isso é o que vamos abordar neste artigo.

Eu vasculhei a internet para truques do Vim. Alguns deles vêm de diferentes sites, posts no Twitter e alguns deles são meus. De qualquer forma, algumas delas podem ser úteis para melhorar seu fluxo de trabalho em 2019.

Mas eu estou apenas começando com o Vim

Não tem problema, tudo o que você precisa saber para começar a usar o Vim pode ser compactado em uma única frase:

Abra um arquivo com 'vim {filename}'. Digite 'i' para começar a adicionar texto. Digite 'ESC' quando terminar de adicionar texto. Finalmente, digite ': wq' para salvar e sair, ': w' para salvar ou ': q!' para sair sem salvar.

Alguns dos “truques” que vou apresentar não são truques, apenas atalhos simples e comandos que são construídos no Vim. O problema é que alguns desses comandos são tão úteis que podem ser considerados truques por si mesmos.

Então, o primeiro que eu gostaria de apresentar é o vimtutor. Vim vem com um tutorial interativo que você pode usar para aprender o básico do editor. Este tutorial está cheio de informações úteis, como como se mover, a maneira modal vim, pesquisando e muito mais. Então, se você está apenas começando o Vim, esse é o primeiro truque que eu gostaria que você tentasse.

Apenas digite <ESC> seguido por : Tutor de dentro do Vim para iniciá-lo.

Sou um usuário intermediário / avançado do Vim

Algumas dessas dicas podem ser para você. Vou analisá-los sem muita explicação. O objetivo dessas dicas é usá-las. Se você quiser realmente entender como eles funcionam, os arquivos de ajuda estarão sempre disponíveis para você.

Movendo-se dentro de um arquivo

Muitas vezes, quando dentro de um arquivo, precisamos fazer coisas como pular para o final ou para o começo dele. Ao lidar com arquivos grandes, algumas dessas tarefas podem ser muito tediosas. O Vim oferece vários atalhos para se mover dentro de um arquivo.

G irá pular para o final do arquivo, e gg irá pular para o começo dele. Se quisermos passar para uma linha específica, podemos usar um dos seguintes : 123 <CR> , 123G ou 123gg . Todas essas opções moverão o cursor para a linha 123.

Na mesma linha, o $ vim filename +123 irá iniciar o arquivo no Vim já na linha 123.

A navegação de linha também pode ser complicada, então 0 moverá o cursor para o início da linha atual, $ até o final da linha.

H moverá o cursor para o topo da janela atual e M para o meio da janela atual.

Por fim, se você estiver editando o código, % saltará para a chave correspondente.

Observe que todos esses comandos se aplicam ao modo normal. Naturalmente, no modo Insert, esses não são comandos, apenas caracteres sendo gravados.

Existem muito mais comandos para mover dentro de um arquivo, mas com estes, devemos ser capazes de realizar a maioria de nossas tarefas diárias muito mais rapidamente.

Para coisas mais suculentas

Cortesia de Unsplash

Embora muito útil, as dicas acima são sem graça. Eles são apenas comandos regulares disfarçados de dicas. E quanto a coisas mais complicadas?

– Recuperando informações
Às vezes precisamos fechar o que estamos fazendo e não temos tempo para criar uma sessão para armazenar coisas. O Vim oferece a capacidade de abrir o último arquivo editado na máquina com o cursor na última posição conhecida. Para isso, iniciamos o Vim e pressionamos CTRL + o + o .

– Comandos shell
Outra coisa que pode ser realmente útil é a capacidade de gerar no Vim os resultados dos comandos do terminal. O Vim oferece a capacidade de executar comandos do shell dentro dele. Para isso, usamos o ! comando. Por exemplo, para gerar o resultado da execução de ls, podemos usar : r! Ls,: r! Cal para gerar o calendário do mês atual ou : r! Date para a data e hora atuais.

– História
O Vim oferece o histórico dos últimos comandos executados. Às vezes, precisamos executar novamente alguns desses comandos, mas o comando : history é apenas para consulta. Para executar novamente esses comandos, podemos usar a janela do histórico de comandos interativos. para lançá – lo, podemos usar q:. Então, é uma questão de escolher o comando para executá-lo e executá-lo com <CR> .

– Arquivos compactados
Outra coisa que pode ser útil é a capacidade de abrir, editar e salvar arquivos compactados sem precisar extraí-los. Isso pode ser feito abrindo o arquivo compactado. Por exemplo, $ vim archive.tar.gz . Isto irá lançar o explorador. Podemos então abrir, editar e salvar esses arquivos sem precisar extraí-los.

– Não sabe o que um comando faz?
Ao clicar em K no modo Normal, será iniciada a manpage da palavra-chave sob o cursor. Além disso, bater * irá procurar todas as ocorrências da palavra sob o cursor.

– recuo
gg = G irá recuar todo o nosso arquivo de acordo com a definição das guias que estamos usando. Para dar um passo adiante, podemos configurar marcas para recuar um arquivo inteiro e manter o cursor onde está, para isso podemos usar mmgg = G'm . Parece complicado, mas funciona. Eu descobri que a melhor maneira de usar este comando é remapear em vez de tentar memorizá-lo. É demais.

– Grepping
Vimos anteriormente que podemos executar comandos shell a partir do interior do Vim. No caso do grep, o Vim oferece sua própria versão, o Vimgrep.
O Vimgrep nada mais é do que um alias para a versão shell dele, mas é mais fácil de memorizar que ' :! Grep … '.
Por exemplo, para procurar todas as ocorrências de 'erro' em todos os arquivos .txt, podemos usar : erro vimgrep * .txt .
Para mais informações sobre o uso do Vimgrep : h vimgrep .

– Verificando diferentes conteúdos de ramificações do git usando o Vim
Muitas vezes, ao usar o git, precisamos verificar o conteúdo de diferentes branches. Usando alguns baixo-fu e Vim, podemos ver o conteúdo de um determinado arquivo em um ramo diferente, sem ter que mudar para ele.

git show branch_name: /path/to/file.txt | vim –

Basicamente, estamos picando os resultados de mostrar o arquivo em um ramo diferente no Vim.

Estes são alguns dos truques que eu encontrei e uso eu mesmo. Como você pode ver, com algum conhecimento do funcionamento interno do Vim é possível fazer coisas muito legais que podem nos poupar muito tempo.

E se você? Que truques do Vim para 2019 você tem que compartilhar conosco?