Estaba leyendo el manual de Linux y noté que decía que podía usar control + izquierda y control + derecha para avanzar y retroceder palabras en el terminal durante la edición.
"Al presionar Ctrl más la tecla de flecha izquierda o derecha se mueve hacia atrás o hacia adelante una palabra a la vez, al igual que presionar Esc y luego B o F."
En OS X control+left
y control+right
normalmente espacios de control. He desactivado esos. También intenté usar el panel de preferencias para configurar los atajos de teclado:
Sin embargo, esto no funciona y causa este error:
Además, si estoy en iTerm y uso alt+escape
B o F, el personaje se mueve hacia adelante y hacia atrás. Esto sucedía antes de que cualquiera de mis cambios de configuración. Pero realmente me gustaría poder usar control + las teclas de flecha.
Respuestas:
golpetazo
Simplemente agregue lo siguiente a
~/.inputrc
:Consulte esta publicación de Wiki archivada para obtener más explicaciones. Si desea usar la alttecla en su lugar para el movimiento de palabra a palabra (como el comportamiento predeterminado de OS X), use:
zsh
zsh por defecto no usa la
readline
biblioteca y por lo tanto no leerá~/.inputrc
. Para obtener la misma funcionalidad, puede agregar lo siguiente a su~/.zshrc
- esto nuevamente usaría la altclave:Consulte esta documentación para obtener más información sobre el editor de línea zsh incorporado (zle).
¿Por qué es esto? Ha configurado su perfil para usar los valores predeterminados de Xterm:
Es por eso que necesitará "atrapar" esta secuencia y decir
readline
qué hacer.Si lo anterior aún no funciona y está utilizando OS X 10.9 (Mavericks) o algo por el estilo, es probable que necesite deshabilitar los accesos directos globales de Mission Control que evitan que las teclas de control + flecha lleguen a iTerm, incluso si Mission Control está deshabilitado. Puede hacerlo desde Preferencias del sistema → Teclado → Accesos directos → Control de misión :
fuente
bindkey -e
,bindkey '^[[1;9C' forward-word
ybindkey '^[[1;9D' backward-word
en su~/.zshrc
lugar. IIRC zsh no leerá.inputrc
, o al menos me funciona de esta manera.bindkey -e; bindkey '\e\e[C' forward-word; bindkey '\e\e[D' backward-word
Solución de trabajo para zsh. Simple, directo, listo para usar.
Ir:
⌘, Preferences → Profiles → Keys → Keyboard Behavior
Carga preestablecida:
Natural Text Editing
fuente
Lo arreglé de esta manera:
En el menú superior; ir
fuente
Usé un enfoque diferente. Usando BetterTouchTool programé un atajo de teclado personalizado para iTerm2. Cuando presiono alt-left en iTerm2, envía el atajo de teclado ctrl-left con la acción "Enviar atajo de teclado a una aplicación específica". La aplicación es iTerm2. Hice lo mismo para alt-right asignado a ctrl-right.
El efecto es que presionar alt-left o alt-right en iTerm envía un ctrl-left o ctrl-right directamente a iTerm2, omitiendo el acceso directo habitual en todo el sistema para mover un escritorio hacia la izquierda o la derecha. De esta manera, obtengo el comportamiento típico de mac en iTerm2, en sesiones de terminal local, pero también en sesiones remotas SSH y puedo usar el estándar ctrl-left / ctrl-right para moverme a diferentes escritorios. Lo escribí aquí arriba:
http://www.callum-macdonald.com/2013/04/17/ctrl-left-and-ctrl-right-on-iterm2/
fuente
En realidad, encontré que la solución más fácil era ir a la configuración de mi perfil (que se encuentra en Perfiles / Teclas), eliminando los atajos de perfil ofensivos (ya que el perfil anula global en iTerm), en mi caso alt + izquierda y alt + derecha y luego global ¡los atajos funcionaron perfectamente para mí!
Además, si está utilizando OS X, probablemente sea mejor seguir atajos de todo el sistema, es decir, usar alt + left y alt + right en su lugar para este propósito, tener un comportamiento diferente en la terminal puede causar un dolor eventualmente.
Además de la solución de chmac para usar Better Touch Tool, fue una manera elegante de cambiar el comportamiento de control + flecha solo en iterm.
fuente
Keys
pestaña. En cambio, tenemos que ir a laProfiles
pestaña -> Un perfil (por ejemplo, predeterminado) -> teclas.Esta publicación enseña este y otros atajos como ⌥ ← Eliminar para eliminar una palabra:
http://elweb.co/making-iterm-2-work-with-normal-mac-osx-keyboard-shortcuts/
fuente
Debe ir a la
Profiles
pestaña y eliminar la asignación para alt+ lefty alt+ rightya que, de forma predeterminada, genera algunos valores hexadecimales.fuente