Dica do VIM

Da série: Isso merece um post!

Eu uso o VIM para quase tudo. Quando você adota ele como seu editor padrão, você vai descobrindo cada coisa no dia-à-dia.

Vocês sabiam que o VIM tem um comando que indenta (tabula, dá um tab, dá alguns espacinhos, chamem como quiser) um bloco de código?

No modo de comando (ESC) precione v e com as teclas direcionais (essas setinhas do seu teclado) você seleciona o bloco de código.

Imagem selecionada com VIM

Agora é só aplicar o comando “Shift + >”. Ele indenta automaticamente todo o bloco selecionado:

Bloco de código depois da identação

Para retonar, use “Shift + <".

Outra dica legal que aprendi por acaso hoje é que com o comando u você torna todas as palavras maiúsculas em minúsculas de um bloco de código selecionado. Exemplo:

Texto Maiusculo Selecionado

Precione u e veja:

Vim - Texto minusculo

Para torná-las todas maiúsculas, precione U (em maiúsculo).

5 Comments so far

  1. Felix on July 17th, 2008

    É… aos poucos vou ‘aprendendo’ a usar o Vim também, já faz algum tempo que o uso como editor padrão. Como sempre me perco nas identações hoje eu acabei encontrando um .vimrc que faz isso automáticamente em meus .html automáticamente, mas ainda tenho que adaptá-lo para outras linguagens ainda, essa sua dica já tá “favoritada” em meu google reader. Valeu!

  2. Caio Romão on July 17th, 2008

    Outra função de identação interessantíssima e, no meu caso, muito mais aplicável é o = (sinal de igual). Só selecionar o bloco de texto, como em sua dica, e apertar ´=´.

    Isso facilita muito a vida quando vc tem que destrichar código mal feito e péssimamente organizado.

  3. Elyézer Mendes Rezende on July 17th, 2008

    Ótimas dicas, não sabia que o Vim tinha esses recursos muito bons por sinal!

    Vlw

  4. Jeferson on July 18th, 2008

    Oi,

    você sabe como comentar/descomentar um bloco?

    abraço

  5. Sérgio Luiz Araújo Silva on August 19th, 2008

    No modo insert você indenta com

    CTRL t

    e remove indentação com

    CTRL d

Leave a reply