Vim/Editando
De Wikibooks
Tabela de conteúdo |
[editar] Deletando uma parte do texto
O comando "d" deleta uma parte do texto, copiando o conteúdo para a memória.
dd - apaga a linha atual 5dd - apaga 5 linhas (também pode ser: d5d) dw - apaga uma palavra 5dw - apaga 5 palavras (também pode ser: d5w) dl - apaga uma letra (sinônimo: x) 5dl - apaga 5 letras (também pode ser: d5l ou 5x) d^ - apaga da posição atual até o início da linha (sinônimo: d0) d$ - apaga da posição atual até o final da linha (sinônimo: D) dgg - apaga da posição atual até o início do arquivo dG - apaga da posição atual até o final do arquivo
Depois do texto ter sido colocado na memória, digite "p" para "colar" o texto em uma outra posição.
Outros comandos:
diw - apaga uma palavra mesmo que o cursor não esteja posicionado no início dela dip - apaga o parágrafo atual d4b - apaga as quatro palavras anteriores dfx - apaga até o próximo x
[editar] Copiando sem deletar
O comando "y" ("yank") permite copiar uma parte do texto para a memória sem deletar. Existe uma semelhança muito grande entre os comandos "y" e os comandos "d":
yy - copia a linha atual (sinônimo: Y) 5yy - copia 5 linhas (também pode ser: y5y ou 5Y) yw - copia uma palavra 5yw - copia 5 palavras (também pode ser: y5w) yl - copia uma letra 5yl - copia 5 letras (também pode ser: y5l) y^ - copia da posição atual até o início da linha (sinônimo: y0) y$ - copia da posição atual até o final da linha ygg - copia da posição atual até o início do arquivo yG - copia da posição atual até o final do arquivo
Digite "p" para "colar" o texto em uma outra posição.
[editar] Obtendo informações do arquivo
ga ............. mostra o código do caractere em decimal hexa e octal ^g ............. mostra o caminho e o nome do arquivo
Obs: O código do caractere pode ser usado para substituições, especialmente em se tratando de caracteres de controle como tabulações \%x09 ou final de linha DOS/Windows \%x0d
Você pode apagar os caracteres de final de linha Dos/Windows usando uma simples substituição, veja mais adiante:
:%s/\%x0d//g
[editar] Trabalhando com registradores
Você não precisa copiar e colar diferentes partes do texto para uma mesma área de transferência. Para isso, você pode usar os registradores.
Os registradores são indicados por aspas seguido por uma letra. Exemplos: "a, "b, "c, etc.
Como copiar o texto para um registrador? É simples: basta especificar o nome do registrador antes:
"add - apaga uma linha, copiando seu conteúdo para o registrador a "bdd - apaga uma linha, copiando seu conteúdo para o registrador b "ap - "cola" o conteúdo do registrador a "bp - "cola" o conteúdo do registrador b "x3dd - apaga 3 linhas, copiando seu conteúdo para o registrador x "xp - "cola" o conteúdo do registrador x "ayy - copia uma linha, sem apagar, para o registrador a "a3yy - copia 3 linhas, sem apagar, para o registrador a "ayw - copia uma palavra, sem apagar, para o registrador a "a3yw - copia 3 palavras, sem apagar, para o registrador a
No modo insert você pode usar um atalho para colar rapidamente o conteúdo de um registrador
Control+r+(registro)
Para colar o conteúdo do registrador "a"
Control+r+a
[editar] Edições complexas
Trocando palavras de lugar: coloque o cursor no espaço antes da 1ª palavra e digite:
deep
Trocando letras de lugar:
xp
Trocando linhas de lugar:
ddp
Tornando todo o texto maiúsculo
gggUG
[editar] Indentando
>> - Indenta a linha atual ^T - Indenta a linha atual em modo insert ^D - Remove indentação em modo insert >ip - indenta o parágrafo atual
[editar] Corrigindo a indentação de códigos
Selecione o bloco de código, por exemplo
vip ............. visual inner paragraph (selecione este parágrafo) = ............... corrija a indentação do que selecionei :)
[editar] Usando o file explorer
O vim navega na árvore de diretórios com o comando
vim .
Use o "j" para descer e o "k" para subir ou Enter para editar o arquivo selecionado. Outra dica é pressionar F1 ao abrir o FileExplorer do vim, você encontra dicas adicionais sobre este modo de operação do vim.
[editar] Selecionando ou deletando conteúdo de tags html
<tag> conteúdo da tag </tag> basta usar (em modo normal) as teclas vit ............... visual select inner tag
Este recurso também funciona com parênteses
vi( ............ visual select vi" ............ visual select di( ............ delete inner (, ou seja, seu conteúdo

