XTerm 的向上键、Korn shell(通过 telnet/putty 的 vt100 可以工作)不起作用

XTerm 的向上键、Korn shell(通过 telnet/putty 的 vt100 可以工作)不起作用

我在 korn shell 上使用 xterm。我在 .kshrc 中定义如下:

set -o emacs

alias __A=`echo "\020"`     # up arrow = ^p = back a command

alias __B=`echo "\016"`     # down arrow = ^n = down a command

alias __C=`echo "\006"`     # right arrow = ^f = forward a character

alias __D=`echo "\002"`     # left arrow = ^b = back a character

alias __H=`echo "\001"`     # home = ^a = start of line

alias __Y=`echo "\005"`     # end = ^e = end of line

我执行了 source ./.kshrc(在我家里),但按下向上键没有任何反应。在 bash 中执行相同操作会显示较早执行的命令。

另外,在 korn shell 中,history 命令不显示历史记录(在 xterm 中时),显示以下消息 - /bin/ksh: hist: 1-0: 无效范围。

答案1

如果 emacs 绑定不起作用,请改用 vi 绑定。将 替换为set -o emacs,然后将以下内容添加到文件中:set -o vi.kshrc.vimrc

set cpo-=<
nmap k <Up>
nmap j <Down>
nmap h <Left>
nmap l <Right>

答案2

如果有人在这里寻找/bin/ksh: hist: 1-0: invalid range解决方案:对我来说,事实证明,它HISTFILE被设置为/dev/null全球某个地方。

添加export HISTFILE="${HOME}/.sh_history"到我的~/.kshrc解决了它。

相关内容