Olá, pessoal. Este é o segundo artigo da série sobre vim. No primeiro demos uma introdução geral, falamos sobre as principais vantagens de se utilizar o editor e já falamos sobre os principais e mais utilizados comandos.
Você pode encontrá-lo clicando aqui

Neste artigo, vamos falar sobre os comandos de navegação. E, sem mais delongas, vamos nessa!

Navegação

Setas

A esta altura, você já deve ter tentado navegar no arquivo utilizando as setas do teclado e elas funcionam, mas não são as teclas “oficiais” de navegação do vim. O vim define as próprias teclas de navegação e as que se assemelham as setas são, H (esquerda), J (baixo), K (cima) e L (direita).

Mas… Xavier, se estas teclas fazem o mesmo que as setas, porque eu preferiria utilizar a letras que não têm semântica para a fixação, além de não serem posicionadas semanticamente também? É até difícil de lembrar. Bom, sim. Concordo. Entretanto, os comandos oficiais do vim têm algumas vantagens. Por exemplo, enquanto a tecla J avança uma linha, o comando Shift + J traz a próxima linha para o fim da linha atual. Além disso, em posição normal das mãos ao digitar (os antigos digitadores sabem bem disso), estas teclas ficam ao alcance da digitação sem precisar mover as mãos. Além do mais, o vim é feito para ser editável mesmo nos teclados mais compactos e simples.

Navegação de páginas

Assim como no caso das setas, apesar das teclas PgUp e PgDn funcionarem no vim, o comando “oficial” de navegação de páginas é o Ctrl + F ou Command + F em um Mac, para avançar uma página, e Ctrl + B ou Command + B para retroceder uma página.

Navegação de palavras

Diferente do que temos disponível no teclado, o vim disponibiliza ainda algumas opções extras de navegação. Entre elas está a navegação de palavras (Word).

Pressionando a tecla W você pode navegar por palavras no seu texto. Esta navegação não considera pontuações, ou seja, considera pontuações como uma palavra e para quando encontra uma. Porém, como já citado, temos o comando com ShiftShift + W desconsidera as pontuações (ou as considera como parte da palavra) e faz a navegação sem parar nas pontuações como vírgulas, por exemplo.

Funcionando da mesma maneira, só que navegando para trás, temos os comandos B e Shift + B. É exatamente o inverso do comando W e Shift + W.

Navegação por linhas

Para navegar para a última linha do seu arquivo, você pode pressionar Shift + G e, se desejar navegar para uma linha específica, digite o número da linha seguido por G + G.

Você vai notar que é possível chegar aos mesmos resultados de diversas formas diferentes no vim. Isso vai começar a ficar mais claro conforme formos avançando. Mas apenas como exemplo, digamos que você deseja navegar até a linha de número 1. Com o que aprendemos até agora, sabemos que o comando é 1 + G + G. No entanto, pressionando apenasG + G, sem digitar o número 1, chegaremos também ao início do arquivo. E, claro, podemos usar também o número mais a versão “Shiftada” do comando. Por exemplo, 3 + Shift + G também é uma forma de navegar até a linha de número 3.

No primeiro artigo também vimos como entrar no modo “linha”. Acontece que este é o modo de comandos mais poderoso no sentido de quantidade de opções e features. Então, aproveito este momento para dizer que também é possível navegar entre as linhas do arquivo através dele.

Você já deve ter notado que, no modo “linha”, você precisa pressionar a tecla Enter para executar um comando. Portanto, não incluirei esta tecla nas descrições dos comandos, daqui para frente.

Voltando à navegação, :44 também navegará até a linha 44 do arquivo.

Assim como a exclamação !, também há outras semelhanças com expressões regulares no vim. Por exemplo, :$ navegará até a última linha do seu arquivo.

Não tem relação direta com a navegação propriamente dita, mas achei coerente falar de um outro comando que envolve uma tecla já mencionada, a tecla G. O comando Ctrl + Shift + G traz algumas informações básicas sobre o arquivo que estamos editando, como a porcentagem do arquivo em que o nosso posicionamento na navegação atual, representa.

Finalizando

Somente a navegação no vim já deu bastante assunto. Não acha?

No próximo capítulo, abordaremos alguns comandos de remoção do vim. Estou ansioso por isso.

Até lá, bro/sis!!