vi e vim, parte 3: comandos básicos de edição


Shell: vi e vim, O que é?
Shell: vi e vim, abrindo, salvando, fechando e se movendo nele





- insert: a direita do cursor
Quando estamos movendo o cursor e entramos no modo insert e digitamos algo, o que digitamos vai antes do cursor.
Para ir depois, usar o comando append: 'a', em vez de 'i'
'a' : insere texto após o cursor


- Substituindo blocos de texto
'c' : esse comando seleciona um texto para ser substituído por algo que voce vai escrever.
Pode-se usar as combinações para se mover dentro do texto, como:
'cw' : seleciona dali até o fim da palavra
'c2b': seleciona dali até duas palavras anteriores
'c$' : até o fim da linha
'c0' : até o início da linha

'cc' : substitui a linha inteira

Após isso, digite o que quer e dê ESC, e o texto mudará.
Note que ao digitar o comando de mudar o texto, no final do trecho que vai ser mudado, aparecerá o símbolo $, pra você saber ate onde vai ser mudado.

'd' : deleta ; parecido com o 'c', mas apaga o que foi selecionado.
'd2w' : deleta as duas proximas palavras
'dd' : deleta a linha
'D' : ='dd' = d$
'de' : deleta da posiçao do cursor até o fim da palavra
'dE' : o mesmo anterior, mas incluindo a pontuação.


'r' : substitui um só caractere, sem esperar o ESC pra voltar ao modo de comando.

'x' : deleta o caractere onde o cursor esta. É um DEL

Pra nao substituir uma linha ou palavra inteira, usar 's' com um número, representando o número de caracteres a serem substituídos:

'3s' : substitui os 3 caracteres a frente

Para substituir uma linha inteira, também pode-se usar:
'S'

Para substituir de onde está até o final da linha:
'C'

Para ir substituindo, caractere-a-caractere, conforme você vai digitando, usar:
'R'


- Recuperando o que foi apagado (CTROL+Z)
O correspondente do Ctrl+z é o 'u':
'u' : de undo, recupera a última edição
'U' : recupera a linha até antes de todas edições serem feitas  nela

O buffer grava as 9 ultimas coisas deletadas.
Entao, para recuperar a 7a ediçao
'7p' : put


- Movendo texto (cortando e colando)
Se faz isso deletando e colocando('p', put), pois tudo que é deletado fica no buffer.
Tudo é colocado apos o cursor.

Se deletarmos uma linha inteira e colarmos com put, ela é colocada ABAIXO do cursor.

- Invertendo dois caracteres
Para inverter o atual e o próximo caractere:
'xp' : apaga e põe, ou seja, inverte os dois


- Copiando e colando
Usar o comando yank 'y' para copiar.
Aperte 'y', depois se mova pelo texto e aperte 'y' novamente.
Esse trecho será copiado. Com o comando put 'p', cola-se.
'yw' : copia a palavra
'y$' : copia tudo ate o fim da linha
'2yy': copia o atual e as duas seguintes linhas
Se você quiser repetir a última edição feita, basta usar:
'.' : repete o último comando de edição

- Inserindo texto
Quando usamos o comando 'I' e escrevemos, o texto vai onde está o cursor, ou seja, antes do caractere selecionado.
Se quisermos adicionar texto depois desse caractere, usamos o comando 'a'.

Mas há outros modos de inserir texto:
'A' : insere ao final da linha = $a
'I' : insere no início da linha

'o' : cria uma nova linha, na linha abaixo da do cursor
'O' : cria uma nova linha, na linha acima da do cursor

's' : substitui no caractere atual
'S' : substitui a linha inteira do cursor

'R' : substitui a partir do caractere atual até enquanto algo  for digitado

- Argumentos númericos no modo inserir

Se quisermos escrever a letra a, digitamos
'ia' : e aparece o a

Mas se quisermos escrever aaa, não precisamos digitar o a três vezes, basta fazer:
'3ia' : adiciona 'aaa' antes do cursor
'50ib': adiciona a letra 'b' cinquenta vezes

Em vez de 'i' podemos usar 'a':
'3aC' : escreve CCC na frente do cursor

Para substituir 'aa' por 'bb', ponha o cursor no primeiro 'a':
'2rb' : substitui os dois próximos caractes por 'b'

- Unir linhas
'J' : use esse comando em qualquer caractere de uma linha para unir a linha seguinte a linha atual, separadas por um espaço.




Estudando por: Learning the vi and Vim Editors, Seventh Edition
by Arnold Robbins, Elbert Hannah, and Linda Lamb

Nenhum comentário: