Las teclas home
y end
en un MacBook Pro se pueden emular con fn + flecha izquierda o fn + flecha derecha. O cuando se cambian ciertas configuraciones, con la tecla Comando (Apple) en lugar de fn.
Ninguno de estos trabajos en la Terminal.
Como frecuentemente necesito ir al principio o al final de la línea y también me gustaría saltar hacia adelante o hacia atrás por palabra.
¿Cómo puedo saltar en una línea en la Terminal?
Para responder a la pregunta sobre cómo obtener el principio o el final de la línea, parece que, por defecto, Terminal le asigna estas teclas:
Si desea que el inicio y el final funcionen de la manera "normal" (y no requiera turno), vaya a [Menú terminal] → Preferencias → pestaña Perfiles (o configuraciones en algunas versiones de OS X) → subpestaña Teclado.
Luego modifique / agregue estas claves para que sean las siguientes "enviar cadena al shell"
\033[H
\033[F
Puede obtener la
\033
pieza presionando la tecla de escape dentro de la entrada de diálogo de edición, si necesita agregarla.Luego, el inicio y el final volverán a funcionar normalmente (phew).
También tenga en cuenta que "alt + ←" y "alt + →" de forma predeterminada en el mapa de terminales a la palabra izquierda y la palabra derecha, otro combo útil para recordar.
En versiones posteriores de Mac OS X, si la pantalla del terminal se mueve hacia arriba o hacia abajo cuando presiona la tecla de inicio / finalización, es posible que deba configurar la tecla de inicio
\033[1~
y la tecla de finalización\033[4~
para obtener los resultados que desea (no es necesario cambiar) .Siéntase libre de modificar esta respuesta para agregar enlaces de teclas más útiles, ya que es una wiki comunitaria.
fuente
Parece que está buscando ayuda para usar readline y bash, aquí hay una lista de locos de teclado modificada de: http://www.math.utah.edu/docs/info/features_7.html#SEC45
Ctrla Moverse al inicio de la línea.
Ctrle Moverse al final de la línea.
Escf Avanzar una palabra.
Escb Retroceder una palabra.
Ctrll Despeje la pantalla, reimprimiendo la línea actual en la parte superior.
Ctrlk Mata el texto desde la posición actual del cursor hasta el final de la línea.
Escd Matar desde el cursor hasta el final de la palabra actual, o si está entre palabras, hasta el final de la siguiente palabra.
EscDel Elimine desde el cursor el inicio de la palabra anterior, o si está entre palabras, hasta el inicio de la palabra anterior.
Ctrlw Mata desde el cursor al espacio en blanco anterior. Esto es diferente a EscDelCtrla porque los límites de las palabras difieren.
Ctrld Elimina el carácter debajo del cursor.
Ctrl_ Deshacer lo último que hiciste. Puede deshacer todo el camino de regreso a una línea vacía.
Y aquí está cómo volver a tirar el texto a la línea. Yanking significa copiar el último texto eliminado del búfer de eliminación.
Ctrly Yank el texto eliminado más recientemente en el búfer en el cursor.
Escy Gire el anillo de matar y tire de la nueva parte superior. Solo puede hacer esto si el comando anterior es Ctrlyo Escy.
fuente
Para aquellos que prefieren usar las teclas de flecha, presionar fnShift+ Left Arrowlo llevará a casa en la línea de comando. Del mismo modo, fnShift+ Right Arrowte llevará hasta el final.
fuente
Puede mover una palabra a la vez con option+ lefty option+ right.
Con respecto al uso de homey end, los enlaces predeterminados de Terminal son los siguientes:
En muchas otras aplicaciones de terminal (en múltiples plataformas), esos pares modificados y no modificados se invierten (es decir, desnudos homey endse usan para saltar alrededor de la línea actual y las versiones modificadas (ya sea por shifto por otra cosa) se usan para navegar por el búfer de desplazamiento hacia atrás ) Puede revertir los enlaces de Terminal para que funcionen de esa manera si lo desea haciendo lo siguiente:
Vaya al menú Terminal → Preferencias → pestaña Configuración / Perfil → subpestaña Teclado.
Luego modifique los pares clave-acción para que sean los siguientes:
Nota: \ 033 se ingresa en el cuadro de texto a enviar en el cuadro de diálogo Editar presionando la tecla de escape.
Mientras esté allí, es posible que desee intercambiar de manera similar los enlaces de modificados y no modificados page upy page down, para mantener las cosas consistentes: presionar una tecla de navegación con shiftrepresenta un comando para la Terminal (para navegar el búfer de desplazamiento como un documento), mientras presiona uno sin envía la pulsación de la tecla a través de lo que está funcionando dentro de él (por ejemplo
bash
,less
,nano
,screen
, etc.). Los pares clave-acción para eso son:fuente
Las otras respuestas son geniales y más portátiles, pero aquí está "la forma OS X" para un teclado normal (que es opuesto a muchos otros terminales). Intenta lo siguiente:
ShiftHome- Principio de línea
ShiftEnd- Fin de línea
De http://www.greenend.org.uk/rjk/tech/macbits.html
fuente
La asignación homey las endteclas con la funcionalidad deseada resolverán fácilmente el problema.
Se han publicado muchas respuestas, pero en caso de que las esté utilizando
zsh
, puede configurarlas homepara:y configurar enda:
haciendo clic en preferencia - perfil - teclado.
fuente
Esta es la forma más efectiva de hacerlo funcionar también con vim. Vaya a Terminal -> Preferencias -> Perfiles -> Teclado y agregue:
Clave: ↖ Acción: \ 033OH
Clave: ↗ Acción: \ 033OF
fuente
Me gustaría proporcionar una solución alternativa a este problema. Esto funciona muy bien si eres un usuario vi. Vim Key Bindings en Terminal proporciona una manera de usar su terminal en un estilo vim. Puede hacerlo escribiendo el
set -o vi
terminal y siéntase libre de colocarlo.bash_profile
si lo desea. Después de esto, su terminal es efectivamente un editor vim. Puede usar laesc
tecla para ingresar al modo de comando y caminar de una manera vim. Por ejemplo,0
te lleva al principio y$
te lleva al final. También puede usarI
yA
para ir al principio y al final y pasar al modo de edición de inmediato.w
yb
te permite avanzar y retroceder una palabra. Y si intentas entrar en modo visual presionandov
, se le dará un editor vim y el texto que tenga cuando salga de este editor se ejecutará en el terminal.Tenga en cuenta que este enlace de teclas vim anulará todas las teclas de acceso rápido que aprendió de otras respuestas.
fuente
Aquí está la lista en forma imprimible, según lo desee :)
http://pastebin.com/uCqwn7qs
También arreglé un "error" en la descripción. Esto es lo que originalmente podías leer en las instrucciones:
ESC-d Mata desde el cursor el comienzo de la palabra anterior, o si está entre palabras, hasta el comienzo de la palabra anterior.
Esto huele mal a un error de cortar y pegar, ya que ambas oraciones parciales dicen lo mismo. Según la lógica simple, la primera mitad debe leer "desde el cursor hasta el comienzo de la palabra actual".
fuente
fuente