Todos os produtos
Search
Central de documentação

Cloud Shell:Use the Vim editor

Última atualização: Sep 10, 2026

Alterne entre os modos do Vim, use comandos básicos de edição e execute tarefas comuns como pesquisar, substituir e comentar código.

Instalação

O Vim vem pré-instalado na maioria dos sistemas Linux. Execute vim --version para verificar a versão instalada. Este tópico usa o Vim 8.0 como exemplo. Comandos e recursos podem variar em outras versões.

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Aug 10 2022 11:26:47)
Included patches: 1-1763
Modified by OpenAnolis Community
Compiled by OpenAnolis Community
Enormous version without GUI.  Features included (+) or not (-):
+acl               +farsi             +mouse_sgr         -tag_any_white
 ......

Alternância entre modos

Execute vim filename para abrir um arquivo no modo Normal. Se o arquivo não existir, o Vim o criará. A tabela a seguir descreve cada modo e como alternar entre eles.

image

Modo

Função

Alternância de modo

Modo Normal

(Normal Mode)

Copia, cola e exclui caracteres ou linhas.

  • Execute vim <filename> para abrir um arquivo no modo Normal.

  • Em outros modos, pressione Esc para retornar ao modo Normal.

Modo de Inserção

(Insert Mode)

Insere caracteres na posição do cursor.

No modo Normal, pressione i,I,a,A,o,O para entrar no modo de Inserção.

Nota

Quando o modo de Inserção está ativo, -- INSERT -- aparece no canto inferior esquerdo.

Modo de Substituição

(Replace Mode)

Sobrescreve caracteres na posição do cursor.

No modo Normal, pressione R para entrar no modo de Substituição.

Nota

Quando o modo de Substituição está ativo, -- REPLACE -- aparece no canto inferior esquerdo.

Modo Visual

(Visual Mode)

Seleciona texto. Comandos como copiar, substituir e excluir aplicam-se apenas ao texto selecionado.

No modo Normal, pressione v para entrar no modo Visual.

Nota

Quando o modo Visual está ativo, -- VISUAL -- aparece no canto inferior esquerdo.

Modo de Comando

(Command Mode)

Localiza e substitui strings, exibe números de linha, salva alterações e sai.

No modo Normal, pressione : para entrar no modo de Comando.

Comandos básicos

Abertura de arquivos

  • vim filename: Abre um arquivo no modo Normal. Se o arquivo não existir, o Vim o criará.

  • vim filename1 filename2: Abre vários arquivos.

    • O Vim abre filename1 primeiro. Salve com :w e execute :bn para alternar para filename2. Salve filename2 com :w.

    • :bp: Alterna para o arquivo anterior.

    • :ls: Lista todos os arquivos abertos.

  • :open filename3: Abre um novo arquivo no modo de Comando. Salve o arquivo atual com :w antes.

Movimentação do cursor

  • No modo Normal

    • Seta para cima / k: Move para cima.

    • Seta para baixo / j: Move para baixo.

    • Seta para a esquerda / h: Move para a esquerda.

    • Seta para a direita / l: Move para a direita.

  • No modo de Inserção

    • Use apenas as teclas de seta.

Inserção de conteúdo

No modo Normal, pressione i,I,a,A,o,O para entrar no modo de Inserção:

  • i: Insere antes do cursor.

  • I: Insere no início da linha.

  • a: Insere após o cursor.

  • A: Insere no final da linha.

  • o: Abre uma nova linha abaixo.

  • O: Abre uma nova linha acima.

Cópia e colagem

No modo Normal:

  • yy: Copia a linha atual. Cole com p.

  • nyy: Copia n linhas a partir da linha atual. Por exemplo, 2yy copia duas linhas.

  • p: Cola abaixo do cursor.

  • P: Cola acima do cursor.

Exclusão

  • No modo Normal

    • x: Exclui o caractere na posição do cursor.

    • dd: Exclui a linha atual. Cole com p.

    • dk: Exclui a linha atual e a linha acima.

    • dj: Exclui a linha atual e a linha abaixo.

    • dG: Exclui da linha atual até o fim do arquivo.

    • nx: Exclui n caracteres a partir do cursor.

    • ndd: Exclui n linhas a partir da linha atual. Cole com p.

  • No modo de Inserção

    • Use Delete para excluir caracteres.

