Acceso directo al terminal OS X: saltar al principio / final de la línea

115

Sé que puedo saltar al principio y al final de una línea dentro del terminal OS X con Ctrl+ Ay Ctrl+ E. Pero estoy tan acostumbrado a saltar con Cmd+ Rightflecha y Cmd+ Leftflecha desde mi editor, que me encantaría usar estos atajos también para la terminal.

No he encontrado una solución en Google, así que quizás aquí alguien pueda ayudar.

Actualizar

Como en los comentarios, probé la solución de ¿Hay alguna forma en la Terminal OS X de mover el cursor palabra por palabra?

Desafortunadamente, la configuración del terminal parece no incluirse Cmdcomo una clave modificadora, como puede ver aquí:

Teclas modificadoras de terminal

23tux
fuente
¿No puedes adaptar esto ?
Thomas Ayoub
He actualizado mi pregunta, ver arriba
23tux
1
Hmmm, no lo creo. Lo probé, funciona con Option + right-arrow, pero no conCmd + right-arrow
23tux
Tienes razón, es mi culpa, tengo días difíciles en una PC
Thomas Ayoub
Más atajos útiles: stackoverflow.com/a/5542996
AT

Respuestas:

23

Utilizo una aplicación práctica llamada Karabiner para hacer esto y muchas otras cosas. Es gratis y de código abierto.

Es un remapeador de teclado, con muchos ajustes preestablecidos útiles para muchas reasignaciones comunes que la gente puede querer hacer.

Como puede ver en la captura de pantalla, esta reasignación se incluye como un ajuste predeterminado en Karabiner.

Captura de pantalla de las preferencias de mosquetón que muestra el ajuste preestablecido para asignar cmd + izquierda / derecha a ctrl + a / e

Espero que esto ayude. ¡Feliz remapeo!

Aaron Wallentine
fuente
3
Tenga en cuenta que Karabiner no funciona en macOS Sierra en este momento.
Knuhol
Bueno saber; No me he actualizado. ¡Con suerte, Karabiner se actualizará en poco tiempo! :)
Aaron Wallentine
2
Ahora es compatible con Sierra e incluso superior. Aquí está el enlace a algunas reglas predefinidas del sitio web de Karabiner .
Java Xu
En el enlace de @ JavaXu en el comentario directamente encima de mí, busque para Navigation in Terminal Appsencontrar la regla que necesita importar.
electrovir
126
fn + shift + leftArrow = goto beginning of line
fn + shift + rightArrow = goto end of line

estos funcionan para mi

hygoh2k
fuente
20
No necesitaba mantener presionada la tecla Mayús. fn + leftArrawo fn + rightArrowtrabajó para mí. ¡Quizás ayude!
Bharat Gupta
7
@BharatGupta fn + leftArrow funciona en algunas aplicaciones de terminal (por ejemplo, VI), pero no funciona en la línea de comandos de la terminal.
hygoh2k
2
Usando iTerm2, fn + left y fn + right funcionan sin turno. Con turno, no funcionan. ctrl + ay ctrl + e también funcionan.
bhekman
1
Soy un nuevo usuario de Mac y me disgusta lo difícil que es todo en Mac vs Windows. El hardware es bueno, pero el software es horrible (es decir, no es fácil de usar)
doctorram
1
Si eres nuevo en Mac, piensa en algo simple, porque cuando usas Windows a largo plazo, estás acostumbrado a usar siempre rutas complicadas ... con Mac tienes que pensar muy simple ... y la mayoría de las veces lo tienes. Fue así para mí cuando cambié de PC a Mac
Supernini
34

En la última versión de Mac OS, puede usar shift+ homeo shift+end

elad plata
fuente
16

Como se configura en la terminal usando vi:

El Homebotón de un teclado del MacBook Pro: Fn + Left Arrow.

El Endbotón de un teclado del MacBook Pro: Fn + Right Arrow.

Piensa oye
fuente
9

No estoy seguro de si esto funcionará para usted (todavía lo uso OS 10.8), pero estos funcionan para mi terminal:

home = move cursor to the start of the line
shift+end = move cursor to the end of the line

alt+leftArrow = move one "word" to the left
alt+rightArrow = move one "word" to the right

¡Espero que esto ayude!

