Bash

shell的“delete word”快捷方式刪除了太多字元

  • December 9, 2016

在 Bash 下,一些Alt+的行為d多年來一直讓我發瘋,我發現也許可以通過設置來修復它。

如果我在終端並發出這樣的命令:

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

然後,如果我想發出:

...$ scp ~/notesSuperLongFilename.txt

我想使用 Ctrl+p (上一行)取回“cat >> ~/notesSuperLongFilename.txt”,然後再執行Ctrl+a然後Alt+dAlt+ d,這樣我就有了:

...$  ~/notesSuperLongFilename.txt

然後我可以簡單地輸入“scp”,然後執行Ctrl+ m(或按 Enter / Return)。

但是它不起作用,因為在第一個Alt+之後d我得到:

...$ >> ~/notesSuperLongFilename.txt

(到目前為止,一切都很好)

但在第二個Alt+d我得到:

...$ .txt

所以出於某種原因Alt+立即d刪除*">> ~/notesSuperLongFilename"而不是僅僅刪除">> “*。

這一定是多年來讓我對 Linux / Bash 發瘋的最大時間浪費。

那麼我該如何解決Alt+的這種(可以說是壞的)行為d

PS:我不知道誰對Alt+d行為“負責”:我不知道它是終端還是外殼(在我的情況下是 Bash)。

我不知道誰對 Alt+d 行為“負責”:我不知道它是終端還是外殼(在我的情況下是 Bash)。

它是bash,特別是預設的命令行編輯設置。 是一個關於可以綁定哪些命令以及如何更改預設綁定的好頁面。

的預設綁定應該像 EmacsAlt-dkill-word的同名命令一樣工作。但是,正如您所觀察到的那樣,它不會 - Emacs 會將>>您的範例中的和波浪號之間的空格視為分詞符。那bash不,我會考慮一個錯誤。缺少獲取原始碼bash、更改它並重新編譯它,我不知道你能做什麼。

引用自:https://unix.stackexchange.com/questions/81769