macos - plugin - iterm2 themes
iTerm2: ¿Eliminar línea? (5)
Asignar el código hexadecimal 0x15
a ⌘ + ← Eliminar en la mayoría de las capas elimina toda la línea (contenido a la izquierda y derecha del cursor). Aunque a veces no es tan compatible, encuentro que mapear:
⌘ + ← Borrar para enviar códigos hexadecimales:
0x18 0x7f
Realiza la funcionalidad deseada. Si está ejecutando ZSH, es probable que también necesite agregar esto a su archivo .zshrc:
$ echo ''bindkey "^X//x7f" backward-kill-line'' >> ~/.zshrc
como por defecto ZSH no asigna la backward-kill-line
a nada.
Escribí una guía completa para agregar la mayoría de los enlaces de teclas estándar de OSX a su terminal here
Estoy intentando asignar Cmd + Delete (retroceso) para eliminar al principio de la línea (como funciona en los navegadores y editores de texto) en iTerm2 y no puedo encontrar un código de escape que funcione. Intenté 1K ( ^[1K
) según lo que leí here ... Simplemente imprime una "K".
Edición: encontré Ctrl + U. Ahora para saber cómo mapearlo. Tal vez el código Hex 21 (U siendo la letra 21), así que 0x15?
Como apunta ^U
borra la línea. Puede volver a asignar el comando fácilmente usando la herramienta Better Touch .
También tiene características geniales para la automatización, el mouse, el teclado y la asignación de teclado. También incluye una función de ventana para las fronteras inteligentes.
En OSX, ⌥ + ⌫ y ⌘ + ⌫ son los accesos directos para eliminar una palabra y eliminar una línea respectivamente. ⌘ + ← y ⌘ + → son para ir al principio y al final de las líneas. De forma predeterminada, iTerm2 no está configurado de esta manera, y hay muchas guías en línea engañosas. Lo siguiente es lo que he encontrado para trabajar en mi máquina.
- Abra las preferencias (⌘ +,) y vaya a la pestaña Teclas.
- Agregue una tecla de método abreviado global y simplemente escriba su método abreviado
- En el menú desplegable Acción, seleccione Enviar código hexadecimal.
Los códigos hexadecimales para ...
- Borrar una palabra: 0x17.
- Eliminando una línea: 0x15.
- Moviéndose al principio de la línea: 0x01.
- Moviéndose al final de la línea: 0x05. Simplemente abre una nueva pestaña, ¡y debería funcionar!
Aquí hay una captura de pantalla, para mayor claridad:
Entiendo. No tengo idea de por qué las asignaciones de Código Hex en iTerm2 producen las asignaciones de teclas Ctrl + asociadas, pero sí lo hacen. Tampoco tengo idea de lo que significa 0x00, ya que no está asignado a A como podría esperarse. (aunque creo que Unix tiene sus propias convenciones relacionadas con el tratamiento de bytes nulos, por ejemplo, tenemos xargs
aceptan un byte nulo que delimita el formato de find
por ejemplo, sería genial si pudiéramos vincularlo a una tecla de acceso rápido con iTerm2)
Pude encontrar que Ctrl + U hace casi la tarea exacta que quiero (elimina toda la línea en lugar de eliminar solo lo que está antes del cursor, pero lo que sea ... Ctrl + Y como bonificación puede recuperarlo todo). Luego, curiosamente, vi que tenía códigos hexadecimales 0x1
y 0x5
asignados a ^A
y ^E
respectivamente, para mi Cmd + Izquierda y Cmd + Derecha ... ¡entonces 0x15
es para ^U
!
Espero que esto te pueda ayudar http://felipecsl.com/blog/2012/06/05/protip-delete-words-on-iterm2-mac-osx/
mapa ⌥ <- Eliminar para enviar códigos hexadecimales: 0x1B 0x08
Tuve una prueba para ello, y es correcta.
18.09.2013 actualización
Esto borra una palabra, no una línea.