#Vim
###Índice
- Xeral
- Mover
- Modo comandos
- Modo insertar
- Modo visual
- Buscar e reemprazar
- Pestanas e ventás
- Marcadores
- Miselánea
- Recursos
- Se introduces o número n antes de un comando, executa ese comando n veces
- Se un comando ten un guión antes, indica que se debe executar dentro do correspondente modo
###Xeral
| Comando | Función |
|---|---|
| u | Desfacer |
| Ctrl + r | Refacer |
| . | Repetir último comando |
| :q | Pechar (non funciona se hai cambios) |
| :q! / ZQ | Forzar o peche se hai cambios e non os queres gardar |
| :qa | Pechar tódalas ventás |
| :w | Gardar |
| :w nome | Gardar unha copia chamada nome |
| :wq / :x / ZZ | Gardar e saír |
| :wa[!] | Gardar tódalas ventás [forzar] |
| :Ex | Explorador de arquivos |
| :help | Amosa axuda |
| qm | Comeza a gravar unha macro e gardaa na letra *m (Para de grabar pulsando de novo q) |
| @m | Executa a macro almacenada na letra m |
###Mover
| Comando | Función |
|---|---|
| h / j / k / l | Mover á esquerda / abaixo /arriba / dereita |
| w / W | Ir unha palabra adiante (dereita) / e que estén separadas por espazos |
| e / E | Ir unha palabra adiante, ó final de ésta / e que estén separadas por espazos |
| b / B | Ir unha palabra atrás (esquerda) / e que estén separadas por espazos |
| 0 (cero) | Ir ó principio da liña |
| $ | Ir ó final da liña |
| ^ / _ | Ir ó principio da liña (caracter que non sexa un espazo) |
| _ / g_ | Ir ó principio da liña (caracter que non sexa un espazo e pódese introduccir un nº antes) / Ir ó final da liña (parecido a $) |
| gg | Ir ó principio do arquivo |
| G | Ir ó final do arquivo |
| nG | Ir á liña n |
| % | Móvese entre paŕentesis (), chaves {} ou corchetes [] |
| H / M / L | Ir á parte superior / media / inferior da pantalla |
| zt / z. / zb | Poñer a liña do cursor na parte superior / media / inferior da pantalla |
| Ctrl + U / + D | Mover media pantalla arriba / abaixo |
| Ctrl + B / + F | Mover unha pantalla arriba / abaixo |
###Modo comandos
| Comando | Función |
|---|---|
| yy / Y | Copiar unha liña |
| yw | Copiar unha palabra |
| y$ | Copiar ata o final da liña |
| y0 | Copiar ata o principio da liña |
| p / P | Pegar despois / antes do cursor |
| dd | Cortar unha liña |
| dw | Cortar unha palabra dende o cursor ata o final |
| diw | Cortar unha palabra |
| dip | Cortar un parágrafo |
| D / d$ | Cortar ata o final da liña |
| d0 | Cortar ata o principio da liña |
| dib / diB | Corta o que hai dentro de paréntesis () / de chaves {} |
| dab / daB | Corta o que hai dentro de paréntesis () / de chaves {} e máis a éstes incluídos |
| x / X | Cortar caracter no que se atopa o cursor / anterior |
| r | Reemprazar un caracter |
| R | Entra en modo reemprazar |
| cc | Cambiar toda a liña (borraa e entra en modo insertar) (igual que S) |
| cw | Cambiar unha palabra dende o cursor ata o final |
| ciw | Cambiar unha palabra |
| C / c$ | Cambiar dende o cursor ata o final da liña |
| s | Elimina o caracter e entra en modo insertar |
| S | Elimina toda a liña e entra en modo insertar (igual que cc) |
| Añade identación (TAB) << | Elimina identación (TAB) J | Xunta a liña coa liña seguinte ~ | Reempraza entra maiúsculas e minúsculas :m n | Mover a liña actual a despois da liña n :m 0 | Mover a liña actual ó principio do documento :m $ | Mover a liña actual ó final do documento :m '}-1 | Mover a liña actual ó final do parágrafo :m 'm | Mover a liña actual ó marcador m :nm x | Mover a liña n a despois da liña x :m .+1 / :m+ | Mover a liña actual unha posición abaixo :g/^z/d | Borra tódalas liñas que comecen por z :g/^$/d | Borra tódalas liñas en branco
| Combinación | Función |
|---|---|
| viwp | Pega sustituindo toda a palabra |
| xp | Alterna a posición do caracter co anterior (typo) |
| ynG / dnG / cnG | Copia / Borra / Cambia dende a liña actual, ata a liña n |
| y'm / ... | Copia dende a liña actual ata o marcador m |
###Modo insertar
| Comando | Función |
|---|---|
| i | Modo inserción no cursor |
| I | Modo inserción ó principio da liña |
| a | Modo inserción despois do cursor |
| A | Modo inserción ó final da liña |
| o | Modo inserción nunha nova liña debaixo da actual |
| O | Modo inserción nunha nova liña enriba da actual |
| -Ctrl + h | Borra o caracter anterior |
| -Ctrl + w | Borra dende o cursor ata o inicio da palabra |
| -Ctrl + u | Borra dende o cursor ata o principio da liña |
| -Ctrl + N, Ctrl + P | Autocompletado de palabras (en modo insertar) |
| -Ctrl + X, Ctrl + L | Autocompletado de liñas (en modo insertar) |
| -ESC | Saír do modo insertar |
| Combinación | Función |
|---|---|
| ea | Insertar despois de unha palabra |
| bi | Insertar antes de unha palabra |
###Modo visual (selección)
| Comando | Función |
|---|---|
| v | Modo visual no cursor |
| V | Modo visual seleccionando as liñas completas |
| -o | Moverse ó outro extremo da zona seleccionada |
| -Ctrl + v | Modo visual en modo bloque |
| -O | Moverse ó outro extremo do bloque |
| -y | Copiar texto seleccionado |
| -d | Cortar texto seleccionado |
| -> / -< | Añade / Elimina identación |
| -u / -U | Converter a minúsculas / maiúsculas |
| -iw | Seleccionar unha palabra |
| -ip | Seleccionar un parágrafo |
| -ib / -iB | Seleccionar un bloque dentro de paréntesis () / chaves {} |
| -ab / -aB | Seleccionar un bloque con paréntesis () / chaves {} incluídos |
| -ESC | Saír do modo visual |
| Combinación | Función |
|---|---|
| ggVG | Selecciona todo |
| Vip | Selecciona todo o parágrafo |
| Vn+ / Vn- | Selecciona a liña actual e máis as n seguintes / anteriores |
| VnG | Selecciona dende a liña actual, ata a liña n |
###Buscar e reemprazar
| Comando | Función |
|---|---|
| /texto / ?texto | Busca texto cara adiante / atrás |
| n / N | Termo seguinte / anterior |
- / # | Busca a palabra sobre a que estamos, e vai ó termo seguinte / anterior :%s/textovello/textonovo/ | Reempraza a primeira expresión textovello por textonovo :%s/textovello/textonovo/g | Reempraza textovello por textonovo en todo o arquivo :%s/textovello/textonovo/gc | Reempraza textovello por textonovo en todo o arquivo pedindo confirmación
###Pestanas e Ventás (traballar con varios arquivos)
| Comando | Función |
|---|---|
| :e arquivo | Abrir arquivo nun novo buffer |
| :ls | Listar buffer |
| :bn / bnext | Ir ó buffer seguinte |
| :bp / :bprev | Ir ó buffer anterior |
| :bd | Eliminar buffer (pechar arquivo) |
| :sp arquivo | Abrir arquivo nun novo buffer, e dividir a pantalla hotizontalmente |
| :vsp | Abrir arquivo nun novo buffer, e dividir a pantalla verticalmente |
| Ctrl + ws | Dividir ventá horizontalmente |
| Ctrl + wv | Dividir ventá verticalmente |
| Ctrl + ww | Cambiar de ventá |
| Ctrl + wq | Pechar ventá |
| Ctrl + wh/j/k/l | Mover o cursor para a ventá esquerda/abaixo/arriba/dereita |
| :tabnew arquivo / :tabn arquivo | Abrir arquivo nunha nova pestana |
| gt / :tabnext / :tabn | Ir á pestana seguinte |
| gT / :tabprev / :tabp | Ir á pestana anterior |
| ngt | Ir á pestana número n |
| :tabmove n | Move a pestana actual á posición n (comeza en 0) |
| :tabc / :tabclose | Pechar tódalas pestanas e as súas ventás |
| :tabo / :tabonly | Pechar tódalas pestanas excepto a actual |
###Marcadores
| Comando | Función |
|---|---|
| mm | Crea un marcador na letra m |
| 'm | Ir ó principio da liña do marcador m |
| `m | Ir ó marcador m |
| :marks | Lista os marcadores |
| :marks m | Lista o marcador m |
| ]' | Mover á seguinte liña con un marcador en minúsculas |
| [' | Mover á anterior liña con un marcador en minúsculas |
| ]` | Mover ó seguinte marcador en minúsculas |
| [` | Mover ó anterior marcador en minúsculas |
| '. | Mover ó lugar donde se produciu o último cambio no buffer actual |
| '" | Mover ó último lugar donde se saíu do documento no buffer actual |
| :delmarks m | Elimina o marcador m |
###Miscelánea
| Comando | Función |
|---|---|
| ga | Amosa o código ASCII do caracter |
##Recursos