Xmegacs
"Lo importante es compartir"

Vim | Algunos comandos | Linux

  • Categoría: Linux
  • Publicado hace más de 3 meses






Bienvenidos a un nuevo tutorial, en el cual veremos algunos comandos de nuestro magnifico editor Vim.

Modo Normal

Vim empieza en este modo. Se pueden emplear combinaciones de teclas para, por ejemplo, copiar líneas y trabajar en el formato del texto. Éste es el modo central, desde el que se cambia a los otros modos. Pulsando la tecla Escape siempre se puede volver al modo normal. Por defecto, podremos mover el cursor por el archivo con hjkl (izquierda, abajo, arriba y derecha respectivamente) o con las teclas de dirección.

Modo insertar

 Es el modo en el que podemos introducir texto. Se puede entrar a este modo desde el modo normal pulsando la tecla i. Existen otros comandos que nos llevarán al modo inserción pero se diferencian uno del otro por la acción que realizan, como cambiar una palabra dentro de unas comillas, cambiar el texto hasta el final de la línea o hasta el cierre de un corchete… etc. Un usuario avanzado ahorrará mucho tiempo utilizando estos atajos.

[/b]Modo de comandos[/b]

Se accede pulsando :. Permite introducir diferentes comandos, como buscar y reemplazar con expresiones regulares. También podremos personalizar aspectos de Vim para esa sesión, ya que no quedarán guardados los cambios permanentemente.

[/b]Modo visual[/b]

Se entra pulsando la tecla v. Es como seleccionar texto con el cursor, solo que podremos escribir comandos para manipularlo.

Modo selección

Se entra desde el modo visual pulsando Ctrl-G. Tiene un comportamiento similar al modo visual solo que al escribir no realizaremos comandos sino que reemplazaremos el texto, como en un editor de texto normal,

Modo Ex

Este modo se asemeja al modo de comandos, con la diferencia de que tras la ejecución de una orden no se vuelve al modo normal. Se entra pulsando Q y se sale con vi.



Aprende algunos verbos:

* v (visual)
* c (change/cambiar)
* d (delete/borrar)
* y (yank/copiar).

Aprende algunos modificadores:

* i (inside/dentro de)
* a (around/alrededor)
* t (till../hasta que encuentra el carácter)
* f (find../hasta que encuentra el carácter incluyéndolo)
* / (buscar).

Aprende algunos objetos:

* w (word/palabra)
* s (sentence/frase)
* p (paragraph/párrafo)
* b (block/parentesis)
* t (tag/ para html/xml).


Opciones de Texto modo normal.

* May+v => Seleccionar texto
* dd => Eliminar la línea actual
* u => Deshacer el último cambio
* CRTL+R => Rehacer el último cambio
* guu => Convertir a minúsculas la línea actual
* gUU => Convertir a mayúsculas la línea actual
* gg => Posicionarse al inicio del fichero
* G => Posicionarse al final del fichero
* :num => colocarse en la línea num
* ga => Muestra el código ASCII, hexadecimal y octal del carácter actual


Comandoh
Mover el cursor a la izquierda.

Comandoj
Mover el cursor hacia abajo.

Comandok
Mover el cursor hacia arriba.

Comandol
Mover el cursor hacia la derecha.

Comandoi
Insertar texto en la posición actual del cursor (Insert), pasando a Modo Inserción. Se permanece en modo inserción hasta que se sale explícitamente de él.

ComandoESC
Salir del modo inserción y volver a modo comando. En modo comando, permite cancelar muchos de los comandos que se están ejecutando.

Comandox
Borrar el caracter bajo el cursor (equivale a la tecla Del/Supr).

ComandoX
Borrar el caracter a la izquierda del cursor (equivale a la tecla Borrar/Backspace).

ComandoJ
Juntar la línea actual con la siguiente (Join), eliminando el retorno de carro entre ellas.

Comandou
Deshacer la última acción (Undo). Si lo pulsamos más veces desharemos acciones anteriores.

ComandoCTRL+R
Rehacer la última acción (Redo). Si lo pulsamos más veces reharemos acciones posteriores deshechas.

Comandoa
Insertar texto en la siguiente posición tras el cursor (Append). Es similar a i, salvo que el texto no se inserta en la posición actual del cursor sino a su derecha.

ComandoA
Poner el cursor al final de la línea y pasar a modo inserción (añadir texto al final).

