使箭头键和Delete键在KornShell命令行工作(Make Arrow and delete

2019-09-01 04:59发布

我是新来的Unix和正在使用的Sun Solaris(V10,我认为)。 我有我的shell设置为KornShell(KSH)。

我想知道如何使箭头键,并在命令行删除键工作。 我已经做了设置-o Emacs和退格的作品,但没有方向键和删除键。

也可以设置上下贯通的命令行历史箭头键循环?

Answer 1:

对于箭头键,你可以把这个到您的.kshrc文件在你的home目录:

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

请注意,有等号左边的字母前两个下划线字符。 在同等的右手边,我们的目标是获得分配给别名的正确控制字符。 这个脚本做这件事的方法,是通过运行命令(通过背抽动)

echo "\020"

获得分配给__B控制-n字符。



Answer 2:

我用下面并工作正常:

set -o emacs

注意:这些都是实际控制字符。 在vi,I型CTRL-V CTRL然后-P(如果u想要一个CTRL-P)

alias _A=^P
alias _B=^N
alias _D=^B
alias _C=^F

并添加以下行太:

alias __A=^P
alias __B=^N
alias __D=^B
alias __C=^F


Answer 3:

别打它。 只要有你的管理员更改默认的shell打坏。 庆典是包含在Solaris 10上,是高度兼容KSH,它支持你喜欢的键映射。 您可以只用打字推出的bash:

$ bash

你可以Exec的庆典你的.profile文件,如果你的管理员是没有帮助的。 这里是你的管理员会做些什么来改变USER1来砸(根)什么:

# passwd -e user1
Old shell: /bin/ksh
New shell: /usr/bin/bash        <- You type this, use whence bash to look up the path
passwd: password information changed for user1


Answer 4:

默认KSH可能是ksh88 - 不支持别名__键盘宏。 ksh93的一样。 基本上,如果它不工作 - 你可能正在使用ksh88。



文章来源: Make Arrow and delete keys work in KornShell command line
标签: unix shell ksh