Ksh

為什麼 Korn Shell 不能做 ctrl-r?

  • October 6, 2019

如果我將 PC-BSD 與預設外殼 (Korn) 一起使用,則Ctrl+r不起作用。為什麼它不起作用?

Ctrl-r在 1970 年代末或 80 年代初被引入搜尋您的歷史,而我的 BSD 仍然無法做到(而 Ubuntu 可以)。

Ctrl-r 起源於 Emacs 不是嗎?什麼時候?1975 年?1983 年?

Ctrl+Rkshinemacs模式(ksh -o emacsset -o emacswithin ksh)一起使用,它很可能是第一個支持它的 shell。只是它不像zshor bashortcshi-search-back小元件那樣具有互動性。

kshksh88ksh93)中,您鍵入Ctrl+R``text``Return。並Ctrl+R``Return使用相同的文本再次搜尋。

vi模式下,您可以使用?向後搜尋和n下一次搜尋。

emacs 增量搜尋功能已添加到:

  • bash/readline至少從 1989 年 7 月開始,因為當時在 usenet 上已經提到了該功能,但可能從一開始就沒有,因為readline隨附的版本zsh-1.0沒有它。
  • zsh自 1991 年 2.0 之後,行編輯器被重寫,不再使用readline
  • tcsh在 V6.00.03, 10/21/91 中,但預設情況下沒有綁定(雖然在此之前有一段時間tcsh啟用了其他搜尋機制)。Meta-P
  • ksh:ksh很可能是第一個具有emacs編輯模式的 Unix shell,由 Mike Veach 於 1982 年在 AT&T 編寫(以及viPat Sullivan 的模式,重用了這兩個人已經獨立應用於 Bourne shell 的程式碼)。ksh 在1983 年的 USENIX 會議上首次在 AT&T 之外引入,在該會議上描述了這些功能,但直到此後一段時間才在商業上可用 ( 1 , 2 )。很難判斷^R當時是否已經存在(無論如何,它在 1986 年和 1985 年就已經存在(參見Unix Heritage Society 的 Unix V8 tarball 中的usr/man/man1/ksh.1ksh85 手冊頁))),但很難想像它不是必不可少的功能,尤其是對於外殼而言,而且我希望當時vi模式?也存在。

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