SQL*Plus中,退格键Backspace为 ^H,上下右左分別是 ^[[A、^[[B、^[[C、^[[D,更別说上翻下翻上下次記录了。
其实,設置 backspace ^H可以用 stty,在 stty --help中,可以看到一些键的定义,比如erase是刪除一个字符,kill是刪除行,我们定义backspace吧,在你的shell的配置文件(如~/.bashrc)中添加下面行:
stty erase ^H |
要设置刪除整行也可以
stty kill ^U |
这样子,我们按 Ctrl+u,就可以清除整行了~~
那么,上下左右方向键、上翻下翻输入等,怎么实现了,Linux下,除了SQL Developer或者 JDeveloper之外,SQL*Plus是终端下相当好用的 Oracle用户端了。
哈,用rlwrap,不管yum、apt更新或者rpm、dpkg安装或者源码编译,这里不介紹。rlwrap本身是个shell,可以运行任何你提供给它的命令包括参数,並且添加历史浏览功能,它是基于GPL发布的。
使用方法就是 rlwrap command,...
可以在shell的配置文件中(如~/.bashrc)添加
alias sqlplus='rlwrap sqlplus' |
来实现,让sqlplus像 bash一样支持历史记录上下翻等功能。
列举其中一些命令,详细自己看man或者google:
Ctrl+A:ahead,到行的顶端,相当于 Home
Ctrl+E:end,到行的末端,相当于end
Ctrl+B:behind,后退一个字符,相当于left
Ctrl+F:forward,前进一个子放入,相当于right
Ctrl+P:prev.,上一行历史记录,相当于up
Ctrl+N:next.,下一行历史记录,相当于down
Ctrl+U:undo,撤消操作,這行就被清空掉了
Ctrl+W:剪切
Ctrl+Y:粘贴
Ctrl+L:cLear,清屏
rlwrap下载地址:
http://utopia.knoware.nl/~hlub/uck/rlwrap/