No último post, demos uma rápida olhada no editor Vim e descobrimos como criar e salvar um documento nele, bem como se movimentar pelo texto e sair do editor. Hoje, vamos aprender mais alguns comandos de movimentação e como localizar, substituir, copiar e colar texto.
Repetindo uma ação n vezes
O Vim suporta a inserção de um número antes do comando a ser executado que informa quantas vezes este será repetido. Por exemplo: ao pressionar j no modo de comando, você desce o cursor uma linha; mas se você pressionar nj, você vai descer o cursor n linhas. Não digite : antes do número n. Abaixo estão alguns exemplos:
- 2j move o cursor 2 linhas para baixo;
- 5k move o cursor 5 linhas para cima;
- 12h move o cursor 12 caracteres para a esquerda;
Início e fim do documento
Os arrastadores de mouse costumam utilizar as barras de rolagem ou as combinações Ctrl + Home ou Ctrl + End para ir respectivamente para o início ou o fim de um documento. Esqueça! No Vim a coisa é muito mais simples.
Em qualquer lugar que você esteja, para ir ao início do documento basta digitar gg no modo de comandos. Se desejar ir ao final do arquivo digite G maiúsculo ou Shift+g caso o caps lock não esteja ligado.
Mais comandos de movimentação pelo texto
Ficar pressionando h,j,k e l pode fazê-lo perder muito tempo caso você precise se deslocar para uma localização específica do texto. Felizmente há métodos mais rápidos.
O comando gg também serve para ir diretamente a uma determinada linha. Por exemplo: se independente da posição na qual você esteja você precisa ir para a linha 78, basta digitar 78gg e voilá! Outra maneira de ir para uma determinada linha é digitar :n no modo de comando onde n é o número da linha desejada.
O Vim utiliza muitos dos conceitos de expressões regulares e, assim, é interessante que você dê uma olhadinha neles para melhor utilizar o editor. Dois comandos onde estes conceitos são gritantes são os de se movimentar para o início e para o fim da linha atual: digite $ (ou shift + 4) para ir ao último caractere da linha onde está o cursor e ^para ir ao primeiro caractere desta linha (nota: dependendo da configuração de seu teclado, talvez seja necessário pressionar ^duas vezes; caso não funcione, experimente pressionar ~duas vezes para obter o efeito).
O comando w move o cursor para o início da próxima palavra, ou seja, a palavra imediatamente à direita daquela sobre a qual está o cursor; e move para o fim da próxima palavra e b para o começo da palavra anterior. É possível utilizar os comandos de repetição, por exemplo: 5w moverá o cursor para o início da quinta palavra após o cursor.
Localizando e substituindo texto
Lembra que eu disse que o Vim usa vários conceitos de expressões regulares? Pois estes facilitam em muito a tarefa de buscar ou de substituir um texto.
Para buscar um texto basta digitar /texto no modo de comandos. Ao pressionar Enter, a primeira ocorrência do texto aparecerá destacada na tela. Não é necessário utilizar aspas para buscar por textos com espaços (ao menos aqui não precisou xd). Por exemplo: para buscar por Brasil, digite /Brasil .
É importante salientar que /texto busca da posição atual para o fim do documento; se quiser procurar da posição atual para o início, utilize ? ao invés de / como em ?Brasil.
Para buscar a próxima ocorrência, basta pressionar n.
A busca do Vim é, por padrão, sensível à diferença entre maiúsculas e minúsculas. Assim, buscar /amor não é o mesmo que buscar /Amor. Felizmente, para ignorar tais diferenças basta utilizar a opção c como em /camor , que buscará amor, Amor, AMOR ou quaisquer outras combinações.
A substituição de textos é similar à busca com a diferença que você usa o comando :s/antigo/novo onde antigo é a palavra que você quer substituir e novo é a palavra que tomará o lugar da original. Por exemplo: :s/Brasil/Argentina vai substituir a primeira ocorrência de Brasil no texto por Argentina.
É possível especificar um intervalo de linhas no texto no qual a substituição deve ocorrer. Assim, :1,10 s/Brasil/Argentina realiza a substituição anterior da primeira à décima linha. Você pode substituir 10 por $ para substituir até a última linha.
Desfazendo alterações
Se você fizer algo errado, não se preocupe: pressione u para desfazer sua última ação ou U para desfazer todas as ações na linha atual. Pressione Ctrl + R para refazer as ações.
Copiando e colando
Esqueça os famosos Ctrl + C, Ctrl + V e Ctrl + X, o Vim utiliza sua própria sintaxe.
Para recortar texto, utilize x ou d: eles apagam o texto atual e o colocam na memória. x apaga um caractere e d deve ser utilizado com outro comando, por exemplo: dw deleta a palavra sobre o cursor e dd a linha sobre o cursor. Obviamente você pode utilizar a repetição: 5dw deleta as 5 palavras próximas ao cursor.
Para apenas copiar o texto sem apagá-lo, utilize yy, que é o comando que copia a linha atual. Colocar um número antes de yy faz o editor copiar esse número de linhas.
Para colar o texto, posicione o cursor no local desejado e pressione p.
Por enquanto é isso; na terceira parte, vamos ver como trabalhar com mais de um arquivo ao mesmo tempo e como dividir a tela do Vim em múltiplas janelas. Até!
Nenhum comentário:
Postar um comentário