01.05. Mudando de Modos – Modo de Comando

Essa é a parte onde você vai aprender a fazer as coisas que precisavam de um menu para serem feitas.

Existem três "iniciadores" de comandos no modo de... erm... comando:

Comandos de Edição

Assim como os comandos do modo normal, a quantidade de comandos de edição é grande demais para cobrir de uma vez só. Então vamos dar uma olhada nos mais utilizados:

:q

Sai do VIM. Esse deve ser o comando mais infame da história do editor -- pelo menos, para os não iniciados. E ele ainda aparece na tela inicial do VIM, se você prestar atenção.

:w

Salva o arquivo atual em disco. Você pode passar o nome do arquivo a ser salvo neste ponto. :w, por exemplo, irá salvar o conteúdo com o nome atual; :w outro-nome irá salvar o conteúdo no arquivo "outro-nome".

:wall

Salva todos os arquivos arquivos. Mais adiante veremos como ter vários arquivos abertos ao mesmo tempo.

:wq

Salva o arquivo atual e o fecha.

:help

Abre o help do VIM no tópico indicado. Por exemplo, :help :w irá apresentar as opções existentes para o comando :w; :help c irá mostrar as opções do comando c do modo normal e assim por diante.

:set

Configura (ou apresenta) alguma configuração do VIM. Mais a frente veremos como configurar o VIM e veremos as opções este comando.

:r

(Ou :read) Não é muito comum, mas permite carregar o conteúdo de outro arquivo para dentro do arquivo atual. sem precisar fazer todo o processo de copiar-e-colar (que veremos mais adiante). Um fato interessante de :r é que se o nome do arquivo a ser carregado começar com "!", o VIM irá tentar executar o comando ao invés de carregar o conteúdo. Por exemplo, :r date irá carregar o conteúdo do arquivo date para dentro do arquivo atual enquanto que :r !date irá executar o comando date e "colar" o resultado para dentro do arquivo atual.

:noh

(Ou :nohighlight) Desliga a marcação sobre elementos de pesquisa. A seguir nós vamos ver sobre o comando de pesquisa; ao fazer uma, o VIM irá colocar um "realce" (ou "highlight") sobre as palavras encontradas. Para desligar esses realces no texto, você pode usar :noh.

Aqui eu preciso abrir três parenteses:

Comando de Pesquisa

O comando de pesquisa é, simplesmente, /. Uma vez pressionado, você verá o cursor indo para a última linha da tela esperando a pesquisa. Uma coisa a ter em mente é que o VIM utiliza expressões regulares -- então algumas coisas que você procurar não irão funcionar exatamente como você está esperando. ".", por exemplo. Eu não vou entrar em detalhes sobre expressões regulares porque há pilhas de informações sobre elas na internet -- e há praticamente mais sobre elas do que essa série tem (e terá) sobre VIM.

Dois comandos do modo normal que eu não mencionei antes por estarem ligados ao comando de pesquisa são n e N. n irá mover o cursor para a próxima ocorrência da pesquisa, enquanto que N move o cursor para a anterior. Note que eu falei "move o cursor"; isso quer dizer que n e N são comandos de movimentação e, portanto, podem ser usados com outros comandos do modo normal que utilizam movimentação. Por exemplo, procurar por "olá" e, em modo normal, executar cn irá remover tudo da posição do cursor até a próxima ocorrência de "olá" (e entrará em modo de edição).

Comando de Filtro

O comando de filtro pega o conteúdo no editor e passa para outro programa. Por exemplo, se você tiver o aplicativo "rot13", ao executar !rot13, todo o conteúdo do arquivo será convertido para ROT13. Se você digitar !!rot13, no entanto, o conteúdo ainda será passado para o filtro e o resultado irá substituir o conteúdo do buffer atual.

Não parece ser interessante, mas um dos aplicativos que normalmente vem com o VIM é "xxd", que converte o conteúdo para sua representação hexadecimal. Ao executar "!xxd", você verá todo o conteúdo do seu arquivo com os valores hexadecimais de cada caracter.

1 Não confunda "Não ter permissão de escrita" com "O arquivo pertence ao root". No primeiro caso, o usuário tem permissão de ler o arquivo e trocar as permissões enquanto que no segundo o editor teria que ter permissões especiais de execução para poder trocar as permissões. O VIM só consegue responder ao :w! se ele próprio -- e, no caso, o próprio usuário -- tiver permissões suficientes sem requisitar outro aplicativo.

2 Na verdade, o VIM vem sim com comandos que inicial com letra maíuscula: São os comandos de exploração de diretório :Explore, :Rexplore, :Vexplore e o famigerado :Sexplore, que o pessoal costuma encurtar para :Sex.

<< Modo Visual
 
Modo de Comando >>