En Windows y Linux, siempre podía presionar ctrl+ ←o ctrl+ →para saltar una palabra hacia la izquierda o hacia la derecha en la terminal. En los editores de texto parece que ⌥+ ←/ →funciona, pero no da dados en la terminal. Busqué en Google y no encontré nada excepto una página de Wikipedia que afirma que ⌥+ B/ Fhace el trabajo, pero todo lo que hace es imprimir los caracteres ∫ y ƒ en mi terminal (o ı y Ï si mantengo ⇧). ¿Algunas ideas?
Puede usar la ⌥clave, pero debe seleccionar la opción para usarla como la clave "meta":
Una vez que hagas eso, ⌥+ Fy ⌥+ Bfuncionarán como esperas.
Esto también me estaba volviendo loco, sin embargo, no quería una solución específica de la Terminal ya que no uso la Terminal, y poder SSH en mi caja OSX también tenía que usar las combinaciones de teclas correctas.
Además, personalmente, no me importaba la ⌥clave como se discutió anteriormente; Quería mantener la combinación ctrl+ ←/ a →la que estoy acostumbrado en Linux.
Para resolver este problema, agregué lo siguiente a mi ~/.profile
:
bind '"\e[5C": forward-word'
bind '"\e[5D": backward-word'
bind '"\e[1;5C": forward-word'
bind '"\e[1;5D": backward-word'
Tenga en cuenta que los dos primeros se aplican a bash en la Terminal ; los dos últimos se aplican a bash en iTerm2 y conexiones ssh entrantes . No me preguntes por qué la emulación del teclado es diferente ;)
Para que conste, pude encontrar cuáles eran realmente los códigos clave gracias a una pista de esta respuesta de stackoverflow : puede ejecutar cat > /dev/null
para monitorear los códigos clave exactos enviados durante una combinación de teclas.
(Tenga en cuenta que para mí, cuando ejecuto cat > /dev/null
y presiono ctrl+ ←produce ^[[1;5D
. Su código clave exacto puede diferir , pero el primero ^[
se representa como \e
, como se muestra en mi código de ejemplo).
Por cierto, si desea ver todas las combinaciones de teclas bash activas, ejecute bind -p
.
xxd
para examinar la entrada del teclado. Puede ver el carácter que se muestra a medida que lo escribe, luego xxd
emite el valor en hexadecimal cuando escribe retorno.A partir de Mac OS X Lion 10.7, Terminal asigna ⌥- ←/ →a esc+ B/ Fde forma predeterminada, por lo que ahora está integrado para bash y otros programas que utilizan estas combinaciones de teclas compatibles con emacs.
si sabe cómo usar vi, también puede activar el modo de edición de línea vi usando set -o vi
en su .bash_profile
o en cualquier momento en la línea de comando. Luego puede cambiar entre el comando vi y los modos de inserción. Así que podría presionar escape, luego usar los comandos vi para navegar por la línea:
0 = move to beginning of line
$ = move to end of line
w = move forward one word
b = move backward one word
Una vez que llegue a la posición correcta, puede usar los otros comandos vi para ingresar a los modos insertar o agregar, o eliminar caracteres uno por uno, etc.
ESC ^
es genial cuando lo necesitas, solo es molesto cuando querías hacer algo completamente diferente :)Abra la terminal, vaya a preferencias, teclado. En la lista encontrará "ctrl cursor derecha" y "ctrl cursor izquierda".
Cambia sus acciones asignadas a "\033f" y "\033b" respectivamente, y podrás usar ctrl+ →y ctrl+ ←para moverte, sin perder la tecla alt.
Parece que esc+ By esc+ Festán asignados por defecto para ir al principio y al final de las palabras. Aunque, para mi sistema, no puede mantener presionado, escsino que debe volver a presionarlo para cada palabra.
La última versión del sistema operativo asigna esto a Spaces. Incluso si tiene espacios desactivados, las teclas de acceso rápido aún pueden sufrir un cortocircuito en esta ubicación oculta:
Roberto Ciaccio
Martín Marconcini
Soner Gonül