Todos os produtos
Search
Central de documentação

Elastic Compute Service:Use the Vim editor

Última atualização: Jul 05, 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 final 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.

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 expressões regulares 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 comentar 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. Digite o comando de substituição. Por exemplo, para adicionar # no início de cada linha, digite s/^/#/ e pressione Enter.

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

      5. No modo de Inserção

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

      6. 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 aplicar a criptografia. 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. Digite Location e pressione Enter para iniciar uma nova linha.

        4. Pressione Esc para retornar ao modo Normal.

        5. Digite :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. Digite #.

        5. Pressione Esc para retornar ao modo Normal.

        6. Digite :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 a linha de destino: /Include conf.modules.d/*.conf

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

        4. Digite LoadModule rewrite_module modules/mod_rewrite.so.

        5. Pressione Esc para retornar ao modo Normal.

        6. Digite :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 a linha de destino: /#Listen 12.34.XX:XX:80. O cursor ficará sobre #.

        3. Pressione x para excluir #.

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

        5. Digite :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 todo o arquivo. Resultado:

          This is a comment
          Another comment
          Yet another comment

        Atualizar o Vim

        Se sua versão do Vim não atender às 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 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 %. Como alternativa, 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. Como alternativa, execute :recover para restaurar a partir do arquivo swap.