Comandoo
Crear una línea vacía, en blanco, bajo la línea actual, y pasar a modo inserción con el cursor posicionado en dicha línea. Es mucho más cómodo que (como en otros editores) tener que pulsar FIN y ENTER para crear una línea en blanco.

ComandoO
Crear una línea vacía, en blanco, sobre la línea actual. Sería el equivalente en otros editores a ARRIBA, ARRIBA, FIN, ENTER.

Comandodd
Borrar la línea actual (sobre la que está el cursor).

ComandoD
Borrar desde la posición actual del cursor hasta el final de la línea.



Counts o repetidores:

En la mayoría de comandos de Vim podemos añadir counts, que es como se conoce a los repetidores del comando. El count es un número que se teclea antes del comando para que se repita varias veces. Unido a la potencia del modo comando nos da mucho juego para la edición.

Comando 10dd
Repetir 10 veces el comando dd, es decir borrar 10 líneas empezando desde la línea actual. Es el equivalente a teclear manualmente 10 veces dd, y mucho más rápido que seleccionar 10 líneas a mano con ratón o cursores.

Comando 5x
Repetir 5 veces el comando x, es decir, borrar 5 caracteres empezando desde el carácter actual. Equivale a pulsar manualmente 5 veces el comando x.

Comando 60i-<ESC><ENTER>
Insertar 60 guiones consecutivos. Este comando se teclea en modo comando pulsando 6, 0, i, guión, y pulsando la tecla ESCAPE y luego pulsar ENTER para validar el comando. Al hacerlo, estamos diciendo que se repita 60 veces la secuencia i guión ESCAPE, es decir, pasar a modo inserción, escribir un guión, y volver al modo comando pulsando ESCAPE. El 60 que hay delante lo repite 60 veces, con lo cual tenemos 60 guiones en pantalla. ¿No es mucho más cómodo al programar, para introducir separadores de comentarios, que pulsar el guión 60 veces o durante varios segundos mientras miramos la columna en la que estamos?




La manipulación del fichero (abrir, guardar, salir)

comando:w
Grabar los cambios del fichero actual.

comando:w nombre
Grabar el contenido actual del buffer en un fichero de nombre nombre.

comando:q!
Salir del editor sin grabar ningún cambio en el fichero actual (descartando cualquier cosa que hayamos hecho desde su apertura o última vez que grabamos).

comandoZZ
Salir del editor grabando los cambios en el fichero actual. También sirve :x o :wq!.

comandoCTRL + G
Obtener información en la barra de estado del nombre del fichero que estamos editando, línea actual, número de líneas, en qué porcentaje del fichero estamos, y número de columna.

comando:e fichero
Abrir un fichero en el buffer actual (si está vacío) o en uno nuevo (si tenemos el buffer actual en uso)




En el caso de que hayamos abierto con :e más de un fichero, podemos movernos entre ellos con:

comando:bn
Siguiente buffer (fichero).

comando:bp
Anterior buffer (fichero).

comando:bd
Cerrar buffer (fichero) actual.




Especificando rangos de texto

En Vim podemos aplicar las búsquedas, borrados y modificaciones no sólo a la línea actual o a la totalidad del documento, sino que también podemos hacer referencia a porciones del texto:


Comando%
Todo el documento

Comandon,M
Bloque de líneas desde la n a la M.

Comando 'a,'b
Bloque de líneas entre las marcas a y b.

Comando '<,'>
Bloque de texto seleccionado en modo visual.




Movimiento más avanzado

Comandow
Mueve el cursor al principio de la siguiente palabra de la línea actual, o de la siguiente línea si estamos en la última palabra de la línea.

Comandob
Mueve el cursor al principio de la anterior palabra de la línea actual, o de la anterior línea si estamos en la primera palabra de la línea.

Comandoe
Igual que w, pero coloca el cursor en el último carácter de la siguiente palabra (al final de la palabra en lugar de al principio).

Comandoge
Igual que b, pero coloca el cursor en el último carácter de la anterior palabra.

Comando W, B, E y gE
Iguales que w, b, e y ge, pero con una peculiaridad. En mayúsculas, nos movemos de palabra en palabra considerando como separador de palabra sólo los espacios en blanco y retornos de carro, mientras que en minúsculas, Vim utiliza un modo inteligente con más separadores de palabras, como el guión o la barra. Por ejemplo, en el caso de tener la frase cadena1-cadena2 cadena3 o cadena1/cadena2 cadena3 con el cursor sobre el primer carácter, w avanzaría el cursor hasta primera letra de cadena2, mientras que W lo avanzaría hasta la primera letra de cadena3.

