Global
- :h[elp] termo - abrir axuda para o termo
- :sav[eas] ficheiro - gravar como
- :clo[se] - pechar panel actual
- :ter[minal] - abrir unha xanela de terminal
- K - abrir páxina do manual para o termo onde está o cursor
Movemento do cursor
- h - mover o cursor cara a esquerda
- j - mover o cursor cara embaixo
- k - mover o cursor cara enriba
- l - mover o cursor cara a dereita
- gj - move cursor abaixo (texto multi-liña)
- gk - move cursor arriba (texto multi-liña)
- H - posiciona o cursor na parte superior da pantalla
- M - posiciona o cursor no medio da pantalla
- L - posiciona o cursor na parte inferior da pantalla
- w - ir ao inicio da próxima palabra
- W - ir ao inicio da próxima palabra (podendo conter puntuación)
- e - ir á fin da próxima palabra
- E - ir á fin da próxima palabra (podendo conter puntuación)
- b - ir ao inicio da palabra anterior
- B - ir ao inicio da palabra anterior (podendo conter puntuación)
- ge - salta atrás ata a fin da palabra
- gE - salta atrás ata a fin da palabra (podendo conter puntuación)
-
% - ir ao carácter correspondente (pares recoñecidos orixinalmente: '()', '{}', '[]' - use
:h matchpairsno vim para máis información - 0 - ir ao inicio da liña
- ^ - ir ao primeiro carácter da liña que non sexa espazo
- $ - ir á fin da liña
- g_ - ir ao último carácter da liña que non sexa espazo
- gg - ir á primeira liña do documento
- G - ir á derradeira liña do documento
- 5gg or 5G - ir á liña 5
- gd - moverse ata a declaración local
- gD - moverse ata a declaración global
- fx - ir ata a próxima aparición do caracter 'x'
- tx - ir ata o carácter anterior á próxima aparición do caracter 'x'
- Fx - ir ata a aparición anterior do caracter 'x'
- Tx - ir ata despois da aparición anterior do caracter 'x'
- ; - repetir movemento f, t, F ou T
- , - repetir movemento f, t, F ou T, no sentido contrario
- } - ir ao próximo parágrafo (ou función/bloque, ao editar código)
- { - ir ao parágrafo anterior (ou función/bloque, ao editar código)
- zz - centrar o cursor na pantalla
- zt - posiciona o cursor no alto da pantalla
- zb - posiciona o cursor no baixo da pantalla
- Ctrl + e - move a pantalla unha liña abaixo (sen mover o cursor)
- Ctrl + y - move a pantalla unha liña arriba (sen mover o cursor)
- Ctrl + b - retroceder unha pantalla completa
- Ctrl + f - avanzar unha pantalla completa
- Ctrl + d - avanzar media pantalla
- Ctrl + u - retroceder media pantalla
Modo de inserción - inserir/engadir texto
- i - inserir antes do cursor
- I - inserir no inicio da liña
- a - inserir despois do cursor
- A - inserir na fin da liña
- o - inserir unha nova liña por baixo da actual
- O - inserir unha nova liña por riba da actual
- ea - inserir na fin da palabra
- Ctrl + h - borra o carácter antes do cursor durante o modo de inserción
- Ctrl + w - borra a palabra antes do cursor durante o modo de inserción
- Ctrl + j - comeza unha líña nova durante o modo de inserción
- Ctrl + t - indenta (move á dereita) a liña un ancho de desprazamento durante o modo de inserción
- Ctrl + d - desindenta (move á esquerda) a liña un ancho de desprazamento durante o modo de inserción
- Ctrl + n - inisire (auto-completa) o seguinte achado antes do cursor durante o modo de inserción
- Ctrl + p - insire (auto-completa) o previo achado antes do cursor durante o modo de inserción
- Ctrl + rx - insire o contido do rexistro 'x'
- Ctrl + ox - Entra temporalmente no modo normal para executar un comando 'x' do modo normal
- Esc or Ctrl + c - saír do modo de inserción
Edición
- r - substituír un único carácter
- R - trocar máis dun carácter, ata premer ESC
- J - xuntar a liña seguinte coa liña actual
- gJ - xuntar a liña seguinte coa liña actual sen espazo entre medio
- gwip - refluxo de parágrafo
- g~ - trocar maiúsculas/minúsculas ata o movemento
- gu - trocar a minúsculas ata o movemento
- gU - trocar a maiúsculas ata o movemento
- cc - substituír a liña enteira
- c$ or C - substituír ata a fin da liña
- ciw - troca (substitúe) a palabra enteira
- cw or ce - substituír ata a fin da palabra actual
- s - eliminar un carácter e substituír texto
- S - eliminar un carácter e substituír texto ata a fin da liña (igual a cc)
- xp - transpor dúas letras (cortar e pegar)
- u - desfacer
- U - restaurar (desfacer) a última liña cambiada
- Ctrl + r - refazer
- . - repetir o último comando
Marcación de texto (modo visual)
- v - iniciar modo visual, marcar liñas e executar un comando (como y - copiar)
- V - iniciar modo visual de liña
- o - ir alternadamente á fin/inicio da área marcada
- Ctrl + v - iniciar modo visual de bloque
- O - ir alternadamente á fin/inicio do bloque na liña actual
- aw - marcar unha palabra
- ab - marcar bloque dentro de (), incluíndo ()
- aB - marcar bloque dentro de {}, incluíndo {}
- at - marcar bloque dentro das etiquetas <>, incluíndo <>
- ib - marcar bloque dentro de (), excluíndo ()
- iB - marcar bloque dentro de {}, excluíndo {}
- it - marcar bloque dentro das etiquetas <>, excluíndo <>
- Esc or Ctrl + c - saír do modo visual
Comandos no modo visual
- > - indentar texto cara á dereita
- < - indentar texto cara á esquerda
- y - copiar texto marcado
- d - eliminar texto marcado
- ~ - alternar maiúsculas/minúsculas
- u - cambiar texto marcado a minúsula
- U - cambiar texto marcado a maiúscula
Rexistros
- :reg[isters] - mostrar contido dos rexistros
- "xy - copiar ao rexistro 'x'
- "xp - pegar contido do rexistro 'x'
- "+y - copiar no rexistro de portapapeis do sistema
- "+p - pergar dende o rexistro de portapapeis do sistema
0 - última copia
" - rexistro sen nome, última eliminación ou copia
% - nome do ficheiro actual
# - nome de ficheiro alternativo
* - contido do portapapeis (X11 primario)
+ - contido do portapapeis (X11 portapapeis)
/ - último patron de busca
: - último comando da liña de comandos
. - último texto inserido
- - último texto curto (menos dunha liña) eliminado
= - registro de expresión
_ - rexistro do burato negro
Marcas
- :marks - lista das marcas
- ma - definir a marca 'a' na posición actual
- `a - ir á posición da marca 'a'
- y`a - copiar texto da posición actual ata a marca 'a'
- `0 - ir á posición dende onde vim saiu na última vez
- `" - ir á posición da última edición no ficheiro actual
- `. - ir á posición do último cambio no ficheiro actual
- `` - ir á posición anterior ao último chimpo
- :ju[mps] - lista de chimpos
- Ctrl + i - ir a posición máis nova na lista de chimpos
- Ctrl + o - ir á posición máis vella na lista de chimpos
- :changes - lista de cambios
- g, - ir á posición máis nova na lista de cambios
- g; - ir á posición máis vella na lista de cambios
- Ctrl + ] - chimpar á etiqueta baixo o cursor
Macros
- qa - comezar a gravar a macro 'a'
- q - parar de gravar a macro
- @a - correr a macro 'a'
- @@ - correr novamente a última macro executada
Cortar/copiar e pegar
- yy - copiar unha liña
- 2yy - copiar dúas liñas
- yw - copiar os carácteres ata o inicio da próxima palabra
- yiw - copiar a palabra baixo o cursor
- yaw - copiar a palabra baixo o cursor e máis o espazo anterior ou posterior a ela
- y$ or Y - copiar ata a fin da liña
- p - pegar despois do cursor
- P - pegar antes do cursor
- gp - pór (pegar) o contido do portapapeis despois do cursor e deixar o cursor despois do novo texto
- gP - pór (pegar) antes do cursor e deixar of cursor antes do novot texto
- dd - cortar unha liña
- 2dd - cortar dúas liñas
- dw - cortar ata o inicio da próxima palabra
- diw - borrar (cortar) a palabra baixo o cursor
- daw - borrar (cortar) a palabra baixo o cursor e máis os espazos anterior e posterior
- :3,5d - borra as liñas da 3 á 5
e.g.
:.,$d - Dende a liña actual ata a fin do ficheiro
:.,1d - Dende a liña acutal ata o comezo do ficheiro
:10,1d - Dende a liña 10 ata o comezo do ficheiro
- :g/{pattern}/d - borra tódalas liñas que conteñen o patrón
- :g!/{pattern}/d - borra tódalas liñas que non conteñen o patrón
- d$ or D - cortar ata ao fin da liña (igual a D)
- x - cortar o carácter baixo o cursor
Indentar texto
- >> - indenta (move á dereita) a liña un ancho de desprazamento
- << - desindenta (move á esquerda) a liña un ancho de desprazamento
- >% - indenta un bloque con () ou {} (cando o cursor está na chave)
- <% - de-indenta un bloque con () ou {} (cando o cursor está na chave)
- >ib - indenta un bloque interno con ()
- >at - indenta un bloque coas etiquetas <>
- 3== - re-indenta 3 liñas
- =% - re-indenta un bloque con () ou {} (cando o cursor está na chage)
- =iB - re-indenta o bloque interno con {}
- gg=G - re-indenta a memoria temporal enteira
- ]p - pega e axusta o indentado á liña actual
Saír
- :w - gravar o ficheiro, mais sen saír
- :w !sudo tee % - gravar o ficheiro actual con sudo
- :wq or :x or ZZ - gravar e saír
- :q - saír (non sae se houber modificacions por gravar)
- :q! or ZQ - saír sen gravar modificacions
- :wqa - escribe (grava) e sae de tódolos separadores
Buscar e substituír
- /pattern - buscar a seguinte aparición de patrón
- ?pattern - buscar a anterior aparición de patrón
- \vpattern - patrón 'moito máxico': os carácteres non-alfanuméricos son interpretados como símbolos especiais de expresións regulares (sen necesidade de escape)
- n - repetir busca na mesma dirección
- N - repetir busca na direción oposta
- :%s/old/new/g - substituír tódalas aparicións de 'old' por 'new' no documento
- :%s/old/new/gc - substituír tódalas aparicións de 'old' por 'new' no documento, con confirmación
- :noh[lsearch] - quitar o destaque das aparicións achadas
Buscar en múltiples ficheiros
- :vim[grep] /pattern/ {`{file}`} - buscar por patrón en múltiples ficheiros
- :cn[ext] - ir á seguinte aparición
- :cp[revious] - ir á anterior aparición
- :cope[n] - abrir unha xanela coa lista de aparicións achadas
- :ccl[ose] - pechar a xanela de fixado rápido
Separadores (tabs)
- :tabnew or :tabnew {page.words.file} - abrir un ficheiro nun novo separador
- Ctrl + wT - mover a xanela dividida actual para o seu proprio separador
- gt or :tabn[ext] - ir ao próximo separador
- gT or :tabp[revious] - ir ao separador anterior
- #gt - ir ao separador número '#'
- :tabm[ove] # - mover o separador actual ata a posición '#' (comeza no cero)
- :tabc[lose] - pechar o separador actual e tódalas súas xanelas
- :tabo[nly] - pechar tódolos separadores agás o actual
-
:tabdo command - correr
comandopara tódolos separadores (por exemplo,:tabdo q- pecha tódolos separadores abertos)
Traballar con múltiples ficheiros (buffers)
- :e[dit] ficheiro - editar un ficheiro nunha nova área de memoria temporal (buffer)
- :bn[ext] - ir á próxima área de memoria temporal
- :bp[revious] - ir á anterior área de memoria temporal
- :bd[elete] - eliminar unha área de memoria temporal (pechar un ficheiro)
- :b[uffer]# - ir á área de memoria temporal #
- :b[uffer] file - ir á área de memoria tempora por nome de ficheiro
- :ls or :buffers - listar as áreas de memoria temporal abertas
- :sp[lit] ficheiro - abrir un ficheiro nunha nova área de memoria temporal e dividir a xanela
- :vs[plit] ficheiro - abrir un ficheiro nunha nova área de memoria temporal e dividir a xanela verticalmente
- :vert[ical] ba[ll] - editar tódolas áres de memoria temporal como xanelas verticais
- :tab ba[ll] - edita tódolas áreas de memoria temporal como separadores (tabs)
- Ctrl + ws - dividir a xanela
- Ctrl + wv - dividir a xanela verticalmente
- Ctrl + ww - alternar xanelas
- Ctrl + wq - saír dunha xanela
- Ctrl + wx - intercambiar a xaneal actual coa seguinte
- Ctrl + w= - facer tódalas xanelas de igual altura e anchura
- Ctrl + wh - mover o cursor á xanela da esquerda (división vertical)
- Ctrl + wl - mover o cursor á xanela da dereita (división vertical)
- Ctrl + wj - mover o cursor á xanela de embaixo (división horizontal)
- Ctrl + wk - mover o cursor á xanela de enriba (división horizontal)
- Ctrl + wH - facer a xanela actual de altura completa e á esquerda (a xanela vertical máis á esquerda)
- Ctrl + wL - facer a xanela actual de altural completa e á dereita (a xanela vertical máis á dereita)
- Ctrl + wJ - facer a xanela actual de anchura completa e na parte inferior (a xanela horizontal que está máis abaixo)
- Ctrl + wK - facer a xanela actual de anchura completa e na parte superior (a xanela horizontal que está máix arriba)
Diff
- zf - define manualmente un pregue ata o movemento
- zd - borra o pregue baixo o cursor
- za - prega/desprega pregue baixo o cursor
- zo - desprega o pregue baixo o cursor
- zc - prega o pregue baixo o cursor
- zr - desprega tódolos pregues un nível
- zm - prega tódolos pregues un nível
- zi - funcionalidade prega/desprega pregue
- ]c - chimpa ao comezo do seguinte cambio
- [c - chimpa ao comezo do cambio anterior
- do or :diffg[et] - obtén (get) diferenza (doutra memoria temporal)
- dp or :diffpu[t] - pon a diferenza (a outra memoria temporal)
- :diffthis - fai a xanela actual parte do diff
- :dif[fupdate] - actualiza diferenza
- :diffo[ff] - desactiva o modo diff para a xanela actual