Fuja do VI/Vim: Truques para Sair (e Salvar!) Agora

O editor vi pode parecer desconcertante para quem não está familiarizado com seu funcionamento. É quase como se fosse necessário um protocolo secreto para escapar dele quando se entra por engano. Vamos explorar como encerrar o vi ou vim, seja no Linux, macOS ou qualquer sistema similar a Unix.

A Maneira Mais Rápida de Sair

Se você se encontrar no vi ou vim e precisar sair rapidamente – com ou sem salvar as alterações –, aqui está o procedimento:

Primeiro, pressione a tecla Esc algumas vezes para garantir que o vi esteja no modo de comando, e não no modo de inserção. Em seguida, digite :q! e pressione Enter. Isso instrui o vi a sair sem guardar nenhuma modificação. (Caso queira salvar, use :wq em vez disso).

Se seu objetivo é dominar a linha de comando do Linux, o conhecimento básico para sair do vi é apenas o começo. Continue lendo para entender o funcionamento do vi e a lógica por trás de seus comandos de saída aparentemente estranhos. O vi é uma ferramenta valiosa e poderosa, e o esforço para aprendê-lo compensa.

O vi: Um Editor Onipresente

A presença do vi é notável, o que significa que você provavelmente irá se deparar com ele. É possível até mesmo entrar no vi por engano. Por exemplo, ao executar um comando como crontab -e, o vi pode surgir de repente porque foi configurado como o editor padrão. Ou talvez você esteja gerenciando um sistema onde o vi é o único editor disponível via SSH, e precisa editar o arquivo .bashrc de um usuário.

Para abrir um arquivo com o vi, o comando é simples: digite vi, um espaço, e o nome do arquivo, seguido de Enter. O programa que se inicia pode ser o vi original ou o vim, uma versão aprimorada. Isso varia conforme a distribuição Linux – o Ubuntu, por exemplo, utiliza o vim. As instruções deste artigo são válidas para ambos os editores.

vi .bashrc

Uma diferença notável entre o vi e outros editores é que ele não permite que você comece a digitar texto imediatamente após sua inicialização. Isso ocorre porque o vi é um editor modal, onde a edição de texto ocorre no modo de inserção, enquanto a execução de comandos acontece no modo de comando. Ao iniciar, o vi se encontra no modo de comando.

O conceito de modos de inserção e comando pode ser confuso inicialmente. Muitos comandos do modo de comando podem influenciar o arquivo que você está editando. Tentar digitar texto enquanto estiver no modo de comando pode levar a resultados inesperados, já que as teclas digitadas serão interpretadas como comandos, que podem apagar linhas, mover o cursor, ou excluir conteúdo.

E, não importa o que você tente, você pode não encontrar um meio claro de sair do editor. Enquanto isso, seu arquivo pode estar sendo desfigurado e os bipes aleatórios podem estar enlouquecendo você.

Modo de Comando vs. Modo de Inserção

É necessário colocar o vi no modo apropriado de acordo com a ação desejada.

O modo de comando é o modo padrão quando o vi é aberto. Se você não souber disso, sua primeira reação pode ser tentar digitar. Se, por acaso, você apertar a tecla ‘i’ ou qualquer outra tecla que ativa o modo de inserção (a, A, c, C, I, o, O, R, s, e S), você notará que o texto digitado aparece na tela. Agora você está no modo de inserção.

Isso pode parecer um avanço até que você pressione uma das teclas de seta. Se isso acontecer, A, B, C ou D aparecerão como letras solitárias em uma linha em branco no topo do arquivo.

Não se preocupe, temos a solução. O processo é simples quando você sabe como. Lembre-se destas duas teclas: Esc leva você para o modo de comando, e “i” leva para o modo de inserção.

Para sair do editor, é preciso estar no modo de comando e inserir o comando correto.

Do Modo de Comando à Segurança

Para acessar o modo de comando, aperte a tecla Esc. Nada visível acontecerá. Pressione algumas vezes adicionais. Se você ouvir um bipe ao pressionar Esc, você já está no modo de comando. O bipe sinaliza: “Pare de apertar Esc, você já está no modo de comando”. Portanto, se ouvir o bipe ao pressionar Esc, você está no caminho certo.

Digite dois pontos, a letra “q” e um ponto de exclamação, sem espaços. Esses três caracteres devem surgir na extremidade esquerda da linha inferior do terminal. Se isso não ocorrer, pressione Esc até ouvir um bipe e tente novamente. Pressione Enter quando os caracteres estiverem visíveis:

:q!

Nesse comando, “q” é a abreviação de “quit”, ou seja, “sair”. O ponto de exclamação adiciona ênfase, como se você estivesse gritando “Saia!” para o vi. Isso pode até ajudar você a se sentir melhor.

O ponto de exclamação também instrui o vi a não salvar quaisquer modificações feitas no arquivo. Se você tem enfrentado dificuldades com o vi e não tem certeza do que fez, provavelmente não vai querer salvar as alterações.

Depois de retornar à linha de comando, é recomendável verificar se o arquivo não foi alterado. Isso pode ser feito com o seguinte comando:

cat .bashrc | less

Ao sair do vi, se você vir a mensagem “sem gravação desde a última alteração”, isso indica que você se esqueceu do ponto de exclamação no comando. Para evitar que você saia sem salvar as alterações desejadas, o vi está te oferecendo a chance de salvá-las. Basta reeditar o comando :q! com o ponto de exclamação para sair do vi sem salvar as alterações.

Se Tiver Certeza, Salve suas Alterações

Se você estiver satisfeito com as modificações feitas no arquivo, pode sair e salvá-las usando o comando :wq (escrever e sair). Antes de prosseguir, tenha certeza de que você quer que as alterações sejam gravadas no arquivo.

Digite dois pontos, a letra “w” (write) e a letra “q” (quit). Pressione a tecla Enter quando você puder vê-los no canto inferior esquerdo do terminal:

:wq

O Esforço de Aprendizado Vale a Pena

Usar o vi é um pouco como tocar um piano. Você não pode simplesmente sentar e sair tocando; é preciso praticar. Tentar aprendê-lo no calor do momento, quando você está sob pressão para editar algo, não é a melhor maneira. É o mesmo que tentar tocar piano pela primeira vez no momento em que a cortina do show está sendo levantada.

Grande parte do poder do vi surge de suas várias combinações de teclas, cada uma realizando uma tarefa de edição comum. Isso é ótimo, mas você só pode se beneficiar delas depois de tê-las memorizado, praticado, e incorporado à sua memória muscular.

Enquanto isso, se você se encontrar no vi com um arquivo importante, apenas use :q! e saia. Seu arquivo irá agradecer.