ksh自动完成和以前的命令在一起

5 shell ksh

set -o vi-tabcomplete 正在启用标签自动填充功能

set -o emacs 正在打开历史记录(上一个命令,下一个命令)

但是,如果我在〜/ .kshrc中设置它们,它只打开一个emacs(历史记录),我无法启用标签自动完成功能.我错过了什么吗?

set -o vi-tabcomplete
set -o emacs
Run Code Online (Sandbox Code Playgroud)

做了以下

set -o emacs

Esc, Ctrl V -- This gave me 
$ Version AJM 93t+ 2010-02-02
Run Code Online (Sandbox Code Playgroud)

还试过做

$ set -o emacs
$ bind "^I=complete"
ksh: bind: not found [No such file or directory]
Run Code Online (Sandbox Code Playgroud)

还把这些东西放在.kshrc中

set -o emacs
bind "^I=complete"
Run Code Online (Sandbox Code Playgroud)

现在,只有历史才有用,而不是标签完整.

kub*_*zyk 3

vi 和 emacs 选项是互斥的。

请检查您的 ksh 版本并更新您的问题:

set -o emacs 
Ctrl-V          # (yes, press control-v) this prints ksh version
Run Code Online (Sandbox Code Playgroud)

尝试:

set -o emacs
bind "^I=complete"      # tab completion
Run Code Online (Sandbox Code Playgroud)

我不记得你是输入插入符-I 还是控制-I 来获得正确的绑定。