Bash

在 bash 中打算使用 ctrl+T 嗎?

  • February 13, 2020

ctrl我注意到 bash 有一個+的快捷方式,T它交換游標前的最後兩個字元。

我想知道為什麼工程師決定包括這個。

  • 它是從以前的公約繼承的嗎?
  • 還是有一個常用的實際目的?

這是從 GNU Emacs 繼承的(通過 readline),它使用control-T來轉置字元:

https://www.gnu.org/software/emacs/manual/html_node/emacs/Transpose.html

請注意,bash 的行編輯器預設為 Emacs 模式,但如果您願意,也可以將其切換到 vi 模式。

快速修復錯別字非常有用:

sl

變成

ls

用一個Ctrl``T.

您也可以Alt``T用來交換單詞(例如service在和…之間切換時systemctl)。

從歷史上看,這個Ctrl``T特性很可能是從 Emacs 來到 Bash 的。它可能是從其他編輯器複製到 Emacs 的;到 1980 年,它出現在斯坦福的 E 編輯器中(參見Essential E第 13 頁),並且 E 對 Richard Stallman 產生了強烈的影響(如Free as in Freedom中所述)。它是在非常早期的 Bash 版本中實現的,在 1989 年首次發布之前,它被拉到了readline它今天所在的庫中(這是readline ChangeLog提示中的第一個條目)。

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