La scorciatoia "elimina parola" della shell elimina troppi caratteri


9

Sotto Bash alcuni comportamenti di Alt+ dmi stanno facendo impazzire da anni e ho capito che forse poteva essere risolto con un'impostazione.

Se sono in un terminale ed eseguo un comando come questo:

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

e poi se voglio, diciamo, rilasciare:

...$ scp ~/notesSuperLongFilename.txt

Mi piacerebbe recuperare il "gatto >> ~ / notesSuperLongFilename.txt" usando Ctrl + p (riga precedente) e poi fare Ctrl+ ae poi Alt+ de Alt+ di dnuovo quindi avrei:

...$  ~/notesSuperLongFilename.txt

e poi potrei semplicemente inserire "scp" e quindi fare un Ctrl+ m(o premere Invio / Return).

Tuttavia non funziona perché dopo il primo Alt+ dottengo:

...$ >> ~/notesSuperLongFilename.txt

(Fin qui tutto bene)

ma dopo il secondo Alt+ dottengo:

...$ .txt

Quindi per qualche motivo Alt+ delimina ">> ~ / notesSuperLongFilename" in una sola volta invece di eliminare semplicemente ">>" .

Questa deve essere la più grande perdita di tempo che mi sta facendo impazzire con Linux / Bash da anni letteralmente.

Quindi, come posso risolvere questo comportamento (probabilmente rotto) di Alt+ d?

PS: Non so chi sia "responsabile" per quel Alt+ dcomportamento: non so se è il terminale o se è la shell (Bash nel mio caso).


dopo "cat >> ~ / notesSuperLongFilename.txt", digitare "scp" e quindi Esc ,. (Scappa una volta e poi il carattere "." Una volta)
Mathieu,

Risposte:


3

Non so chi sia "responsabile" per quel comportamento Alt + d: non so se è il terminale o se è la shell (Bash nel mio caso).

È bash, in particolare, l'impostazione di modifica della riga di comando predefinita. Ecco una bella pagina su quali comandi possono essere associati e su come modificare i collegamenti predefiniti.

L'associazione predefinita per Alt-dè kill-wordche dovrebbe funzionare come il comando con lo stesso nome in Emacs. Come hai notato, tuttavia, non lo è: Emacs considererebbe lo spazio tra >>e la tilde nel tuo esempio come una rottura di parole. Questo bashnon lo farei, considererei un bug. A corto di ottenere la fonte bash, cambiarla e ricompilarla, non so cosa tu possa fare.


1
Questo sembra essere un bug. Lo riferirei al team di Bash.
Ernie
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.