Samuel Dias Neto
sdiasneto@yahoo.com.br
Índice
modos de trabalho
entrar no modo de linha
entrar no modo de edição
voltar ao modo de comando
abrir um arquivo
movimentando-se
indo para uma determinada linha
procurar para baixo
procurar para cima
substituir palavra
desfazer última alteração
sair sem gravar
gravar
gravar e sair
especificar intervalo de linhas
apagar linhas
copiar linhas
mover linhas
[sam@pitanga sam]$ vi NOME_DO_ARQUIVO
ou
[sam@pitanga sam]$ vim NOME_DO_ARQUIVO
O vim possui três modos de trabalho:
Inicialmente, ao abrir um arquivo, o editor está no modo de comando.
Para inserir ou substituir texto você deve entrar no modo de edição. Para isso pressione a tecla [ Insert ]. Será exibida a mensagem
-- INSERT --
no canto inferior esquerdo da tela indicando que você pode inserir texto onde está o cursor. Se você quiser substituir texto em vez de inserir, pressione novamente a tecla [ Insert ] e a mensagem
-- REPLACE --
será exibida no canto inferior esquerdo da tela indicando que você pode substituir o texto que estiver sob o cursor.
Pressionando a tecla [ Insert ] você alterna entre inserir ou substituir texto.
Estando no modo de comando, para entrar no modo de linha pressione [ Shift ][ : ]. Os dois pontos serão exibidos no canto inferior esquerdo da tela e o editor estará pronto para você digitar um comando e pressionar [ Enter ].
Estando no modo de edição ou no modo de linha você pode voltar ao modo de comando pressionando a tecla [ Esc ].
Estando modo de comando você pode movimentar-se no texto usando as teclas de seta ou as teclas mostradas na tabela abaixo (observe que há diferença entre maiúsculas e minúsculas):
| TECLA | MOVIMENTO |
| k | para cima |
| j | para baixo |
| l | para direita |
| h | para esquerda |
| 0 (zero) | para o início da linha |
| Home | para o início da linha |
| $ (dóllar) | para o final da linha |
| End | para o final da linha |
| gg | para o início do arquivo |
| G | para o fim do arquivo |
| nG | para a linha n |
| CTRL + f | passa para a próxima tela (Page Down) |
| CTRL + b | volta para a tela anterior (Page Up) |
| H | primeira linha da tela |
| M | linha no meio da tela |
| L | última linha da tela |
| w | próxima palavra |
| Nw | N palavras à frente |
| b | palavra anterior |
| Nb | N palavras para trás |
Estando no modo de comando basta digitar:
/STRING
para procurar STRING para baixo. Para continuar a busca pressione n .
Estando no modo de comando basta digitar:
?STRING
para procurar STRING para cima. Para continuar a busca pressione n .
Estando no modo de comando para apagar a linha atual digite
dd
Para apagar n linhas a partir da posição do cursor digite
dn
e pressione a tecla [ Enter ]
Estando no modo de linha, a sintaxe para apagar linhas é:
INTERVALO d
O comando acima apaga as linhas especificadas em INTERVALO.Exemplo:
5,20 d
O exemplo acima apaga da linha 5 até a linha 20.
Estando no modo de comando para desfazer a última alteração digite
u
Estando no modo de linha digite:
q!
e pressione [ Enter ]
Estando no modo de linha digite:
w!
e pressione [ Enter ]
Estando no modo de linha digite:
wq!
e pressione [ Enter ]
especificar intervalo de linhas
Vários comandos no modo de linha exigem que você defina um intervalo de linhas para a atuação do comando. Este intervalo pode ser especificado de acordo com a tabela abaixo:
| INTERVALO | SIGNIFICADO | EXEMPLO |
| linha | especifica uma linha | 15 |
| linha1,linha2 | especifica o intervalo compreendido entre a linha1 e a linha2 | 2,35 |
| . | especifica a linha atual | . |
| $ | especifica a útlima linha do arquivo | $ |
| % | especifica todas as linhas do arquivo | % |
| 1,$ | especifica todas as linhas do arquivo | 1,$ |
Estando no modo de linha, a sintaxe para copiar linhas é:
INTERVALO co DESTINO
O comando acima copia as linhas definidas em INTERVALO para a linha determinada em DESTINO. Exemplo:
120,130 co 150
O exemplo acima copia da linha 120 até a linha 130 na linha 150.
Estando no modo de linha, a sintaxe para subsituir uma palavra por outra é:
INTERVALO s/palavra/PALAVRA/g
O comando acima substitui todas as ocorrências de palavra por PALAVRA nas linhas compreendidas por INTERVALO. Exemplo:
1,10 s/print/printf/g
O exemplo acima substitui todas as ocorrências de print por printf entre as linhas 1 e 10.
Estando no modo de linha, a sintaxe para mover linhas é:
INTERVALO mov DESTINO
O comando acima move as linhas definidas em INTERVALO para a linha determinada em DESTINO. Exemplo:
120,130 mov 150
O exemplo acima move da linha 120 até a linha 130 para a linha 150.
indo para uma determinada linha
Estando no modo de comando digite:
nG
Onde n é o número da linha.Exemplo;
75G
O comando acima posiciona o cursor na linha 75.