Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Sistemas Operativos
ETI - IGE
2 Semestre
2005/2006
Ficha 2
Editor de Texto: vi
1. Invocar o vi
Invoque o vi usando o seguinte comando:
> vi teste.c
se o ficheiro existir aparece o seu contedo anterior, seno aparece o ecr vazio.
(os ~ simbolizam apenas linhas vazias).
2. Sair do vi
Para sair do vi use o seguinte comando:
:q
Se, em vez do comando, o :q aparece escrito no texto porque o vi est em modo de insero de
texto. Se isso acontecer carregue na tecla <ESC> e repita.
Se entretanto houve alteraes, ao fazer este comando aparece a mensagem:
"E37: No write since last change (add ! to override)"
como a prpria mensagem indica, pode forar a sada com o comando:
:q!
Qual o efeito ?
A
I
4. Movimentao no texto
Pode-se movimentar no texto de duas maneiras: usando as setas ou usando os seguintes comandos
ISCTE DCTI
Sistemas Operativos
Pg. 1
j
k
h
l
Se, em vez dos comandos, aparecem as letras escritas no texto carregar primeiro na tecla <ESC>.
5. Exerccios
Complete:
- quando entramos no vi estamos em modo comando.
- neste modo as teclas servem para __________________.
- alguns comandos (por exemplo i ou ____) servem para passar ao modo texto.
- no modo texto as teclas servem para ________________________.
- para sair do modo texto usa-se a tecla ____.
- se eu der um comando e ele aparecer escrito porque _______________ devo primeiro ________
6. Guardar um ficheiro
Para guardar um ficheiro use o seguinte comando:
guarda o ficheiro;
:w
7. Apagar texto
Para apagar texto pode usar os seguintes comandos:
x
dd
J
apaga um carcter
apaga uma linha
apaga uma mudana de linha (junta duas linhas);
8. Repetio de comandos
Muitos comandos repetem-se se os anteceder de um nmero. Por exemplo:
5x
5ixESC
apaga 5 caracteres
escreve x 5 vezes (quer dizer, repete 5 vezes a insero de um x)
9. Undo
Pode anular o efeito do ltimo comando com:
u anula o efeito do ltimo comando
U anula todas as alteraes na mesma linha
10.
Substituio de texto
ISCTE DCTI
Sistemas Operativos
Pg. 2
rx
R
3s
comando r, seguido de uma letra, substitui o caracter actual pela letra dada.
comea a escrever por cima, at ESC
substitui at marca $ (que aparece 3 caractares adiante) e continua inserindo at ESC.
11.
Procura de texto
12.
Copiar e Colar
A sequncia de comandos
Y
P
ISCTE DCTI
Sistemas Operativos
Pg. 3
vi lana o vi
vi <fich> - lana o vi e abre o ficheiro <fich>
Modos do vi
Modo de comando
Modo de edio
Modo de ltima linha
Mudar de modos
Esc
:
i
Movimentao
h ou
l ou
k ou
j ou
nk
nj
b
w
0
$
ctrl-f ou PgDn
ctrl-b ou PgUp
1G ou gg
G
nG
esquerda
direita
cima
baixo
n linhas para cima
n linhas para baixo
palavra anterior
palavra seguinte
incio da linha
fim da linha
avanar um cran
retroceder um cran
1 linha
ltima linha
n-sima linha
Edio
i
a
A
Del ou x
o
O
r
R
Sistemas Operativos
Pg. 4
<caractere>
v
V
d
dd ou D
dw
y
yy ou Y
yw
p
P
u
U
Ctrl-r
Outros comandos
Marcas
m<letra>
<letra>
Sair e suspender
ZZ
Ctrl-z
gravar e sair
suspender e ir para a shell (para voltar fazer fg vi)
Procurar texto
/<texto>
n
N
Informao
Ctrl-g
Ajuda
F1
Ajuda do Vi
Ajuda
:help ajuda do vi
Ficheiros
:w gravar
:wq gravar e sair
:q! sair sem gravar
:e <ficheiro> - abrir novo ficheiro
:r <ficheiro> - abrir ficheiro e acrescent-lo ao texto actual
Registos
:reg ver contedo dos registos
ISCTE DCTI
Sistemas Operativos
Pg. 5
Substituio de texto
:<range>s/<texto1>/<texto2>/<flags>
Procurar ocorrncias de <texto1> na parte do documento definido por <range> e substituir por <texto2>,
de acordo com as opes indicadas em <flags>
Range:
% todo o documento
<n>,<m> linhas entre <n> e <m>
.,<n> posio do cursor at linha <n>
<a>,<b> - da marca <a> at marca <b>
flags:
& - usar as opes da substituio anterior
c confirmar cada substituio
g substituir todas as ocorrncias numa linha (sem esta opo s substituda a primeira ocorrncia de
cada linha)
Exemplos de substituio de texto
:%s/aguia/leao/g
procurar em todo o ficheiro e substituir aguia por leao
:5,10s/Gervasio/Jeremias/gc
procurar entre as linhas 5 e 10 e substituir Gervasio por Jeremias, confirmando cada substituio
:a,bs/ol/adeus/g
procurar ol e substituir por adeus entre as marcas a e b
ISCTE DCTI
Sistemas Operativos
Pg. 6