En un principio, vim parece muy complicado
de manejar, pero una vez que se practica lo suficiente, se ve la potencia
y la rapidez que posee. Yo lo recomiendo y aunque la mayoria de
gente está acostumbrado a los "faciles" y "sencillos" editores de
Windows, con el editor vim se consigue escribir muy rápido sin tener que levantar las manos
del teclado (que es lo que se necesita a la hora de programar) olvidándote del mouse por completo, y tiene opciones que a la hora
de programar son muy buenas.
Pulsar lo siguiente:
Para usar estas órdenes pulsar ESC más la tecla...
i --- inserta texto
dd --- borra una linea
dw --- borra una palabra
x --- borra un carácter
u --- deshace el último cambio
Para usar esta orden pulsar ESC más la tecla "v" y mover las teclas de dirección, a este texto se le puede:
:número_de_línea --- el cursor se va a la línea número_de_línea
:q --- (quit) sale del editor, si no ha habido modificaciones
:q! --- sale del editor sin grabar
:w --- (write) graba el fichero. También :w $HOME/nombre_del_fichero graba el fichero en el directorio raiz con el nombre de fichero especificado
:x igual que :wq --- graba el fichero y sale del editor
:e fichero --- edita un nuevo archivo llamado fichero
:w >> fichero --- Añade el fichero actual al archivo llamado fichero
:f --- nombra el fichero
4dd --- (Delete) Borra 4 líneas, vi las lleva al buffer
5yy igual que 5Y --- (Yank) Copia 5 líneas de texto, y las lleva al buffer
p --- (Paste) Pega todo el texto que tenga en eL buffer
"a5yy --- Guardamos 5 líneas en el buffer llamado a
"ap --- Pegamos todo el texto (ahora 5 líneas) del buffer llamado a
w --- avanza una palabra
3w --- avanza 3 palabras
dw --- borra una palabra
4dw --- borra 4 palabras
d3w --- borra 3 palabras
4d3w --- borra 12 palabras (efecto multiplicativo)
25dd --- borra 25 líneas
/palabra --- búsqueda de palabra en posiciones siguientes
?palabra --- búsqueda de palabra en posiciones anteriores
si se quiere continuar con la búsqueda pulsar n y si queremos hacerlo en dirección contraria, pulsaremos N
:1,$s /palabra_antigua/palabra_nueva/g --- sustituye palabras en todo el documento
:m,ns /palabra_antigua/palabra_nueva/g --- sustituye palabras desde la línea m hasta la línea n
Si queremos dejar marcas para poder volver a ellas rápidamente pulsremos m seguido de un caracter simple.
por ej. pulsar ESC " m a "
Para volver a la posición pulsar el acento grave ` seguido
del caracter.
por ej. ESC " ` a " y el cursor se situará en la marca de a.
:set ai --- (autoindent) al pulsar intro el cursor se situa alineado con el comienzo de la última línea
:set sm --- (showmatch) al cerrar un paréntesis, llave o corchete, el cursor se coloca momentáneamente en el paréntesis, llave o corchete previamente abierto
:set nu --- (number) visualiza en cada línea su número
:set tabstop=n --- al teclear un TAB hace n espacios
:set ignorecase --- los carácteres mayúsculas y minúsculas son ignorados a la hora de hacer búsquedas
:set all --- activa todos las opciones
:set noai, :set nosm, :set nonu --- desaciva la opción deseada
Si queremos que cada vez que entremos en vi tengamos éstas opciones activadas se puede hacer de dos formas:
H --- (Home) mueve el cursor al principio de la ventana
M --- (Middle) mueve el cursor a la mitad de la ventana
L --- (Last) mueve el cursor al final de la ventana
^F --- (Forward) avanza una página
^B --- (Backward) retrocede una página
^U --- scroll up media ventana
^D --- scroll down media ventana
Pulsar ESC y luego :! <enter>
Saldrá al shell y podremos ejecutar cualquier orden del mismo.
Para volver donde dejamos a vi pulsar o bien exit o bien ctrl-d(^d).
No son ni mucho menos todas las órdenes posibles, me divierte mucho cuando leo cualquier libro sobre Unix - Linux el buscar alguna orden que hasta entonces no conocia, y bueno siempre pasa lo mismo.
Leí una vez que se pueden programar las teclas, pero también decía que a demás de ser muy complicado era muy engorroso, aqui doy a entender la cantidad de opciones que tiene el vim. Sin lugar a dudas el editor que se trabaja mas rapido es este el vim.
Nota:El vim es el vi mejorado.