Bernardo Belchior & Edgar Passos
slides.com/bernardobelchior/workshop-vim
$ vim
:q<Enter>
^
k
< h l >
j
v
Por questões de eficiência
É possível mover o cursor usando outros movimentos
início de uma palavra (para trás)
w
início da linha
e
início de uma palavra
b
fim de uma palavra
0
fim da linha
$
início do ficheiro
gg
fim do ficheiro
G
início da linha (sem contar com espaços)
_
i
v
:
sair
:q
gravar e sair
:wq
gravar
:w
sair e descartar alterações
:q!
x
substituir caracter debaixo do cursor
s
desfazer ação
u
refazer ação
<C-R>
apagar caracter debaixo do cursor
x
colar
p
inserir linha abaixo do cursor
o
Operadores que recebem movimentos ou objetos para especificar o seu comportamento
alterar
c
copiar
y
apagar
d
palavra e espaço seguinte
aw
conteúdo entre aspas
i"
conteúdo entre aspas, incluindo as aspas
a"
palavra
iw
conteúdo dentro de tags XML
i<
conteúdo entre tags XML abertas e fechadas
it
conteúdo e tags XML abertas e fechadas
at
copiar palavra e espaço seguinte
yaw
alterar conteúdo entre aspas
ci"
apagar conteúdo entre aspas, incluindo as aspas
da"
apagar palavra
diw
copiar conteúdo dentro de tags XML
yi<
selecionar conteúdo entre tags XML abertas e fechadas
vit
alterar conteúdo e tags XML abertas e fechadas
cat
Abrir o ficheiro de texto "exercise4.html"
Todos os passos devem ser executados num só comando:
substituir por <character> (replace)
r<character>
tornar maiúscula
gU
até encontrar (find) o próximo <character>
f<character>
repetir 2 vezes um comando
2<command>
até ('till) ao próximo <character>
t<character>
até à próxima ocorrência de <regex>
/<regex>
tornar minúscula
gu
/<regex>
substituir uma ocorrência
?<regex>
pesquisar
n
pesquisar em sentido inverso
*
próxima ocorrência
%s/<regex>/<substitute>
pesquisar palavra debaixo do cursor
substituir todas as ocorrências
%s/<regex>/<substitute>/g
"<register>y
"<register>p
q<register>
q
@<register>
@@
:!<command>
:!date
:!ls
:r
:r !ls