Comando$
Mueve el cursor al final de la línea (equivalente a la tecla Fin).

Comando0
Mueve el cursor al principio de la línea (equivalente a la tecla Inicio).

Comando^
Mueve el cursor al primer carácter no blanco de la línea. Perfecto a la hora de programar, cuando queremos corregir cosas en el código, normalmente indentado con espacios o tabuladores al principio de las líneas.

Comando{
Mueve el cursor al anterior párrafo (o bloque de código).

Comando}
Mueve el cursor al siguiente párrafo (o bloque de código).

Comando f<carácter>
Realiza una búsqueda en la línea actual del carácter indicado. Por ejemplo, fx mueve el cursor a la primera aparición del carácter x desde la posición actual. Muy útil para ir rápidamente a partes concretas de una línea sin llevar la mano al ratón (por ejemplo, para corregir una h que sea un error ortográfico, pulsando fh.

Comando F<carácter>
Igual que el comando anterior, pero realizando la búsqueda hacia atrás en la línea actual (empezando desde la posición actual del cursor).

Comando t<carácter> y T<carácter>
Similares a f<carácter> y F<carácter> salvo que posicionan el cursor en el carácter anterior a la letra buscada.

Comando; y ,
Repiten la ejecución del último comando f, F, t o T hacia adelante (;) o hacia atrás (,).

ComandoESC
En el caso de búsquedas f, F, t o T, permite cancelar la búsqueda.

Comando%
Al pulsarlo sobre un paréntesis abierto o cerrado (, ), corchete abierto o cerrado [, ] , o llave abierta o cerrada {, }, mueve el cursor a la pareja de dicho elemento. Por ejemplo, si estamos programando y queremos saber cuál es el paréntesis que cierra el paréntesis sobre el cual está el cursor, pulsamos % y vim nos lleva directamente a él. Como también funciona con corchetes y llaves, podemos encontrar fácilmente qué llave cierra un bloque de código, o qué if/for/while/loquesea es el que ha abierto una determinada llave de cierre en un programa en C que estemos depurando.

Comando <NUMERO>G
Ir a la línea número NUMERO del documento. Por ejemplo, 100G nos llevaría a la línea número 100. Es especialmente útil a la hora de programar, cuando tenemos que ir a líneas concretas del programa donde el compilador nos ha reportado errores.

Comando :set number
Activa la numeración de líneas.

Comando :set nonumber
Desactiva la numeración de líneas.

Comando :set ruler
Activa en la barra de estado una indicación de la columna y fila actual.

Comandogg
Ir a la primera línea del documento (equivale a 1G)

ComandoG
Sin número delante, G nos lleva a la última línea del documento.

Comando <NUMERO>%
Nos lleva a un porcentaje concreto del fichero. Por ejemplo 50% nos lleva a la mitad del fichero, y 95%, casi al final del mismo.

Comando CTRL+F
Scrollea una pantalla completa hacia adelanta (F de Forward).

Comando CTRL+B
Scrollea una pantalla completa hacia atrás (B de Backward).

Comando CTRL+E
Scrollea la pantalla en una sóla línea hacia arriba.

Comando CTRL+Y
Scrollea la pantalla en una sóla línea hacia abajo.

Comando CTRL+U
Scrollea media pantalla de texto hacia abajo (el equivalente a hacer medio RePág). Puede sonar raro el hecho de scrollear medias pantallas, pero en determinadas situaciones puede ser útil (si no queremos perder de vista texto ya leído cuando avanzamos, por ejemplo).

Comando CTRL+D
Scrollea media pantalla de texto hacia arriba (como hacer medio AvPág). Permite así avanzar el documento media página sin perder de vista el texto donde está el cursor.

Comandozz
Sin modificar la posición actual del cursor, modifica la ventana de visualización del fichero de forma que la línea actual acabe centrada en pantalla y podamos ver el contexto. Por ejemplo, supongamos que estamos en la parte de abajo de la pantalla con el cursor en la última línea y necesitamos ver con facilidad y claridad qué líneas hay sobre y bajo ella. En otros editores usaríamos la tecla de Abajo hasta centrar un poco la línea en pantalla y luego subiríamos hacia arriba para volver a la línea en que estábamos. En Vim basta con pulsar zz para centrar la línea actual en pantalla sin mover la posición del cursor para nada.

Comandozt
Igual que zz pero posicionando la línea en la parte superior de la pantalla (t viene de top) lo que nos permite ver con claridad la línea actual y muchas líneas posteriores.

Comandozb
Igual que zt, pero posicionando la línea en la última posición de la ventana de pantalla, lo que nos permite ver la línea actual y muchas líneas anteriores. En ambos 3 comandos no se modifica la posición del cursor en el documento, sólo la manera de verlo en pantalla.




De nuevo podemos utilizar multiplicadores en todos los comandos anteriores para evitarnos pulsaciones innecesarias de teclas:

Comando20w
Avanzar 20 palabras.

Comando3fx
Avanzar el cursor a la tercera aparición de la letra x en la línea actual, desde la posición del cursor.

Existen una serie de comandos en Vim que se comportan como operadores, actuando sobre los comandos de movimiento. Por ejemplo, el operador de borrado d (delete), se puede anteponer a comandos de Vim para modificar su comportamiento.

Como algunos modificaciones y operadores se utilizan tanto, Vim nos proporciona unos atajos de una sola letra para ejecutarlos:

Atajo x Equivalente dl
Borrar el carácter bajo el cursor.


Comando X Equivalente dh
Borrar el carácter a la izquierda del cursor.


Comando D Equivalente d$
Borrar hasta el final de la línea.


Comando C Equivalente c$
Cambiar el texto hasta el final de la línea.


Comando s Equivalentecl
Cambiar un carácter.


Comando S Equivalentecc
Cambiar la línea completa.


Gracias a la potencia de Vim, entre operadores y multiplicadores podemos hacer la edición muchísimo más rápida. Veamos algunos comandos más avanzados:


Comandodw
Borrar desde el cursor hasta el final de la palabra actual. Por ejemplo, si estamos encima de la letra m de la palabra automóvil, ejecutando dw quedaría tan sólo la palabra auto. Recuerda que w avanza hasta el siguiente separador de palabra y W hasta el siguiente espacio entre palabras, de modo que también podemos usar dW si es lo que nos interesa.


Comandodb
Borrar desde el cursor hasta el principio de la palabra actual. Por ejemplo, si estamos encima de la letra m de la palabra automóvil, ejecutando db quedaría tan sólo la palabra móvil.


Comandodlw
Borrar la palabra bajo el cursor (completa), desde su principio hasta su final, estemos donde estemos dentro de la palabra.


Comandodaw
Borrar la palabra bajo el cursor, igual que diw, pero en este caso si existe un espacio tras la palabra también lo borra.


Comandodls
Borrar la frase (no línea, sino frase hasta el próximo punto) sobre la que está el cursor.


Comandodas
Igual que dis, pero si existe un espacio tras la frase también lo elimina.


ComandodG
Borrar desde la posición actual del cursor hasta el final del fichero.


Comandodgg
Borrar desde la posición actual del cursor hasta el principio del fichero.

Bueno eso es todo por ahora amigos, despues continuaremos descubriendo el maravilloso mundo de vim.



Dejo el Documento en PDF para aquellos que lo necesiten.



|Formato: PDF | Peso: 78 KB | Servidor: Mega |

| Contraseña: csoria |




descargar peliculas - descargar programas
26 Puntos Score: 4.3/10
Visitas: 650 Favoritos: 2
Ver los usuarios que votaron...
7 Comentarios Vim | Algunos comandos | Linux
Buen aporte, gracias por compartir.  
@draer Gracias a vos por pasar. Saludos.
WOW.... ya no recordaba tantos comandos y opciones... van mis puntos del día   gracias y un saludo
@aradillas Gracias a vos colega. Saludos.  
Aún recuerdo los primeros comandos básicos que aprendí "reboot -h (sintaxis)"
gracias por compartir.
@Askari Gracias a vos por pasar.  
Vaya lío. Muy útil, muchas gracias por compartir. Por casualidad sabrás ¿Cómo hacer para que cuando quiera montar un hd me pida contraseña?
Para dejar un comentario Registrate! o.. eres ya usuario? Accede!
Facebook Identi