Skip to main content

103.8 Editção básica de texto



Este objetivo inclui navegação vi, modos vi, inserção, edição, exclusão, cópia e localização de texto. Também inclui o conhecimento de outros editores comuns e a configuração do editor padrão.

VI


Na maioria das distribuições Linux, o editor vi (abreviatura de “visual”) é pré-instalado e é o editor padrão no ambiente shell. vi é um editor de texto interativo, que mostra o conteúdo do arquivo na tela à medida que ele é editado. Como tal, permite ao usuário mover-se e fazer modificações em qualquer parte do documento. No entanto, ao contrário dos editores visuais da área de trabalho gráfica, o editor vi é um aplicativo shell com atalhos de teclado para todas as tarefas de edição.

Uma alternativa ao vi, chamada vim (vi melhorado), às vezes é usada como um substituto moderno para o vi. Entre outras melhorias, o vim oferece suporte para realce de sintaxe, desfazer/refazer multinível e edição de vários documentos. Embora mais engenhoso, o vim é totalmente compatível com as versões anteriores do vi, tornando ambos indistinguíveis para a maioria das tarefas.

A forma padrão de iniciar o vi é fornecer a ele um caminho para um arquivo como parâmetro. Para ir direto para uma linha específica, seu número deve ser informado com um sinal de mais +, como em vi +9 /etc/fstab para abrir /etc/fstab e posicionar o cursor na 9ª linha. Sem um número, o sinal de mais por si só coloca o cursor na última linha.

A interface do vi é muito simples: todo o espaço disponível na janela do terminal é ocupado para apresentar um arquivo, normalmente informado como um argumento de comando, ao usuário. As únicas dicas visuais são uma linha de rodapé mostrando a posição atual do cursor e um til ~ indicando onde o arquivo termina. Existem diferentes modos de execução para ovionde o comportamento do programa muda. Os mais comuns são: modo de inserção e modo normal.


Modo de inserção

O modo de inserção é direto: o texto aparece na tela à medida que é digitado no teclado. É o tipo de interação que a maioria dos usuários espera de um editor de texto, mas não é como o vi apresenta um documento pela primeira vez. Para entrar no modo de inserção, o usuário deve executar um comando de inserção no modo normal, podendo ser a tecla Insert ou a letra i. A tecla Esc termina o modo de inserção e retorna ao modo normal, o modo vi padrão.


Modo normal

O modo normal também conhecido como modo de comando é como ovié iniciado por padrão. Neste modo, as teclas do teclado são associadas a comandos para navegação e tarefas de manipulação de texto. A maioria dos comandos neste modo são chaves exclusivas. Algumas das teclas e suas funções no modo normal são:


TeclasDescrição
0, $Vá para o início e o fim da linha
1G, GVá para o início e o final do documento
ggVá para o início
/(String)Faz buscas pela palavra desejada. Apertenpara avançar na busca eNpara voltar.
?(String)Faz buscas invertida (Inicia a busca pelo final do arquivo) pela palavra desejada.
hMove o cursos para esquerda (Igual seta para esquerda)
lMove o cursos para direita (Igual seta para direita)
jMove o cursos para baixo (Igual seta para baixo)
kMove o cursos para cima (Igual seta para cima)
Tecla i ou insertEntra no modo de edição.
oEntra no modo de edição, mas adiciona uma linha abaixo.
OEntra no modo de edição, mas adiciona uma linha acima.
aEdita a partir do próximo caractere.
d (setas)Para baixo apaga a linha atual mais a linha de baixo. Para cima apaga a linha atual mais a linha de cima. Setas para os lados, apagando o próximo caractere ou o anterior.
AEdita a partir do final da linha.
uDesfaz a ultima alteração.
Crtl+rRefaz a ultima alteração.
ddRecorta uma única linha
(numero)ddRecorta a quantidade de linhas estabelecidas
pCola abaixo
PCola acima
ccRecorta a linha e entra no modo de edição.
yyCopia uma única linha
(numero)yyCopia a quantidade de linhas estabelecidas
:wSalva o arquivo
:qSai do arquivo
:quitSai do arquivo
:xSalva e sai do arquivo
ZZ ou Shift+zzSalva e sai do arquivo
ZQSai do arquivo sem salvar
: Qualquer coisa com !Força a ação, ex.: :q! força a saída (sem salvar), :w! força o salvamento do arquivo.
:!(Comando)Executa um comando (não interfere no arquivo).
:w (nome)Salva com outro nome (Cria outro arquivo)
:%s/String1/String2/Substitui String1 por String2
:ceAlinhamento central
:riAlinhamento a direita
:leAlinhamento a esquerda
:(numero)Posiciona o cursos na linha que tem do numero indicado.
:(numero)dApaga a linha do numero que foi indicado
:e (arquivo)Muda para o outro arquivo
:set number ou set nuHabilita a numeração das linhas.
:set nonumber ou set nonuDesabilita a numeração das linhas.
:read ! (Comando)Adiciona a saída do comando ao arquivo.

