Escolar Documentos
Profissional Documentos
Cultura Documentos
O Editor VI
Pode ser descrito como vantagem, a instalação de todo e qualquer UNIX / Linux existentes no
mercado.
Como desvantagem podemos descrever sua interface pobre e com comandos enigmáticos.
Trabalha em dois modos:
• Modo de comandos
• Modo de edição
As configurações do Linux podem ser feitas em interfaces gráficas de utilitários, e em interfaces
texto através de arquivos de configuração; neste caso, é fundamental ao administrador o domínio de
um aditor de textos. Apesar do editor vi ser extremamente pobre em recursos de edição, ele é
extremamente útil justamente por estar presente em todas as distribuições UNIX / Linux.
Modo de comando
Utilizado sempre que se quiser interagir com o editor de textos de forma a passar instruções
relativas ao texto. Tudo que for passado pro vi no modo de comando sempre será entendido como
comando e nunca como dados.
Modo de edição
Modo utilizado na criação do texto ou edição do mesmo. Mesmo comandos válidos serão
entendidos como dados se forem passados nesse modo. É o modo para escrever o texto (conteúdo)
do arquivo, isto é, as teclas digitadas serão inseridas no arquivo.
Para entrar no modo de edição, é preciso ter dado um comando de edição, por exemplo, i ou a.
Para sair do modo de edição, e voltar ao modo de comandos, basta pressionar a tecla ESC.
Um fota muito importante com relação a editores de texto é lembrar que, no sistema UNIX / Linux,
o final da linha é marcado apenas com um caractere LF (Line-Feed), enquanto que em sistemas
Windows o final da linha é marcado com a seqüência de caracteres CR-LF (Carriage Return-Line
Feed).
Outros editores: mcedit, kedit, kwrite, pico, emac
Teclas de alternância entre os modos
esc - alterna do modo de edição para o modo de comando. insert, a, i - alterna do modo de comando
para o modo de edição.
Para criar um novo arquivo texto, basta digitar vi na linha de comandos do shell. Para abrir um
arquivo existente, basta digitar vi nome_do_arquivo.
$ vi
ou
$ vi arquivo
Toda vez que o vi é acionado, ele começa no modo de comandos. Pelo modo de comandos é
possível navegar pelo arquivo, procurar palavras (ou frases), substituir, apagar, copiar, etc...
Para entrar no modo de edição, é preciso dar algum comando de edição para o vi. A forma mais
comum é dar o comando de inserção (i de insert) ou de edição ( a de append).
Comando vi Descrição do modo apresentando na tela, funções e informações
Comando insert Passa para o modo de edição, notar informação na parte inferior da tela.
i, a inserir, acrescentar
critério de busca.
:w, :q, :q!, :w! Salvar, sair do vi, sair sem salvar, força gravação (usado
:wq, ZZ salva e sai do vi (:qw não pode ser executado porque não pode-se sair do
:x salvar e sair
dd apaga n linhas
yy copia n linhas
O vi quando é finalizado sem sair do programa é criado um arquivo com extensão .swp
:args (utilizado para visualizar os arquivos abertos numa mesma sessão)
comandos que serão utilizados numa situação de sessão compartilhada entre arquivos do vi.
Sessão compartilhada entre diversos arquivos:
split abre uma outra sessão ou terminal do vi permitindo o gerenciamento de um outro
arquivo em paralelo. As sessões abertas a partir do comando :split são absolutamente
independentes.
Metacaracteres
. |
+ |
? |
^ | Ex.: grep
$ |
exemplo de busca:
exemplo de pesquisa:
grep -E
Usando o VI
Modo de Edição
No modo de edição, você pode digitar a vontade como se fosse um editor de textos comum. Esse
modo é iniciado no editor a partir do shell digitando-se vi entra-se no editor através de um dos
seguintes comandos:
i : insere texto a partir do cursor atual
Modo de Comando
No modo de comando, você pode executar comandos. O modo de comando começa quando se
aperta a tecla ESC. Alguns desses comandos são: substituição, inserção e procura de texto, gravação
e abertura de arquivos entre outros, além de recorte, cópia e colagem de texto.
Os comandos mais usados são:
/Expressão: Procura Expressão (que pode ser qualquer palavra) no texto
comando n vezes
:q : Sai do Vi
O sinal de mais "+" indica teclas pressionadas simultaneamente. A vírgula indica que as teclas
devem ser digitadas em seqüência.
Ação Comando
Arquivo
Abrir :e arquivo
Salvar :w
Editar
Marcar texto para copiar ou cortar v, setas direção
Colar p
Localiza novamente /
Localiza novamente ?
Desfazer u
Refazer CTRL+r
Formatar
Alinhamento Centralizado :ce
Ajuda
help
mesmo.
$ vi arquivo +10 => Abre o arquivo de nome "arquivo", com o cursor na linha 10.
da palavra "Copag".
Ao executar o vim, ele inicia diretamente em modo de comando. Para comprovar, é só olhar na
última linha (rodapé) e não vai haver nada lá. Isso quer dizer que você não conseguirá escrever
nada, pode digitar a vontade que só vai ouvir beeps. Para começar a escrever, pressione "i" em seu
teclado. O vim entra em modo de inserção, que você comprova (como falado anteriormente) pelo
rodapé da tela, onde fica a seguinte marcação:
- - -- INSERT --
Lembre que utilizando o "i" para inserção, a mesma se inicia inserindo texto antes do cursor. Veja
agora outros subcomandos de inserção de texto:
A => Insere o texto no fim da linha onde se encontra o cursor
w => Move o cursor para o início da próxima palavra (não ignorando a pontuação).
pontuação).
?palavra => Move para a ocorrência anterior da palavra (para repetir a busca use
"n").
linhas.
(qualquer número).
especificado em CARACTER.
comando.
corrente.
substituição.
:% s/./u&/gc => Converte para maiúsculas (u) o primeiro caracter (.) de cada
linha.
Abreviações
:ab => Mostra todas as abbr.
Porém, Ctrl+] também pode ser usado, para expandir sem adicionar caracteres.
Observação: Onde está escrito "seleciona", é para fazer utilizando o modo visual (v).
Agora veja como definir coluna de quebra de linha (problema que eu tive quando iniciei no
aprendizado do vim):
:set textwidth=N
Se você já estiver num arquivo pronto:
:set wm=5 => O número 5 aqui são as colunas que serão "cortadas".
Vamos ver agora o que podemos fazer pressionando a tecla "Ctrl": É claro que é segurando Ctrl + .
No modo de COMANDO:
A => Incrementa um número (Add)
S => ScrollLock
I => TAB
S => ScrollLock
H => BackSpace
Exemplos: Para fazer um º, use Ctrl+K,-,o ("Ctrl"+"K"+"-"+"o"). Para fazer um ½, use Ctrl+K,1,2
("Ctrl"+"K"+"1"+"2").
Os registradores
"[a-z] => Use o registrador [a-z] para o próximo delete, cópia ou cola.
Dica: Pode-se colocar o @[a-z] dentro da própria gravação do q[a-z]! Assim ele é executado
recursivamente. Muito útil quando há uma procura de padrões na gravação. faz para todas as
ocorrências.
Mapeamentos
:map :r!date => Mapeamento em modo de comando.
Exemplos:
"liga/desliga autoIndent
:map / *$^M
Para desabilitar:
:set noexpandtab
Podemos colocar também no arquivo ~/.vimrc a seguinte linha: set expandtab O arquivo ~/.vimrc
pode ser usado para muitas configurações, e essa é uma delas. Existe ainda o arquivo ~/.exrc, mas
não entraremos em detalhes.
Podemos incluir a saída de um comando no vim, utilizando:
:r!comando
Por exemplo:
:r!rpm -q kernel
:left
:right
:center
E para fazer uma busca de 2 palavras ao mesmo tempo:
/palavra1|palavra2
O vim é um editor de textos com centenas de opções, comandos, strings... Enão dá para abordar
tudo aqui. Por isso, a melhor maneira de conhecê-lo a fundo é usando-o.
Subcomandos do editor VI
MODO TEXTO
Subcomandos de inserção de texto:
i - insere texto antes do cursor
MODO COMANDO
?palavra - move para a ocorrência anterior da palavra (para repetir a busca usar
n)
linhas
caracter)
texto adicionado)
automaticamente.
automaticamente.
C - substitui restante da linha corrente. Pode-se inserir o texto logo após o
comando
normalmente
advertência.