Boncrete
fuente
1
En 10.12 Sierra, parece que es shift + home para ir al principio. los otros enumerados aquí funcionan como se enumeran.
Chris
8

fn + leftArraw or fn + rightArrow ¡trabajó para mi!

Thanmayi Rapolu
fuente
8

Para iterm2:

Ir a Perfiles / Perfiles abiertos / Claves

Establecer Cmd + left_arrow_keypara enviarHex Code 001

Establecer Cmd + right_arrow_keypara enviarHex Code 005

Esto le permite usar Cmd + arrow_keyspara moverse desde el principio hasta el final de la línea.

Timmy Von Heiss
fuente
según el comentario de @ bhekman: "Usando iTerm2, fn + left y fn + right funcionan sin turno. Con shift, no funcionan. ctrl + ay ctrl + e también funcionan".
Alexander Suraphel
No veo cmdcomo una opción de tecla modificadora, igual que en la pregunta original
electrovir
@electrovir solo manténgalo presionado y presione las teclas de flecha
Timmy Von Heiss
Consulte "Desafortunadamente, la configuración de la Terminal parece no incluir Cmd como tecla de modificación, como puede ver aquí" en la pregunta original. Tengo el mismo problema. Mi comentario fue sobre la creación de la configuración clave, no la ejecución.
electrovir
@electrovir parece que estás en el lugar equivocado. no hay modificador. abrir iterm. ir a preferencias. ir a perfiles. presione el botón "+" a la izquierda de "Load Preset". Hay dos campos: "Método abreviado de teclado" y "Acción" para el método abreviado de teclado, mantenga presionado el comando presione la tecla de flecha izquierda. luego para la acción -> "enviar código hexadecimal -> 001"
Timmy Von Heiss
5

Aquí encontré un ajuste para esto, sin ninguna herramienta de terceros . Esto hará que el siguiente atajo funcione:

 fn + right: to go to the end of the line.
 fn + left: to go to the beginning of the line.
  • Abra las preferencias de la terminal. ( cmd + ,).
  • Vaya al tema seleccionado y luego a la pestaña del teclado.

ingrese la descripción de la imagen aquí

  • Y agregue una nueva entrada de la siguiente manera. ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

  • Eso es todo. Ahora cierre y verifique.

    Espero eso ayude.

EDITAR: Consulte el comentario de @Maurice Gilden a continuación para obtener más información.

Abhishek saharn
fuente
5
Eso solo ingresará "001" o "005". Falta la barra invertida y no pude encontrar ninguna forma de agregarla manualmente. Sin embargo, lo que puede hacer es presionar Ctrl + A para "\ 001" y Ctrl + E para "\ 005" mientras está dentro del cuadro de texto.
Maurice Gilden
2
Esta debería ser la respuesta absolutamente correcta. Todas las aplicaciones de terceros están rotas o ya no se mantienen y fn + shift + leftArrow ya no funciona en Mojave.
Salyangoz
Esto funcionó de manera brillante. Sin embargo, seleccioné "Fin" en lugar de "Av Pág" para el mapeo de la flecha fn + flecha derecha.
nedblorf
2

Puede descargar Better Touch Tools . Es una aplicación que le permite crear combinaciones de teclas personalizadas y atajos en todo su sistema o aplicaciones individuales. Usándolo, puede hacer un atajo en la terminal que emule ctrl-a / ctrl-e cada vez que presione cmd-left / cmd-right, respectivamente. ¡Definitivamente lo recomiendo! Lo he estado usando durante años y tengo más de 50 accesos directos repartidos en varias aplicaciones diferentes.

Jacob
fuente
2
Desafortunadamente, su enlace está roto
23tux
¡Gracias por el aviso! Lo arreglé.
Jacob
Hola @Jacob, ¿cuál sería la 'acción predefinida activada' para comenzar o finalizar el comando de terminal?
Ex
Oer, debe usar la opción "Activar otro método abreviado de teclado" e ingresar Ctrl-A para ir al principio del comando de terminal y Ctrl-E para ir al final.
Jacob
1

en iterm2

fn + flecha izquierda o fn + flecha derecha

esto funcionó para mí

Ajith
fuente
0

Para la última versión de mac os, los atajos de abajo funcionan para mí.

Saltar al principio de la línea == shift + fn + RightArrow

Saltar al final de la línea == shift + fn + LeftArrow

Tejas Niturkar
fuente