Editor de Textos VI
_______________________________________________________________________________
O VI é o editor de texto padrão no GNU/Linux porem ele possui uma versão mais completa nomeada como VIM ( VI iMproved ) ou seja uma versão melhorada repleta de recursos:
Estrutura do VI
_______________________________________________________________________________

Comandos de Edição |
|
i
|
Inserir um texto antes do cursor |
a
|
Inserir um texto depois do cursor |
r
|
Inserir um texto no início da linha onde está o cursor |
A
|
Inserir um texto no final da linha onde está o cursos |
o
|
Inserir uma linha abaixo da linha atual |
0
|
Inserir uma linha acima da linha atual |
Ctrl + h
|
Remove o último caracter |
Comandos de Movimentação |
|
Ctrl + f
|
Move o cursor para a próxima tela |
Ctrl + b
|
Move o cursor para a tela anterior |
H
|
Move o cursor para a primeira linha da tela |
M
|
Move o cursor para o meio da tela |
L
|
Move o cursor para a última linha da tela |
h
|
Move o cursor um caracter à esquerda |
l
|
Move o cursor um caracter è direita |
j
|
Move o cursor para a próxima linha |
k
|
Move o cursor para a linha anterior |
w
|
Move o cursor para o início da próxima palavra |
W
|
Move o cursor para o início da próxima palavra |
b
|
Move o cursor para o início da palavra anterior |
B
|
Move o cursor para o início da palavra anterior |
0
|
Move o cursor para o início da linha atual |
^
|
Move o cursor para o primeiro caracter não branco da linha atual |
$
|
Move o cursor para o final da linha atual |
nG
|
Move o cursor para a linha n |
G
|
Move o cursor para a última linha do arquivo |
Comandos de Localização |
|
/palavra
|
Busca pela palavra ou caracter em todo texto |
?palavra
|
Move o cursor para a ocorrência anterior da palavra |
n
|
Repete o último comando / ou ? |
N
|
Repete o último comando / ou ?, de forma reversa |
Ctrl + g
|
Mostra o nome do arquivo, o número de linha atual e o total de linhas |
Comandos de Alteração |
|
x
|
Remove o caracter que está sob o cursor |
dw
|
Remove a palavra, da posição atual do cursor até o final |
dd
|
Remove a linha atual |
D
|
Remove a linha a partir da posição atual do cursor até o final |
rx
|
Substitui o caracter sob o cursor pelo especifcado em x |
Rx
|
Substitui a palavra sob o cursor pela palavra especificada em x |
u
|
Desfaz a última modificação |
U
|
Desfaz todas as modificações feitas na linha atual |
J
|
Une a linha corrente a próxima |
yy
|
Copia a linha atual |
p
|
Cola a linha copiada |
cc
|
Recorta a linha atual |
:%s/123/abc/g
|
Substitui 123 por abc |
Comandos de Execução |
|
:wq
|
Salva o arquivo e sai do editor |
:w nome_arquivo
|
Salva o arquivo corrente com o nome especificado |
:w! nome_arquivo
|
Salva o arquivo corrente no arquivo especificado |
:q
|
Sai do editor |
:q!
|
Sai do editor sem salvar as alterações realizadas |
:set number
|
Exibe a numeração de todas as linhas |
:no set number
|
Desativa a visualização da numeração das linhas |
Exemplos |
|
01 -
|
Como removo as linhas 40 a 60 ? |
Resposta
|
ESC :40 <enter> d + 20 + d |
02 -
|
Como vou para o início do arquivo ? |
Resposta
|
ESC :1 ou ESC GG |
03 -
|
Como removo as 10 primeiras linhas ? |
Resposta
|
ESC 1G + 10 + dd |
04 -
|
Como vou para a linha 50 ? |
Resposta
|
ESC :50 ou ESC 25 + G |
05 -
|
Como fazer uma copia do arquivo para o /files ? |
Resposta
|
ESC :w! /files/copia_arquivo |
06 -
|
Como removo 3 linhas abaixo do cursor ? |
Resposta
|
ESC j + 3 + dd |
07 -
|
Em um arquivo de 1000 linhas como ir para o final do arquivo ? |
Resposta
|
ESC G |
08 -
|
Como localizar a palavra linux dentro do texto ? |
Resposta
|
ESC /linux |
09 -
|
Como substituir os /, por @ dentro de um arquivo ? |
Resposta
|
ESC :%s/ \ //@/g |
10 -
|
Como copiar 10 linhas de uma so vez ? |
Resposta
|
ESC 10 + yy |
