- >> ou << no modo normal: altera recuo da linha
- A no modo normal: atalho para $a
- a no modo normal: entrar no modo insert do lado direito do caractere
- C,S ou cc no modo normal: exclue o conteúdo da linha atual e entra no modo normal
- ci" no modo normal: na linha onde está o cursor, apaga o conteúdo que estiver entre aspas duplas, coloca o curso entre as aspas e entre no modo insert onde está o cursor
- cit no modo normal: na linha onde está o cursor em um documento xml ou html, deleta o valor de uma tag e entra no modo insert
- ctrla no modo normal: incrementa um numero onde o cursor esta localizado
- ctrlx no modo normal: decrementa um numero onde o cursor esta localizado
- ctrolr no modo normal: refaz as mudanças desfeitas pelo comando u
- D no modo normal: apaga que estiver entre o cursor e o ultimo caractereda linha, atalho para dg_
- gctrola no modo visual: incrementa uma seleção de numeros de forma sequencial
- gctrolx no modo visual: decrementa uma seleção de numeros de forma sequencial
- gg=G no modo normal: corrigir indentação do codigo inteiro
- gUiw no modo normal: mudar letras das palavras para maiusculas
- guiw no modo normal: mudar letras das palavras para minusculas
- gUU no modo normal: mudar todas as palavras da linha para maiusculas
- guu no modo normal: mudar todas as palavras da linha para minusculas
- g~iw no modo normal: alterna entre maiusculas e minusculas as letras das palavras
- I no modo normal: atalho para ^i
- J no modo normal: junta a linha atual com a proxima linha
- o no modo normal: insere uma linha abaixo, move o cursos para nova linha e entra no modo insert
- O no modo normal: insere uma linha acima, move o cursos para nova linha e entra no modo insert
- R no modo normal: entra no modo replace
- s no modo normal: apaga o caractere sobre o cursor e entra no modo insert
- u no modo normal: desfaz as mudanças
- V no modo normal: modo visual de linha
- X no modo normal: apaga o caractere que está a esquerda do cursor
- x no modo normal: apaga que estiver sub o cursor
- ~ no modo normal: altera o caractere sub o cursor para maiusculo ou minusculo
- ctrold no modo insert: recue a indentação da linha atual
- ctrolh no modo insert: excluir o caractere que está a esquerda do cursor
- ctrolo no modo insert: alterna para o modo normal e após alguma ação, automaticamente volta para o modo insert
- ctrolR
regno modo insert: permite adicionar ao buffer o conteúdo do registro especificado emreg - ctrolt no modo insert: aumente a indentação da linha atual
- ctrolu no modo insert: exclui tudo que estiver antes do cursor
- ctrolw no modo insert: excluir a palavra que está a esquerda do cursor
- ctrolxctrole no modo insert: mover a tela para baixo
- ctrolxctroly no modo insert: mover a tela para cima
- $ no modo normal: ir para a ultima coluna da linha (incluindo o caractere de quebra de linha)
- % no modo normal: salta para o proximo parêntese, colchete, chave correpondente
- + no modo normal: atalho para j^
- 0 ou | no modo normal: ir para a primeira coluna da linha
- ^ no modo normal: ir para o primeiro caractere da linha
- b no modo normal: saltar retrocedendo palavras
- ctrold no modo normal: mover metade da janela para baixo
- ctrole no modo normal: mover janela uma linha para baixo
- ctroli no modo normal: saltar para a proxima posição do jump list
- ctrolo ou g; no modo normal: saltar para a posição do jump list
- ctrolu no modo normal: mover metade da janela para cima
- ctroly no modo normal: mover janela uma linha para cima
- e no modo normal: saltar palavras mantendo o cursor no ultimo caractere
- F{caractere} no modo normal: faz a mesma coisa do atalho f porém de forma reversa, permite usar tambem ; e ,
- f{caractere} no modo normal: saltar para a proxima ocorrencia do caractere e deixar o cursor sobre o caractere encontado
- g$ no modo normal: ir para o final de uma linha quebrada
- g, no modo normal: pular para a posiçao anterior da lista de alterações
- g; no modo normal: pular para a proxima posiçao da lista de alterações
- g_ no modo normal: ir para o ultimo caractere da linha
- g^ ou g0 no modo normal: ir para o começo de uma linha quebrada
- ge no modo normal: saltar retrocedendo palavras mantendo o cursor no ultimo caractere
- gj no modo normal: semelhante ao atalho j, a difereneça é que este consegue se movimentar em linhas quebradas
- gk no modo normal: semelhante ao atalho k, a difereneça é que este consegue se movimentar em linhas quebradas
- H no modo normal: mover cursor para o topo da janela
- L no modo normal: mover cursor para a parte inferior da janela
- M no modo normal: mover cursor para o centro da janela
- T{caractere} no modo normal: faz a mesma coisa do atalho T porém de forma reversa, permite usar tambem ; e ,
- t{caractere} no modo normal: saltar para a proxima ocorrencia do caractere e deixar o cursor no lado esquerdo do caractere encontado, permite usar tambem ; e ,
- w no modo normal: saltar palavras
- zb no modo normal: mover a janela para que a linha sob o cursor fique na parte inferior da janela
- zh no modo normal: mover a janela para a esquerda
- zl no modo normal: mover a janela para a direita
- zt no modo normal: mover a janela para que a linha sob o cursor fique no topo da janela
- zz no modo normal: mover a janela para que a linha sob o cursor fique no centro da janela
- ctrolw + no modo normal: almenta a altura da janela
- ctrolw - no modo normal: diminue a altura da janela
- ctrolw < no modo normal: diminue a largura da janela
- ctrolw = no modo normal: corrige o tamanho de todas as janelas
- ctrolw > no modo normal: aumenta a largura da janela
- ctrolw c no modo normal: fecha uma janela
- ctrolw r no modo normal: troca a posição das janelas
- ctrolw {H,J,K,L} no modo normal: move a janela em destaque para um dos cantos da tela
- gT no modo normal: alterna para a guia anterior
- gt no modo normal: alterna para a proxima guia
- "*p no modo normal: cola a partir da area de transferencia
- "*y no modo normal: copia para a area de transferencia
- "a no modo normal: digitar " representa uma entrada de registro e a letra seria o slot do registro, pode usar outra letra alem de a, apos isso basta digitar algum comando de corte
- # no modo normal: pesquisa para tras a palavra que esta sob o cursor
- @: no modo normal: repete o ultimo comando executado
- * no modo normal: pesquisa a palavra que esta sob o cursor
- `< no modo normal: ir para o inicio da ultima seleção
- `> no modo normal: ir para o final da ultima seleção
- `[ no modo normal: ir para o começo da ultimo trecho copiado
- `] no modo normal: ir para o final da ultimo trecho copiado
- cgn no modo normal: ao buscar uma palavra no vim usando o comando
/palavra, digitar a combinação de comandos vai deletar a palavra, voce digita algo e muda para o modo normal, em seguida "atualiza" as outras ocorrencias da palavra apertando ., para pular para proxima ocorrencia sem aplicar as alterações so apertar n - controlf no modo comando: abre uma janela dos comandos executados no modo comando e permite usar os atalhos do modo normal nessa janela, e quando terminar basta apertar enter sobre o comando digitado
- controlr = no modo insert: permite escrever expressões matematicas para o vim calcular e o resultado será inserido no lugar do cursor
- ctrolv no modo normal: entra no modo visual com seleção em modo bloco
- esc ou ctrolc ou ctrol[ em qualquer outro modo: ir para o modo normal
- g8 no modo normal: mostra a o valor do caractere UTF-8
- g* no modo normal: pesquisa a palavra que esta sob o cursor com combinacao parcial
- ga no modo normal: inspeciona o caractere sob o cursor, mostra informações como codigo decimal, hexadecimal e octal do caractere
- gcontrolh no modo normal: entra no modo select block
- gctrolg no modo normal: mostra informações sobre o documento como quantidade de linhas, palavras e tamanho em bytes, tambem mostra o numero da linha e coluna onde está o cursor
- gf no modo normal: abrir o arquivo ou caminho que está sob o cursor
- gh no modo normal: entra no modo select
- gH no modo normal: entra no modo select line
- gr{caractere} no modo normal: substituir o caractere sob o cursor pelo caractere indicado no atalho
- gv no modo normal: seleciona novamente a ultima seleção
- gx no modo normal: abrir no navegador web a url sob o cursor
- o no modo visual: troca a posição do cursor para o final da seleção ou o começo da seleção
- q/ ou q? no modo normal: mostra o historico de pesquisa
- vip no modo normal: seleciona um paragráfo, paragráfos são blocos de linhas delimitados por linhas em branco
- zc no modo normal: fecha uma dobra
- zf{movimento} no modo normal: permite criar uma dobra a partir de um movimento
- zM no modo normal: fecha todas as dobras
- zo no modo normal: abre uma dobra
- ZQ no modo normal: sai sem salvar alterações, atalho para
:q! - zR no modo normal: abre todas as dobras
- ZZ no modo normal: salva e sai, atalho para
:wq
- controlb no modo comando: move o cursor para o começo da linha
- controle no modo comando: move o cursor para o fim da linha
- controlf no modo comando: abre uma janela de linha de comando, onde você tem qualquer poder de edição do Vim em suas mãos
- controlh no modo comando: remove um caractere que está no lado esquerdo do cursor
- controlu no modo comando: apaga todos os caracteres que estão entre o cursor e o começo da linha
- controlw no modo comando: remove uma palavra que está no lado esquerdo do ursor
- q: no modo normal: abre uma janela dos comandos executados no modo comando e permite usar os atalhos do modo normal nessa janela, e quando terminar basta apertar enter sobre o comando digitado
-
registro sem nome (
"): Contém o último conteúdo excluído, alterado ou retirado, mesmo se um registro foi especificado. -
registros numerados (0-9):
-
0: contém o ultimo conteúdo arrancado
-
1-9: é uma pilha que contém o ultimo conteúdo que foi excluido ou alterado
cada vez que alterar ou exluir um conteúdo ele sera adicionado ao registro 1, quando outro conteúdo é adicionado ao registro 1, o que havia nele é transferido para o proximo registro, que neste caso é o 2, o conteúdo vai saltando de um registro para outro até chegar no registro 9, quando outro conteúdo for movido para o registro 9, o que havia antes nele é perdido
-
-
registro de exclusão: Contém qualquer conteúdo excluído ou alterado menor que uma linha
Nenhum desses registros mensionados acima é escrito se você especificou um antes com o pressionamento de tecla "
- registros nomeados (a-z):
- o editor só vai sobrescrever se esse tipo de registro for especificado
- colocar a letra em maiscula vai anexar o conteúdo ao registro, em vez de sobrescrever
- registro de buraco negro (
_): tudo que for escrito lá sera perdido - registro do ultimo padrão de pesquisa (/): contem o ultimo conteúdo pesquisado
:!column -t: alinha o texto verticalmente usando a ferramentacolumn:!comando_externo: redireciona o buffer para um programa externo e retorna a saida para o buffer atual:%bd | e# | bd#: fecha todos os buffers menos o atual:%s/pattern/"&"/g: comando de substituição onde&assume o valor valor de "pattern":%s/pattern/replace/g: substituir "pattern" por "replace" no arquivo inteiro:as: inspeciona o caractere sob o cursor, mostra informações como codigo decimal, hexadecimal e octal do caractere:b N: permite alternar para o buffer especificado em N, exemplo:b 2:buffersou:ls: mostra a lista de buffers abertos:changes: alinha o texto verticalmente usando a ferramentacolumn:clearjumps: limpar lista de saltos:g!/string/dou:v/string/d: apaga todas as linhas que não contenham "string":g/string/d: apaga todas as linhas que contenham "string", cada linha deletada é antes copiada para o registro padrão, é possivel especificar o registtro de buraco negro para otimizar o processo::g/string/d _:g/string/normal Icasa: permite usar o comando normal em todas as linhas onde contém o padrão especificado:help digraph-table: mostra a lista de digrafos:jumps: mostra uma lista com todos os saltos:mksession nome_do_arquivo.vim: salva o estado atual da sessão em um arquivo, este comando possui uma versão abreviada que émks nome_do_arquivo.vim, caso precise salvar a sessão no mesmo arquivo, o comando será:mksession! nome_do_arquivo.vim:nohlsearchounoh: limpa o destaque de pesquisa:put =range(x, y): criar sequencia de numeros dexatey:retab: transforma tabulações em caracteres de espaço:s/pattern/replace/g: substituir "pattern" por "replace" na linha onde esta o cursor:set colorcolumn=nou:set cc=n: destaca a colunanondené o numero da coluna, é possivel destacar mais de uma coluna ao mesmo tempo definindo mais de um valor separado por virgula:set hlsearch: ativa o destaque de pesquisa:set ignorecase: todas as pesquisas nao farao distincao entre letras maiusculas e minusculas:set nowrap: faz com que o editor apresente o codigo sem quebrar linhas longas, fazendo com que seja necessario mover a tela para os lados:set nrformats=bin,octal,hex,alpha: definir o tipo de suporte a incremento e decremento:set nrformats?: verificar o tipo de suporte a incremento e decremento:set rightleft: altera a ordem das colulas, deixa o texto invertido, execute novamente para o estado anterior:set scrollbind: faz com que cada janela do vim role simultaneamente:sort i: ordena as linhas selecionadas ignorando case-sensitive:sort n: ordena as linhas selecionadas seguindo a ordem alfanumérica:sort u: ordena as linhas selecionadas e remove duplicatas:sort!: ordena de forma inversa as linhas selecionadas:sort: ordena as linhas selecionadas:source nome_do_arquivo.vim: restaura a sessão a partir de um arquivo, tbm pode ser usado pra recarregar o arquivo de configuração do vim:tabcloseou:tac: fecha uma nova guia:tabnewou:tabe: abre uma nova guia:tabonlyou:tao: fecha todas as guias menos a atual:virtualedit=all: permite o cursor percorrer livremente pela tela, isso é conveniente ao usar ao fazer uma seleção em bloco:w !diff % -: permite visualisar um diff do arquivo editado no buffer antes de salva-lo:w >> arquito_de_texto.txt: ao selecionar linhas, permite anexar a seleção em um outro arquivo:w arquito_de_texto.txt: ao selecionar linhas, permite salvar a seleção em um outro arquivo:x: atalho para:wq
nvim --noplugin -u init.lua: iniciar o nvim usando um outro arquivo de configuração definido na linha de comandonvim --noplugin notas.md: iniciar o nvim e abrir um arquivo sem carregar as configurações definida noinit.luavim -S nome_do_arquivo.vim: restaura a sessão a partir de um arquivo
faça a seleção e em seguida vá para o modo normal (ESC) e depois digite /\%Vsua_pesquisa
digitar no modo comando :args ** para adicionar todos os arquivos em um direitorio de forma
recursiva e por fim executar o comando de substituição em todos os arquivos usando o comando
:argdo %s/palavra_antiga/palavra_nova/g
o comando argdo vai executar o subcomando em cada arquivo presente no args do vim
exemplo: selecione linhas usando modo visual e execute :norm 0i# para adicionar # no começo de cada linha,
dica, pra inserir o ESC nesse modo, basta executar os atalhos ctrolvESC
é um recurso que permite gravar uma sequencia de comandos e salvar para ser usado de novo qantas vezes por necessario
- para gravar uma macro:
q<reg><comandos>q - para executar uma macro:
@<reg>
como a macro é gravada nos registros, é possivel colar uma macro usandop e depois copiando para o mesmo registro usando algum movimento de corte
Aviso, para ativar o modo "magico" (onde alguns caracteres especificos são interpretados como metacaracteres), deve inserir
\vantes da expressãoexemplo:
/(casa)|(cadeira)=>/\v(casa)|(cadeira)
\d: mesma coisa de[0-9]\D: mesma coisa de[^0-9]\L: mesma coisa de[^a-z]\l: mesma coisa de[a-z]\S: corresponde a qualquer caractere menos o caractere de espaço\s: corresponde a um caractere de espaço\U: mesma coisa de[^A-Z]\u: mesma coisa de[A-Z]\W: mesma coisa de[^a-zA-Z0-9_]\w: mesma coisa de[a-zA-Z0-9_]\x: mesma coisa de[0-9A-F], padrão que corresponde a um numero hexadecimal\X: mesma coisa de[^0-9A-F]\X: mesma coisa de[^0-9A-F]
na string I say, "I use Vim". You say, "I don't use Vim". Uh-oh., se usarmos ".+" como padrão de busca, vai retornar
"I use Vim". You say, "I don't use Vim", esse é o padrão guloso. na mesma string, se usarmos ".{-}", como padrão de busca,
vai retornar "I use Vim"
na string *Without further ado, I do like donut very much
<dovai retornardoedonutdo>vai retornaradoedo<do>so vai retornardo