21 votos

¿Cómo hago que ⌘← y ⌘→ funcionen para el combo casa/fin para la Terminal?

¿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?

21voto

Phill Puntos 126

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 CtrlE
  • vi utiliza 0 y $ / Shift4

Otros 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:

  1. En la Terminal, ve a Preferencias...>Configuración>[tu perfil activo]>Teclado: enter image description here

  2. 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 : enter image description here

  3. Ahora agregue una combinación de teclas para el "cursor derecho" y pulse CtrlE .

  4. Abrir el Automator (por ejemplo, golpear space para sacar a relucir Spotlight y escribir Automator), seleccione Archivo>Nuevo y elija Service :

    enter image description here

  5. Arrastre Run AppleScript al panel derecho: enter image description here

  6. 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 :

    enter image description here

  7. 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 :

    enter image description here

  8. Así es como se ve ahora Terminal>Servicios:

    enter image description here

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)

2voto

George Katsanos Puntos 146

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.com

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.

Powered by:

X