Editar arquivos de configuração é uma tarefa comum quando utilizamos um sistema operacional Unix-like. Quem é que nunca teve que editar algum arquivo sem a utilização da interface gráfica? Apesar de existirem outros editores, nessas horas o bom e velho Vi é imbatível.
O programa foi criado por Bill Joy em 1976, na Universidade de Berkeley, Califórnia. Em 1991, foi lançado o editor Vim, uma derivação melhorada do Vi (o nome Vim é abreviação para Vi IMproved, ou Vi Melhorado). Ele está presente em quase todas as distribuições Linux, oferecendo mais recursos que o Vi original. Para usar os beneficios do Vim, é necessária a instalação do pacote vim-enhanced.
----------------------------------------
Iniciando o Editor Vi
Antes de sair editando arquivos importantes, recomendo praticar num arquivo qualquer. Por exemplo:
Para abrir o arquivo criado com o Vi, simplesmente digite:
Outras formas de iniciar o editor:
----------------------------------------
Vi e seus modos
Antes de editar ou escrever algo, é necessário conhecer os dois modos do Vi. São eles:
1 - Modo de comando: Neste modo, tudo o que for digitado será interpretado como um comando. Boa parte dos comandos podem ser executados com um simples caracter, enquanto outros requerem mais informações. O modo de comando é usado para funções como copiar, colar e remover palavras ou linhas inteiras, por exemplo.
2 - Modo de edição : Neste modo, todos os caracters digitados são exibidos na tela e se tornam parte do documento atual. As opções de edição se resumem a inserir ou substituir caracteres.
----------------------------------------
Mas como eu sei em que modo estou?
Por padrão, o Vi é aberto no modo de comando.
As palavras INSERT (INSERÇÃO) ou REPLACE (SUBSTITUIÇÃO) estão aparecendo no canto inferior esquerdo da tela? Se sim, você está no modo de edição (ou substituição, que é praticamente a mesma coisa). Se não, está no modo de comando. Para sair do modo de edição, simplesmente pressione ESC. Para entrar no mesmo, continue com a leitura.
----------------------------------------
Movendo-se pelo Vi
Quer editar apenas uma determinada palavra? Primeiro é preciso chegar até ela.
----------------------------------------
Mão na massa: inserindo e editando textos
Você já sabe que para adicionar ou editar o texto é necessário entrar no modo de edição. Para isso, use um dos comandos abaixo:
----------------------------------------
Apagando, copiando e colando
----------------------------------------
Outros comandos úteis
----------------------------------------
Modificando comandos com números
Digamos que você tenha que apagar 20 linhas. Ao invés de utilizar o dd repetidas vezes (e quase acabar com sua tecla D) você pode apagar as 20 (ou quantas precisar) de uma vez só. Isso se aplica também aos outros comandos de edição e movimentação.
Exemplos:
----------------------------------------
Comandos Ex
São os comandos iniciador por :, como os comandos pra salvar, sair e mais uma porrada de utilidades.
----------------------------------------
Comandos Set
São utilizaros para alterar algumas opções na sessão do editor aberta.
Em breve adicionarei outros comandos.
----------------------------------------
Referências:
Fedora Linux Toolbox
Infowester
O programa foi criado por Bill Joy em 1976, na Universidade de Berkeley, Califórnia. Em 1991, foi lançado o editor Vim, uma derivação melhorada do Vi (o nome Vim é abreviação para Vi IMproved, ou Vi Melhorado). Ele está presente em quase todas as distribuições Linux, oferecendo mais recursos que o Vi original. Para usar os beneficios do Vim, é necessária a instalação do pacote vim-enhanced.
----------------------------------------
Iniciando o Editor Vi
Antes de sair editando arquivos importantes, recomendo praticar num arquivo qualquer. Por exemplo:
Código:
$ cp /etc/inittab /tmp
Código:
$ vi /tmp/inittab
Código:
$vi +25 /tmp/inittab Iniciar na linha 25
$vi + /tmp/inittab Iniciar o editor na última linha do arquivo
$vi +/tty /tmp/inittab Iniciar na primeira linha que começa com a palavra "tty"
$vi -r /tmp/inittab Recuperar o arquivo de uma sessão mal finalizada (deu pau enquanto eu tava editando)
$view /tmp/inittab Abrir o arquivo somente em modo de leitura
Vi e seus modos
Antes de editar ou escrever algo, é necessário conhecer os dois modos do Vi. São eles:
1 - Modo de comando: Neste modo, tudo o que for digitado será interpretado como um comando. Boa parte dos comandos podem ser executados com um simples caracter, enquanto outros requerem mais informações. O modo de comando é usado para funções como copiar, colar e remover palavras ou linhas inteiras, por exemplo.
2 - Modo de edição : Neste modo, todos os caracters digitados são exibidos na tela e se tornam parte do documento atual. As opções de edição se resumem a inserir ou substituir caracteres.
----------------------------------------
Mas como eu sei em que modo estou?
Por padrão, o Vi é aberto no modo de comando.
As palavras INSERT (INSERÇÃO) ou REPLACE (SUBSTITUIÇÃO) estão aparecendo no canto inferior esquerdo da tela? Se sim, você está no modo de edição (ou substituição, que é praticamente a mesma coisa). Se não, está no modo de comando. Para sair do modo de edição, simplesmente pressione ESC. Para entrar no mesmo, continue com a leitura.
----------------------------------------
Movendo-se pelo Vi
Quer editar apenas uma determinada palavra? Primeiro é preciso chegar até ela.
Código:
PageDown, Ctrl + fPróxima página
PageUp, Ctrl + bPágina anterior
Ctrl + dMeia página abaixo
Ctrl + uMeia página acima
Shift + gIr para a última linha do arquivo
:1Ir para a primeira linha do arquivo (use qualquer n° para ir para a linha desejada)
Shift + hMover o cursor para o topo da tela
Shift + mMover o cursor para o meio da tela
EnterMover o cursor para o começo da próxima linha
HomeMover o cursor para o começo da linha
EndMover o cursor para o fim da linha
wMover o cursor para a próxima palavra
bMover o cursor para a palavra anterior
Seta para a esquerda, hUma letra para a esquerda
Seta para a direita, lUma letra para a direita
Seta para cima, kUma letra acima
Seta para baixo, jUma letra abaixo
Mão na massa: inserindo e editando textos
Você já sabe que para adicionar ou editar o texto é necessário entrar no modo de edição. Para isso, use um dos comandos abaixo:
Código:
i (Insert)Inicia a edição antes do caracter atual
avigation_Inicia a edição depois do caracter atual
oAbre uma nova linha abaixo do caracter atual
sApaga o caracter atual e inicia a edição naquele ponto
Shift + iInicia a edição no começo da linha atual
Shift + aInicia a edição no final da linha atual
Shift + oAbre uma nova linha acima da linha atual
Shift + sApaga a linha atual e inicia a edição
Apagando, copiando e colando
Código:
xApaga o caracter abaixo do cursor
dwApaga/recorta uma palavra após o cursor
dbApaga/recorta uma palavra antes do cursor
ddApaga/recorta a linha toda
ywCopia uma palavra
yyCopia uma linha
pCola o conteúdo copiado/recortado na frente do cursor
Shift + xApaga o caracter atrás do cursor (similar ao backspace)
Shift + DApaga/recorda a linha toda a partir do cursor
Shift + yCopia uma linha (mesma coisa que o yy)
Shift + PCola o conteúdo copiado/colado atrás do cursor
Outros comandos úteis
Código:
uDesfaz a última ação (também conhecido como comando anti-cagada)
Ctrl + rRefaz a ação desfeita
.Repete a última ação
Shift + jJunta a linha atual com a próxima
~Inverter maiúscula/minúscula
Modificando comandos com números
Digamos que você tenha que apagar 20 linhas. Ao invés de utilizar o dd repetidas vezes (e quase acabar com sua tecla D) você pode apagar as 20 (ou quantas precisar) de uma vez só. Isso se aplica também aos outros comandos de edição e movimentação.
Exemplos:
Código:
5dwApaga/recorda 5 palavras após o cursor
3ddApaga/recorta 3 linhas
8pCola o conteúdo copiado/recortado 8 vezes após o cursor
10jMove o cursor 10 linhas abaixo
Comandos Ex
São os comandos iniciador por :, como os comandos pra salvar, sair e mais uma porrada de utilidades.
Código:
:wSalvar
:qSair
:wqSalvar e sair
:xSalva e sai (igual ao :wq); O comando Shift + zz também executa essa ação
:w!Salvar forçado
:q!Sair forçado
:e abc.txtSair do arquivo atual e abrir o arquivo abc.txt
:.r abc.txtColar o conteúdo do arquivo abc.txt no arquivo atual
:s/RH/Red HatSubstituir a primeira ocorrência de RH por Red Hat na linha atual
:s/RH/Red Hat/gSubstituir todas as ocorrências de RH por Red Hat na linha atual
:&s/RH/Red Hat/gSubstituir todas as ocorrências de RH por Red Hat no arquivo inteiro
:!bashSair para o terminal (sem fechar o arquivo). Digite exit para voltar ao arquivo
:!dateExecutar o comando date (ou qualquer outro desejado). Pressione Enter para voltar ao arquivo
:!!Reexecuta o comando anterior
:20Ir para a linha 20 (ou qualquer outra desejada)
Comandos Set
São utilizaros para alterar algumas opções na sessão do editor aberta.
Código:
:set allowLista todas as opções
:set numberMostrar o número das linhas
:set autowriteSalvar a cada alteração
:set incsearchMostra o resultado da busca enquanto digita
:set ignorecaseIgnorar diferenças entre maiúsculas/minúsculas na busca
----------------------------------------
Referências:
Fedora Linux Toolbox
Infowester