Tenia un buen tiempo pensando en crear una serie de post semanales que contengan información exclusiva de la terminal, bash, vim, comandos, bash script, lo que sea que se escriba en la consola 🙂 pero siempre por diferentes motivos no podía crearlo, pero hoy me decidí. Así que aquí esta la primera entrada de Viernes de terminal. Espero que a alguien le sea de utilidad.
Edición en la linea de comandos
Muchos de nosotros usamos la terminal de manera usual, pero desconocemos de todo el potencial de esta, por eso hace un par de meses, me di a la tarea de recopilar los atajos de bash desde el mas usual como limpiar bash, hasta cambiar el orden de los últimos dos caracteres, o el orden de los últimos dos argumentos.
Estos atajos son muy parecidos a los que usa Emacs claro esta esto se debe a que bash es desarrollado por GNU pero es posible cambiar la configuración al estilo Vi/Vim escribiendo el siguiente comando.
$ set -o vi
Como se lee:
C: Ctrl izquierdo.
M: Meta, por lo general Alt izquierdo.
C-x C-u: Preciona Ctrl y sin soltar preciona x después u y suelta Ctrl.
Ahora escribiré los pocos que conozco:
Básico
C-b: Mueves un carácter hacia atrás.
C-f: Mueves un carácter hacia delante.
C-_ «o» C-x C-u: Deshace la ultima edición del comando.
C-l: Limpia la pantalla.
C-u: Elimina la linea ingresada.
C-c: Cancela el comando en ejecución actual.
Eliminar
C-h: Elimina un carácter hacia atrás.
C-d: Elimina un carácter hacia delante.
C-k: Elimina el texto de la posición del cursor hasta el final de la linea.
M-d: Elimina el texto de la posición del cursor hasta el final de la palabra actual.
C-w: Elimina el texto de la posición del cursor hasta el inicio de la palabra actual.
M-Backspace: Elimina el texto de la posición del cursor a el inicio de la palabra actual.
Movimientos
C-a: Coloca el cursor al inicio de la linea.
C-e: Coloca el cursor al final de la linea.
M-f: Coloca el cursor una palabra delante.
M-b: Coloca el cursor una palabra atras.
Historial
C-r: Busca entre el historial.
Arriba y Abajo: Navega en el historial.
Argumentos
C-t: Cambia el orden de los últimos dos caracteres.
Esc-t: Cambia el orden de las ultimas dos palabras.
Otros
Tab: Auto-completa comandos, rutas, archivos, etc…
C-y: Yank* el texto recientemente eliminado
* Yank literalmente es copiar
Nota del editor: Por problemas de tiempo el artículo no se pudo publicar el Viernes. Pedimos disculpas por ello.
Que a nadie se le ocurra lo de:
$ set -o vi
jajajajajaaa… vi es para hermanas clarisas… jajajajjajaaa
Mi teclado tiene unas flechitas de lo más cómodas. Yo pulso flecha a la izquierda y el cursor se mueve a la izquierda. Pulso HOME y el cursor se va al inicio. Y podría seguir. Muy intuitivo mi teclado. Y todos los programas lo reconocen. Debe ser magia 😛
Por eso no me gusta ni nunca me gustará vi* Por mantener un esquema de teclado de cuando los teclados eran de menos de 80 teclas. Por allá por los años 70 me parece. Ya a estas alturas deberían AL MENOS haber incorporado las teclas de movimiento de cursor que vienen en TODOS los teclados y ya. Qué molestia tener que aprender Ctrl+esto y Ctrl+aquello para algo que debería ser INTUITIVO.
Es mi opinión. Saludos.
Nadie te impide usar las teclas que mencionas, es más, vi o emacs te permiten usar sin problemas tanto las teclas de los teclados actuales como las que se usaban en la prehistoria., pero con los atajos de estos editores tienes un montón más de opciones que las pocas teclas «intuitivas» que ofrece cualquier teclado. De todas formas si tu con estas cuatro teclas te basta y sobra para tus quehaceres diarios, haces muy bien en no meterte con estos rollazos que son vi o emacs… podrias descubrir cosas pertenecientes a universos paralelos que podrian atraparte por los siglos de los siglos…
Bueno, este tipo de comandos para Vi o EMACS son realmente útiles si estás editando código desde netbooks (en sí, los teclados más incómodos que he usado hasta ahora).
Los atajos del estilo Ctrl+ M+, son del estilo de emacs y otras herramientas GNU.. ..no lo son así en vi..lo dice en el mismo artículo..
vi resulta ser una herramienta muy intuitiva, para quien quiera aprender a usarla..en algún momento aprendiste a usar el teclado cuando no te era intuitivo, lo mismo con un mouse.. ..no por eso puede dejar de ser intuitivo usar vi o un teclado dvorak para otras personas.. 😉
Disculpa pero vi y emacs tienen esas configuraciones de teclado porque hay servidores y estaciones de trabajo realmente antiguos todavia funcionando que poseen distintos tipos de unix, ademas no todos los servidores modernos tiene teclados de 101 teclas algunos solo tiene lo elemental para poder modificar un archivo(da gracias que tiene esc, ctrl, alt y shift), y es ahi donde los atajos de teclado de vi te salvan. Sin mencionar que en algunos unix solo existe vi, no emacs, no nano,no etc, y mucho menos alguno con interface grafica, a mi mucho no me agrada ni vi ni emacs, pero en mi trabajo es fundamental saber esos atajos ya que no se que tipo de servidor voy a tener que administrar, vi es el default en e 99% de los unix. saludos
Tener todo al alcance de los dedos sin tener que mover las manos es la razón por la que el sistema hjkl se usa. Desconozco si será por servidores antiguos y por como avanza la tecnología hoy en día me hace dudar que esa sea la causa. Saludos.
Buen intento, pero sigo en Emacs.
+1
Muy bueno! sobre todo la primera imagen.
Disculpas Aceptadas… Aunque esperamos que este 18 de julio tengamos esa excelente informacion.
SALUDOS.!!!
Muy interesante, sólo conocía los básicos
Muy bien, sólo una cosa: Es Presiona con ‘S’, no preciona … T.T
Hahahaha tienes razón hermano disculpa se me paso la corrección en Vim
p.d. Allí estará ese horror por un tiempo, no puedo editar los post 😀 pero gracias por la observación seré más minucioso en el proximo 🙂
Hola, estoy encantado con el modo Vi; sin embargo, me gustaría saber si hay alguna forma de saber en que modo me encuentro, algo así como un indicador gráfico. Saludos y gracias de antemano.
Estuve intentando crear un script pero no pude, como no tengo mucho tiempo libre en estos dias pero prometo que cuando encuentre una solución la publicare 😀