Modo replace (Substituição)

Serve apenas para que cada caractere digitado substitua o próximo caractere.



Nano


Nano é um editor de texto para sistemas Unix-like ou ambientes usando command line interface. Ele emula o editor de texto Pico, parte do cliente de email Pine, e também provê funcionalidade adicional. Em contraste com Pico, nano é licenciado sob o GNU General Public License.


Só possui o modo de edição.

Na parte inferior do nano já temos algumas opções para operar com a ferramenta.


Quando você notar o circunflexo ^ na parte inferior do nano, onde temos o menu de ajuda, esse circunflexo significa Ctrl. Quando você notar o M na parte inferior do nano, onde temos o menu de ajuda, esse M significa Alt.

AtalhoDescrição
^gMenu de Ajuda
^xSair
^wPesquisa por alguma string
^oSalvar
M-uDesfazer a ultima alteração
M-eRefazer a ultima alteração
Alt+/Vai para o final do texto
Alt+\Vai para o começo do texto
^vVai para "próxima página", começa a paginar o arquivo
^yVolta a página
^Shift_Abre um menu para digitar o número da linha que queremos ir

Emacs


O GNU Emacs Manual chama o Emacs de editor de exibição em tempo real extensível, personalizável e autodocumentado. Além de apenas ser capaz de editar arquivos de texto simples, o Emacs inclui recursos especiais para ajudá-lo a escrever em muitas linguagens humanas diferentes e linguagens de programação/marcação:


Em ambientes com wayland ou xorg, o emacs vai abrir uma janela (interface gráfica), para isso que não ocorra,

sempre rode emacs -nw arquivo.

AtalhoDescrição
Ctrl+x Ctrl+cSair
Ctrl+x Ctrl+sSalvar arquivo
Ctrl+x sSalva mas pergunta antes
Ctrl+x Ctrl+wSalvar como
Ctrl+s \<string>Faz uma busca
Ctrl+r \<string>Faz uma busca reversa
Ctrl+x Ctrl+fBusca os arquivos para abrir
Ctrl+kRecorta uma linha
Ctrl+yCola
Ctrl+eVai para o final de linha
Ctrl+aVai para o começo da linha
Ctrl+/Desfaz a ação
Alt+x \<tipo>Seleciona o tipo da linguagem de interpretação do arquivo

Mudar o Editor padrão


Alguns comandos, que requerem alguma alteração em arquivos utilizam o editor padrão, geralmente, se não estiver configurado eles te perguntam, mas se estiver, vai abrir o editor padrão (as vezes um editor que você não goste tanto), um exemplo disso é o comando crontab -e.

Existem 2 formas de alterar o editor padrão:

  • A primeira é usar o comando select-editor (funciona apenas para sistema Debian ou derivados).


  • A segunda é exportar a variável EDITOR, assim export EDITOR=nano;