OS X Terminal equivalente a Ctrl + Izquierda / Ctrl + Derecha

11

En Windows y Linux siempre podría pulsar ctrl + o ctrl + para omitir una palabra A la izquierda o derecha en la terminal. En los editores de texto parece que + / funciona, pero no hay dados en el terminal. Busqué en Google y no encontré nada excepto una página de Wikipedia que afirma que + B / F hace el trabajo, pero todo lo que hace es imprimir ∫ y ƒ caracteres a mi terminal (o ı y Ï si tengo ). ¿Algunas ideas?

    
pregunta Patrick Krecker 16.09.2010 - 02:45

7 respuestas

12

Puedes usar la tecla , pero debes seleccionar la opción para usarla como la tecla "meta":

Una vez que hagas eso, + F y + B funcionarán como esperas.

    
respondido por el mipadi 16.09.2010 - 03:38
9

Esto también me estaba volviendo loco, sin embargo, no quería una solución específica para el Terminal ya que no uso el Terminal, y el hecho de poder SSH en mi caja OSX tenía que usar las combinaciones de teclas correctas también.

También, personalmente, no me importó la clave como se explicó anteriormente; Quería mantener la combinación ctrl + & leftarrow; / & rightarrow; 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 Terminal ; los dos últimos se aplican a bash en las conexiones iTerm2 y entrantes ssh . No me preguntes por qué la emulación del teclado es diferente;)

Para el registro, pude encontrar lo que realmente eran 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 + & leftarrow; produce ^[[1;5D . Su clave exacta puede diferir , pero el primer ^[ se representa como \e , como se muestra en el código de mi ejemplo.)

Por cierto, si quieres ver todas las combinaciones de teclas de bash activas, ejecuta bind -p .

    
respondido por el adamrmcd 24.10.2011 - 20:47
5

A partir de Mac OS X Lion 10.7, la Terminal asigna - / a esc + < kbd> B / F de manera predeterminada, por lo que ahora está integrado para bash y otros programas que usan estas combinaciones de teclas compatibles con emacs.

    
respondido por el Chris Page 07.08.2011 - 16:00
5

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. A continuación, puede cambiar entre los modos de comando e inserción vi. Por lo tanto, puede presionar escape y 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 los modos insertar o agregar, o eliminar caracteres uno por uno, etc.

    
respondido por el Robert S Ciaccio 04.12.2010 - 07:53
2

Abrir terminal, ir a preferencias, teclado. En la lista encontrará "ctrl cursor right" y "ctrl cursor left".
Cambie sus acciones asignadas a "\ 033f" y "\ 033b" respectivamente, y podrá usar ctrl + y ctrl + para moverte, sin perder tu tecla alt.

    
respondido por el Agos 04.12.2010 - 16:00
1

Parece que esc + B y esc + F se asignan de forma predeterminada para ir al principio y fin de las palabras. Aunque, para mi sistema, no puede mantener presionada esc , pero debe presionarla de nuevo para cada palabra.

    
respondido por el Derek Morrison 24.12.2010 - 16:08
0

La última versión del sistema operativo asigna esto a Spaces. Incluso si tiene Spaces desactivado, las teclas de acceso rápido pueden cortocircuitarse en esta ubicación oculta:

Teclas de cursor de Terminal.app: deshabilitar las Preferencias del sistema - > Accesos directos - > Control de la misión - > Mueve a la izquierda un espacio

    
respondido por el Keith Knauber 15.07.2016 - 20:01

Lea otras preguntas en las etiquetas