Pesquisa

No modo Normal

  • /text: Pesquisa por text. Por padrão, a pesquisa diferencia maiúsculas de minúsculas. Pressione Enter para destacar as correspondências.

    • Para pesquisar sem distinção entre maiúsculas e minúsculas, execute :set ignorecase. Para restaurar a distinção, execute :set noignorecase.

  • n: Próxima correspondência.

  • N: Correspondência anterior.

Substituição

  • No modo Normal

    • r: Substitui o caractere na posição do cursor.

    • R: Entra no modo de Substituição para substituição contínua. Pressione Esc para sair.

    • cc: Exclui a linha atual e entra no modo de Inserção.

    • :%s/oldtext/newtext/g: Substitui todas as ocorrências de oldtext por newtext. Sem /g, apenas a primeira correspondência por linha é substituída.

  • No modo de Inserção

    • Exclua o conteúdo antigo e digite o novo conteúdo.

Desfazer e refazer

No modo Normal

  • u: Desfaz a última alteração.

  • U: Desfaz todas as alterações na linha atual.

  • Ctrl+r: Refaz a última alteração desfeita.

Recuo e alinhamento

  • No modo Normal

    • >>: Recua a linha atual para a direita. Recuo padrão: 8 espaços (uma tabulação).

    • <<: Recua a linha atual para a esquerda.

  • No modo de Comando

    • :ce: Centraliza a linha.

    • :le: Alinha a linha à esquerda.

    • :ri: Alinha a linha à direita.

Comentário de código

Nota
  • Faça backup do arquivo antes de substituições em larga escala ou use o comando de desfazer (u) para reverter erros. Por exemplo, execute sudo cp /etc/text.txt /etc/text.txt.bak para fazer backup de um arquivo.

  • Entenda a sintaxe de expressões regulares do Vim para evitar exclusões acidentais de conteúdo. Nas regex do Vim, / deve ser escapado como \/. Pratique com ferramentas como Regex101.

  • Ajuste o símbolo de comentário conforme a linguagem de programação.

  • No modo Visual

    • Comentar várias linhas consecutivas de código

      1. Selecione as linhas a serem comentadas movendo o cursor para cima ou para baixo.

      2. Pressione : para entrar no modo de Comando. O Vim preenche automaticamente :'<,'>, que tem como alvo o intervalo selecionado.

      3. Insira o comando de substituição. Por exemplo, para adicionar # no início de cada linha, insira s/^/#/ e pressione Enter.

    • Comentar todo o código: :%s/^/#/g adiciona # no início de cada linha.

  • No modo de Inserção

    Digite manualmente os símbolos de comentário para comentar o código.

Salvamento e saída

  • Salvar: :w

  • Sair: :q

  • Salvar e sair: :wq, :x ou ZZ

  • Forçar saída sem salvar: :q!

  • Forçar salvamento e saída: :wq!

Criptografia de documentos

  • vim -x filename: Abre um arquivo com criptografia. Defina uma senha e salve o arquivo para que a criptografia tenha efeito. Aberturas subsequentes exigirão a senha.

  • Cancelar criptografia:

    1. Execute :set key= para limpar a chave de criptografia.

    2. Salve e saia com :wq.

    3. Reabra o arquivo com vim filename. Nenhuma solicitação de senha aparecerá.

Execução de comandos shell

  • !pwd: Mostra o diretório de trabalho atual.

  • !ls: Lista os arquivos no diretório atual.

Edição em múltiplas janelas

  • vim -o filename1 filename2: Abre dois arquivos em janelas separadas. Saia de cada janela individualmente.

  • :n: Próxima janela.

  • :N: Janela anterior.

Ajuda

  • Execute vim --help no terminal para visualizar a sintaxe dos comandos do Vim.

  • No modo Normal

    • :help: Abre o documento de ajuda do Vim (somente leitura). Saia com :q.

    • :help i: Mostra ajuda para i.

    • :help yy: Mostra ajuda para yy.

    • :set nu: Exibe os números das linhas.

Exemplos de uso

Modificar um arquivo de configuração

