48 votos

¿Cómo puedo hacer Inicio y Fin en iterm2?

Home y End no hacen nada en iTerm2, ni tampoco y .

Sin embargo, Ctrl- A y Ctrl- E trabajar.

Puede Home y End ¿hacer esto?

Preferencias->Teclas_Asociación de Teclas en iTerm2 no ofrecen una opción de "Inicio de línea" o "Fin de línea".

Relacionado: 1 , 2

0 votos

69voto

Douglas Puntos 10417

^ ControlA y ^ ControlE son de enlace de teclas en Bash y ZSH, no en iTerm (o Terminal).

Si desea realizar un enlace personalizado dentro de iTerm, tendrá que enlazar la secuencia de teclado real en el enlace de teclas. "Inicio de línea" y "Fin de línea" son descriptores, no las pulsaciones reales de las teclas.

Por lo tanto, para hacer esto tendría que enviar ^ ControlA para Home a través de su Códigos hexadecimales . En este caso, los códigos serían 0x01 para el "inicio del texto" (^A) y 0x05 para "ENQ" (^E).

En la imagen siguiente, puede añadir un nuevo enlace en Preferencias → Teclas → Enlaces de teclas

  1. Haga clic en + para añadir un nuevo enlace
  2. Haga clic en el registro en el cuadro de diálogo
  3. Pulse la tecla que desee ( Home en este caso).
  4. Seleccione su acción (puede desplazarse o buscar). Seleccione "Enviar código hexadecimal".
  5. Introduzca el código hexadecimal (0x01 para "inicio de texto")
  6. ¡Pruébalo!

iTerm2 Keybinding Home to ^A

1 votos

Nota: Estoy intentando añadir algunas capturas de pantalla, pero mi teclado Dell de 104 teclas con los botones Home/End/PgUp/PgDn etc. parece que ha desarrollado piernas y una pasión por el helado al salir aparentemente de casa. En cuanto recupere mi teclado, haré algunas capturas de pantalla.

3 votos

Gracias. Una corrección: 0x05 es Fin, mientras que el 0x03 que diste es Ctl-C (salir de la línea.)

47voto

tvs Puntos 261

La solución aceptada propuesta por Allan no es óptimo, ya que este keybinding afecta a *TODAS* las aplicaciones que se ejecutan en el terminal y esta reasignación de teclas significaría que algunas aplicaciones no funcionarán como se espera:

Por ejemplo, si se utiliza ' vi ', entonces las teclas ' Inicio ' y ' Finalizar ' ya no funcionan después de esta vinculación de teclas (esas teclas funcionan bien si no se hace la vinculación de teclas propuesta)

Una mejor solución es hacer el mapeo de claves en el propio shell:

En zsh (el shell por defecto utilizado por MacOS hoy en día), sólo tienes que añadir esto en ~/.zshrc :

bindkey '\e[H'    beginning-of-line
bindkey '\e[F'    end-of-line

y Inicio y Finalizar funcionará bien tanto en la línea de comandos como en vi

4 votos

Esta es la solución óptima.

0 votos

Mientras que usted dijo acerca de remapeo para todas las aplicaciones es cierto los enlaces que ha proporcionado no funciona.

2 votos

Esta debería ser la solución aceptada.

1voto

superM Puntos 118

Para mí la mejor respuesta fue una combinación de las anteriores:

  1. Preferencias->Teclas : Elimina las combinaciones de teclas por defecto en iterm para Home y End . Esto provocará Home ( fn + left arrow en mac) & End ( fn + right arrow en mac) funcione normalmente como en linux y no como Scroll to Top o Scroll to Bottom respectivamente.
  2. Preferencias->Perfiles->Teclas : Asegúrese de que la casilla "Página arriba, página abajo, inicio y fin..." no está marcada.

Permite saltar al inicio o al final de línea en todos los casos utilizando Home & End incluidas en ' vi '

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