¿Por qué fn - ⇧ - → (u otros) hacen un home/end en la Terminal pero un ⌘ - → trabaja en todos los demás sitios?
Así que para que quede claro, la pregunta es cómo hacer que la Terminal tome Command + ← y → para el hogar y el fin?
¿Por qué fn - ⇧ - → (u otros) hacen un home/end en la Terminal pero un ⌘ - → trabaja en todos los demás sitios?
Así que para que quede claro, la pregunta es cómo hacer que la Terminal tome Command + ← y → para el hogar y el fin?
Por muy conveniente que sea, la Terminal no puede proporcionar fácilmente la funcionalidad que usted pide.
La razón es que los programas que se ejecutan dentro de Terminal tienen diferentes reglas para mover el cursor al principio/fin de la línea, por ejemplo:
bash
(y otras conchas) utilizan CtrlA y CtrlEvi
utiliza 0 y $ / Shift4Otros programas pueden utilizar otras teclas. No hay una combinación de teclas universal para posicionar el cursor al principio y al final de la línea.
Por supuesto, Terminal podría mantener una lista de combinaciones de teclas para un número de programas comunes, comprobar lo que se está ejecutando y enviar las teclas correctas para usted, o podría proporcionar un elemento de menú como Mover el cursor al principio de la línea dentro de Shell ⌘← y luego enviar CtrlA entre bastidores. Pero supongo que los ingenieros de Apple pensaron que si te aventuras en CLI territorio que conoces sus idiosincrasias.
(Sorprendentemente, la Terminal proporciona Option← y Option→ que se comporta como se esperaría, moviendo el cursor al principio de la palabra anterior/siguiente. Eso sólo funciona de forma fiable en bash
en vi
por ejemplo, sólo este último funciona).
Todavía puedes configurar ⌘← y ⌘→ para que coincida con CtrlA y CtrlE para que funcione en bash
y otras conchas:
En la Terminal, ve a Preferencias...>Configuración>[tu perfil activo]>Teclado:
Presiona + , seleccione "cursor a la izquierda", "shift" como modificador y la acción "enviar cadena a la cáscara". Luego presione CtrlA ( \001
aparecerá en el campo de texto`) y OK :
Ahora agregue una combinación de teclas para el "cursor derecho" y pulse CtrlE .
Abrir el Automator (por ejemplo, golpear ⌘space para sacar a relucir Spotlight y escribir Automator), seleccione Archivo>Nuevo y elija Service
:
Arrastre Run AppleScript
al panel derecho:
Escriba lo siguiente script:
on run {input, parameters}
tell application "System Events"
tell application process "Terminal"
key code 123 using {shift down}
end tell
end tell
end run
y guardar como Move Cursor to Beginning of Line
:
Repite los pasos 4. a 6. con este script:
on run {input, parameters}
tell application "System Events"
tell application process "Terminal"
key code 124 using {shift down}
end tell
end tell
end run
y guardar como Move Cursor to End of Line
:
Así es como se ve ahora Terminal>Servicios:
Notará que hay un pequeño retraso entre el momento en que presiona ⌘← o ⌘→ y en el momento en que el cursor se mueve.
Tengan en cuenta que sólo funcionará para programas que honren CtrlA / CtrlE así que tal vez quieras aprender las combinaciones de teclas específicas de cada programa que uses en la Terminal.
(Probado en OS X 10.3.3 Yosemite)
Por supuesto que es posible.
En primer lugar, puedes usar la herramienta gratuita "DoubleCommand" si tienes un teclado de Windows con teclas HOME/END para hacer que se comporten como deben (principio/fin de línea).
En segundo lugar, para la terminal específicamente, ve a las preferencias, Teclado, edita el icono/tecla que parece una flecha apuntando hacia arriba a la izquierda, selecciona "enviar texto" y escribe ctrl+a. ¡Ya está!
Lo mismo para el botón final
Si no tienes un teclado de PC, puedes hacer lo mismo con otras combinaciones de teclas.
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.