El acceso directo "eliminar palabra" del shell elimina demasiados caracteres

9

Bajo Bash, algunos comportamientos de Alt+ me dhan estado volviendo loco desde hace años y descubrí que tal vez podría solucionarse con una configuración.

Si estoy en una terminal y emito un comando como este:

...$   cat >> ~/notesSuperLongFilename.txt

y luego si quiero, por ejemplo, emitir:

...$ scp ~/notesSuperLongFilename.txt

Me gustaría recuperar el "cat >> ~ / notesSuperLongFilename.txt" usando Ctrl + p (línea anterior) y luego hacer Ctrl+ ay luego Alt+ dy Alt+ dnuevamente para tener:

...$  ~/notesSuperLongFilename.txt

y luego podría simplemente ingresar "scp" y luego hacer un Ctrl+ m(o presionar Enter / Return).

Sin embargo, no funciona porque después del primer Alt+ dobtengo:

...$ >> ~/notesSuperLongFilename.txt

(Hasta aquí todo bien)

pero después del segundo Alt+ dobtengo:

...$ .txt

Entonces, por alguna razón, Alt+ delimina ">> ~ / notesSuperLongFilename" a la vez en lugar de simplemente eliminar ">>" .

Este tiene que ser el mayor desperdicio de tiempo que me está volviendo loco con Linux / Bash desde literalmente años.

Entonces, ¿cómo puedo solucionar este comportamiento (posiblemente roto) de Alt+ d?

PD: No sé quién es "responsable" de ese comportamiento Alt+ d: no sé si es el terminal o si es el shell (Bash en mi caso).

Cedric Martin
fuente
después de "cat >> ~ / notesSuperLongFilename.txt", escriba "scp" y luego Esc ,. (Escape una vez y luego el carácter "." Una vez)
Mathieu

Respuestas:

3

No sé quién es "responsable" de ese comportamiento Alt + d: no sé si es el terminal o si es el shell (Bash en mi caso).

Es bash, específicamente, la configuración de edición de línea de comandos predeterminada. Aquí hay una buena página sobre qué comandos se pueden vincular y cómo cambiar los enlaces predeterminados.

El enlace predeterminado para Alt-des el kill-wordque se supone que funciona como el comando del mismo nombre en Emacs. Sin embargo, como ha observado, no lo hace: Emacs consideraría que el espacio entre >>y la tilde en su ejemplo es un salto de palabra. Eso bashno, consideraría un error. A menos que obtenga la fuente bash, la cambie y la recompile, no sé qué puede hacer.

dodgethesteamroller
fuente
1
Esto parece ser un error. Lo reportaría al equipo de Bash.
Ernie