Insira Location na primeira linha de example.conf:

  1. Execute vim example.conf para abrir o arquivo.

  2. Posicione o cursor no primeiro caractere e pressione i para entrar no modo de Inserção.

  3. Insira Location e pressione Enter para iniciar uma nova linha.

  4. Pressione Esc para retornar ao modo Normal.

  5. Insira :wq para salvar e sair.

    example-1-1-2.gif

Inserir conteúdo em uma linha específica

Insira # no início da linha 10 em example.conf:

  1. Execute vim example.conf para abrir o arquivo.

  2. Execute :10 para mover o cursor para a linha 10.

  3. Pressione i para entrar no modo de Inserção.

  4. Insira #.

  5. Pressione Esc para retornar ao modo Normal.

  6. Insira :wq para salvar e sair.

    example-2-1-2.gif

Localizar e inserir conteúdo

Em example.conf, insira LoadModule rewrite_module modules/mod_rewrite.so após Include conf.modules.d/*.conf:

  1. Execute vim example.conf para abrir o arquivo.

  2. Pesquise pela linha alvo: /Include conf.modules.d/*.conf

  3. Pressione i para entrar no modo de Inserção.

  4. Insira LoadModule rewrite_module modules/mod_rewrite.so.

  5. Pressione Esc para retornar ao modo Normal.

  6. Insira :wq para salvar e sair.

    example-3-1-2.gif

Excluir conteúdo

Em example.conf, exclua # do início da linha #Listen 12.34.XX.XX:80 e exclua a linha Listen 80:

  1. Execute vim example.conf para abrir o arquivo.

  2. Pesquise pela linha alvo: /#Listen 12.34.XX.XX:80. O cursor posiciona-se em #.

  3. Pressione x para excluir #.

  4. Mova o cursor para a linha Listen 80 e pressione dd para excluí-la.

  5. Insira :wq para salvar e sair.

    delete-1.gif

Editar Docker.yaml

Crie e edite docker-compose.yaml:

vim docker-yaml-2.gif

Remover comentários de múltiplas linhas

  1. Considere que # esteja no início de uma linha, possivelmente precedido por espaços ou recuo:

    # This is a comment
        # Another comment
    # Yet another comment
  2. Remova os comentários:

    :%s/^\s*#\s\?//

    Detalhamento do padrão:

    • ^: Início da linha.

    • \s*: Qualquer espaço em branco (lida com recuo).

    • #: Símbolo de comentário.

    • \s\?: Um espaço opcional após #.

    • //: Substitui a correspondência por nada (exclui).

    Este comando processa o arquivo inteiro. Resultado:

    This is a comment
    Another comment
    Yet another comment

Atualize o Vim

Se a sua versão do Vim não atender às suas necessidades, atualize-a com os seguintes comandos.

Alibaba Cloud Linux 3 and 2

sudo yum update vim

CentOS 7 and 8

sudo yum update vim

Fedora

sudo yum update vim

Ubuntu and Debian

sudo apt upgrade vim

openSUSE

sudo zypper update vim

Solução de problemas

  • "No write since last change" ao sair:

    • Causa: O arquivo foi modificado, mas não salvo.

    • Solução: Salve e saia com :wq ou descarte as alterações com :q!.

  • Não é possível inserir texto:

    • Causa: Você pode estar em um modo diferente do modo de Inserção, como o modo Visual.

    • Solução: Pressione Esc para retornar ao modo Normal e, em seguida, entre no modo de Inserção.

  • Não é possível salvar o arquivo:

    • Causa: O usuário atual não tem permissões de gravação. Arquivos de configuração do sistema, como /etc/hosts e /etc/nginx/nginx.conf, exigem permissões de superusuário.

    • Solução 1: Abra o arquivo com sudo vim example.conf.

    • Solução 2: Salve com permissões elevadas usando :w !sudo tee %. Alternativamente, altere as permissões ou a propriedade do arquivo com sudo chown ou sudo chmod.

  • Existe um arquivo ".swp":

    • Causa: O arquivo está aberto em outra sessão do Vim.

    • Solução: Confirme se nenhum outro terminal está editando o arquivo. Caso contrário, localize e exclua o arquivo .swp com ll -a e reabra o arquivo. Alternativamente, execute :recover para restaurar a partir do arquivo de swap.