[AIX] ksh中的命令行编辑

来源:互联网 发布:免费制作网站软件 编辑:程序博客网 时间:2024/05/14 22:03
命令行编辑(Command-line Editing)是ksh的一大主要特色,命令行可以在无需回退或重新输入的情况下使用emacs或者vi模式进行行内(in-line)编辑。
要指定使用某种行内编辑模式,可以使用set -o命令来指定:
$set -o option
这里的option可以是emacs或者vi,通常情况下这条命令可以放置在当前用户主目录下的.profile文件中。
下面我就简要说说我常用的vi模式,因为我常用的Unix文本编辑器就是vi了,所以学起vi模式来也会相对比较容易。而所谓的vi模式其实就是vi编辑器的一个子集,因此其中的大多数命令都是相同的。
和vi编辑器一样,vi模式有2种操作模式——输入(input)模式和命令(command)模式。在输入模式下,可以像平常一样键入和执行命令,但是当按下Esc键时,就会进入命令模式,在此模式下可以输入vi命令来修改当前命令行中的内容或者是历史文件(ksh默认的历史文件是$HOME/.sh_history)中的内容。
下面是一些命令模式中的常用命令:
k       从历史文件中读取前一个命令
j       从历史文件中读取后一个命令
^       移动到当前行的开始处
$       移动到当前行的结尾处
x       删除当前字符
u       撤销前一次的文本编辑命令
/string 在历史文件中向后搜索匹配string的命令

?string 在历史文件中向前搜索匹配string的命令


说明:按住esc同时按住上面的按键,就会起到文中说的功能。

原创粉丝点击