您的位置:首页 > 数据库

解決SQL*Plus 中退格、方向键等不可使用的问题

2011-11-16 14:54 316 查看
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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: