Pregunta ¿Hay alguna manera en el terminal OS X para mover el cursor palabra por palabra?


Sé que la combinación Ctrl+UN para saltar al comienzo del comando actual, y Ctrl+mi para saltar al final.

¿Pero hay alguna manera de saltar palabra por palabra, como Alt+/ en las aplicaciones de cacao lo hace?


674
2017-09-17 08:57


origen


Respuestas:


Fuera de la caja puedes usar lo bastante extraño Esc+F para pasar al comienzo de la siguiente palabra y Esc+segundo para ir al comienzo de la palabra actual.


479
2017-09-17 09:04



En Mac OS X, los siguientes atajos de teclado funcionan de manera predeterminada. Tenga en cuenta que tiene que hacer Opción acto clave como Meta en las preferencias de Terminal (en la pestaña del teclado)

  • alt (⌥)+F saltar Forward por una palabra
  • alt (⌥)+segundo saltar segundoAward por una palabra

He observado que las combinaciones de teclas predeterminadas de emacs para la navegación de texto simple parecen funcionar en los depósitos de bash. Puedes usar

  • alt (⌥)+re para eliminar una palabra comenzando desde la posición actual del cursor
  • ctrl+UN para saltar al inicio de la línea
  • ctrl+mi para saltar al final de la linea
  • ctrl+K para matar la línea comenzando desde la posición del cursor
  • ctrl+Y pegar texto del buffer de eliminación
  • ctrl+R para invertir la búsqueda de los comandos que escribió en el pasado de su historial
  • ctrl+S para reenviar búsqueda (funciona en zsh para mí pero no bash)
  • ctrl+F para avanzar por un char
  • ctrl+segundo moverse hacia atrás por un char
  • ctrl+W para eliminar la palabra al revés de la posición del cursor

338
2018-04-04 19:00



Así es como puedes hacerlo

Por defecto, la Terminal tiene estos accesos directos para moverse (izquierda y derecha) palabra por palabra:

  • Esc+segundo (izquierda)
  • Esc+F (derecho)

Puedes configurar alt+ y  para generar esas secuencias para ti:

  • Abrir preferencias de terminal (cmd+,);
  • En la pestaña Configuración, seleccione Teclado y haga doble clic ⌥ ← si está allí, o agrégalo si no está.
  • Establezca el modificador como desee y escriba la tecla de método abreviado en el cuadro: Esc+segundo, generando el texto \033b (no puede escribir este texto manualmente).
  • Repita para palabra-derecha (Esc+F se convierte \033f)

Alternativamente, puede consultar esta publicación de blog en textmate:

http://blog.macromates.com/2006/word-movement-in-terminal/


264
2017-09-17 09:01



Cambiar a iTerm2. Es gratis y mucho mejor que la antigua terminal. También tiene muchas más opciones de personalización, como atajos de teclado.

También me encanta que puedes usar cmd y 1-9 para cambiar entre pestañas. Pruébalo y nunca volverás a la terminal normal :)

Cómo configurar preferencias de teclado personalizadas en iterm2

  • Instalar iTerm2
  • Inicie y luego vaya al panel de preferencias.
  • Elija la pestaña de perfiles del teclado
  • Deberá copiar el perfil a algo nuevo y luego eliminar los accesos directos de la tecla de flecha, como ^+ Derecha/Izquierda o si no le importa una copia de seguridad, simplemente elimínelas del perfil predeterminado.
  • A continuación, asegúrese de que su perfil modificado esté seleccionado (destacado)

Picture 1.png

  • Ahora elija la pestaña del teclado (fila muy superior)

iTerm 2

  • Haga clic en el botón más para agregar un nuevo atajo de teclado
  • En el primer tipo de cuadro CMD+Flecha izquierda
  • En el segundo cuadro, elija "enviar código de escape"
  • En el tercer cuadro escriba la letra segundo

Picture 2.png

  • Repita con las combinaciones de teclas deseadas. escapar+segundo mueve una palabra hacia la izquierda, escapar+F mueve una palabra a la derecha.
  • es posible que también desee configurar cmd+re para eliminar la palabra delante del cursor con escapar+re

A menudo presiono el botón equivocado (cmd / controlar / alt) con una tecla de flecha, así que tengo mis combinaciones de teclas de flecha con esos botones, todos configurados para avanzar y retroceder palabras, pero por favor, haz lo que más te convenga.


147
2017-11-24 00:39



En realidad, hay un enfoque mucho mejor. Sostener opción ( alt en algunos teclados) y presione las teclas de flecha hacia la izquierda o hacia la derecha para moverse por palabra. Simple como eso.

opción
opción

también ctrlmi te llevará al final de la línea y ctrlun te llevará al comienzo


135
2017-12-08 17:55



yo tengo Alt+/ trabajando: abierto Preferencias »Configuración» Teclado, configure la entrada para opción cursor izquierda a enviar cadena a shell: \ 033b, y establecer opción cursor derecha a enviar cadena a shell: \ 033f. También puede usar esto para otras combinaciones de teclas de control.


76
2017-09-17 09:03



En realidad, depende de qué shell uses, sin embargo, la mayoría de las shells tienen enlaces similares. Los enlaces a los que se refiere (p. Ctrl+UN y Ctrl+mi) son enlaces que encontrará en muchos otros programas y que se utilizan durante años, por cierto también funcionan en la mayoría de las aplicaciones de interfaz de usuario.

Aquí hay una mirada de enlaces predeterminados para Bash:

Atajos de teclado Bash más importantes

Tenga en cuenta también que puede personalizarlos. Necesitas crear un archivo, el nombre que desees, llamé al mío .bash_key_bindings y lo puse en mi directorio personal. Allí puede establecer algunas opciones generales de bash y también puede establecer enlaces de teclas. Para asegurarse de que se apliquen, debe modificar un archivo llamado ".bashrc" que bash lee cuando se inicia (debe crearlo, si no existe) y realizar la siguiente llamada allí:

bind -f ~/.bash_key_bindings

~ significa home directory en bash, como se indicó anteriormente, puede asignarle el nombre que desee y también colocarlo donde desee, siempre y cuando alimente la ruta correcta + nombre para enlazar.

Déjame mostrarte algunos extractos de mi archivo .bash_key_bindings:

set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
set show-all-if-ambiguous on
set bell-style none
set print-completions-horizontally off

Estos solo configuran un par de opciones (por ejemplo, deshabilitar la campana; esto se puede consultar en la página web de bash).

"A": self-insert
"B": self-insert
"C": self-insert
"D": self-insert
"E": self-insert
"F": self-insert
"G": self-insert
"H": self-insert
"I": self-insert
"J": self-insert

Estos se aseguran de que los personajes solo no hagan nada más que asegurarse de que el carácter esté "escrito" (se insertan en el caparazón).

"\C-dW": kill-word
"\C-dL": kill-line
"\C-dw": backward-kill-word
"\C-dl": backward-kill-line
"\C-da": kill-line

Esto es bastante interesante. Si toco Ctrl+re solo (seleccioné d para eliminar), no pasa nada. Pero si escribo una letra minúscula w, se borrará la palabra a la izquierda del cursor. Sin embargo, si escribo una mayúscula, la palabra a la derecha del cursor se elimina. Lo mismo vale para ly L con respecto a toda la línea comenzando desde el cursor. Si escribo una "a", la línea completa se borrará (todo antes y después del cursor).

Coloqué saltando una palabra adelante en Ctrl+F y una palabra al revés Ctrl+segundo

"\C-f": forward-word
"\C-b": backward-word

Como puede ver, puede hacer un atajo, que lo lleve a una acción de inmediato, o puede crear uno, que solo se inserta en una secuencia de caracteres y luego debe escribir uno (o más) caracteres para provocar que una acción tenga lugar como mostrado en el ejemplo más arriba.

Por lo tanto, si no está satisfecho con los enlaces predeterminados, puede personalizarlos a su gusto. Aquí está un enlace al manual bash para más información.


37
2017-09-17 21:19



Si eres un usuario de Vim, puedes probar el modo vim de bash. Ejecute esto o póngalo en su ~/.bashrc archivo:

set -o vi

Por defecto estás en modo insertar; golpea escape y puedes moverte como lo haces en modo normal Vim, así que el movimiento por palabra es w o b, y el las teclas de movimiento habituales también funcionan.


14
2017-08-11 23:03



Si revisas Use option as meta key en la pestaña del teclado de las preferencias, luego los comandos de estilo predeterminados de emacs para avanzar y retroceder palabra y ⌥F (Alt+F) y ⌥B (Alt+segundo) respectivamente.

Yo recomendaría leer De Bash a Z-Shell. ¡Si quieres aumentar tu destreza bash / zsh!


14
2017-09-17 09:09