Vi编辑器修改文件.bash_profile可解决backspace出现乱码问题

  使用SecureCRT或是pietty_ch连接到一台安装有Oracle DB 10g的RHEL4.2的机器,linux使用的shell是默认的bash。

  在bash提示符下,使用Del键或者Backspace键都能删除光标左右的字符,但是一旦进入sqlplus之后,只能使用Del键来删除光标左侧的字符,使用Backspace键则显示^H,使用ctrl+H也能删除字符。如果要在sqlplus下仅仅使用Backspace来删除字符,那么有两种方法:

  第一种是使用stty命令重新定义^H,可以在使用sqlplus之前执行stty erase ^H,也可以把这一句放到Linux用户的.bash_profile文件中。修改后必须执行 . .bash_profile使用命令生效。

  第二种是使用SecureCRT的设置,在会话属性的Terminal->Emulation->Mapped Keys中,选中Backspace sends delete或Delete sends backspace中的任何一个,并确保另一个不被选中。

  此二种方法即可解决backspace出现乱码问题。

  另一个问题是bash下的sqlplus中使用上下箭头无法显示上一个和下一个命令,而只是显示^[[A。为便于复制可以在SecureCRT中进行设置,在Global Options->Terminal的Mouse部分,选中Copy on select,并设置Paste on middle(right) button。

但是这样依然只能显示最近的一条命令,而不能显示更多的历史命令。在Linux下如果需要实现上下翻阅命令的话需要安装其他的工具,rlwrap就是一个。

  rlwrap 的安装使用[SQL中上下键使用

  今天在论坛上看到了rlwrap工具,感觉很好,我把总结发一下。

  在Windows操作系统上,当在DOS命令窗口中运行SQL*Plus的时候,可以使用向上,向下键来跳回之前已经执行过的SQL语句.你可以根据需要修改他们,然后按Enter键重新提交执行. 然而,当在Linux Shell中运行SQL*Plus的时候,并不提供浏览历史命令行的功能. 为了在Linux中达到同样的目的,你可以安装rlwrap,这个程式本身是个Shell,可以运行任何你提供给它的命令包括参数,并添加命令历史浏览功能.The rlwrap program is under the GPL license.

  一:安装readline

  OS的安装光盘里提供了readline包(在安装包的centos/rpms目录下,有两个以readline开头的包).

  [root@oracle11g ~]# rpm -Uvh readline*

  error: Failed dependencies: libtermcap-devel is needed by readline-devel-5.1-1.1.i386.rpm

  [root@oracle11g ~]# rpm -Uvh libtermcap-devel-2.0.8-46.1.i386.rpm

  [root@oracle11g ~]# rpm -Uvh readline*

  package readline-5.1-1.1 is already installed

  [root@oracle11g ~]# rpm -Uvh readline-devel-5.1-1.1.i386.rpm

  二:安装rlwrap

  Download:http://utopia.knoware.nl/~hlub/uck/rlwrap/

  [root@oracle11g ~]# tar -zxvf rlwrap-0.30.tar.gz

  [root@oracle11g ~]# cd rlwrap-0.30

  [root@oracle11g rlwrap-0.30]# ./configure

  [root@oracle11g rlwrap-0.30]# make

  [root@oracle11g rlwrap-0.30]# make install

  [root@oracle11g rlwrap-0.30]# rlwrap

  Usage: rlwrap [options] command ...

  Options:

  -a[password:] --always-readline[=password:]

  -A --ansi-colour-aware

  -b <chars> --break-chars=<chars>

  -c --complete-filenames

  -C <name|N> --command-name=<name|N>

  -D <0|1|2> --history-no-dupes=<0|1|2>

  -f <completion list> --file=<completion list>

  -F <format string> --history-format=<format string>

  -h --help

  -H <file> --history-filename=<file>

  -i --case-insensitive

  -l <file> --logfile=<file>

  -n --no-warnings

  -p[ANSI colour spec] --prompt-colour[=ANSI colour spec]

  -P <input> --pre-given=<input>

  -q <chars> --quote-characters=<chars>

  -m[newline substitute] --multi-line[=newline substitute]

  -r --remember

  -v --version

  -s <N> --histsize=<N> (negative: readonly)

  -t <name> --set-term-name=<name>

  bug reports, suggestions, updates:

  http://utopia.knoware.nl/~hlub/uck/rlwrap/

  [root@oracle11g rlwrap-0.30]# vi /home/oracle/.bash_profile(该文件

  在你所安装的oracle目录下可找到。

  alias sqlplus='rlwrap sqlplus'

  alias rman='rlwrap rman'

  
  解决在sqlplus下输错命令后正常删除的方法

  [oracle@oracle11g ~]$ vi /home/oracle/.bash_profile

  添加stty erase ^h

Vi编辑器修改文件.bash_profile可解决backspace出现乱码问题,rlwrap 的安装。的更多相关文章

  1. vim学习笔记(12):在vim中修改文件编码,解决vim 打开乱码

    在linux 中查看文件编码可以通过以下几种方式: 一.查看文件编码 1.查看文件编码file命令 :file ip.txt ip.txt: UTF-8 Unicode text, with esca ...

  2. linux:终端常用命令 + vi命令修改文件及保存 方法

    首先介绍一下Ubuntu下各个目录的一般作用: /  这就是根目录,一台电脑有且只有一个根目录,所有的文件都是从这里开始的.举个例子:当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录 ...

  3. ubuntu系统里vi编辑器时,按方向箭头输入是乱码的ABCD字母?(图文详解)

    不多说,直接上干货! 问题详情 ubuntu系统里vi编辑器时,按方向箭头输入是乱码的ABCD字母?  解决办法 是由于预装的vim软件没更新,运行   sudo apt-get install vi ...

  4. linux下vi命令修改文件及保存的使用方法

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi n filename :打开文件,并将光标置于第n行首 vi filename :打开文件,并将光标置于一行首 v ...

  5. vi命令修改文件及保存的使用方法

    简单点:vi文件名,按"I"进入insert模式,可以正常文本编辑,编辑好之后按“esc”退出到“命令模式”,再按“shift+:”进入“底行模式”, 按“:wq”保存退出! 还一 ...

  6. (转)linux下vi命令修改文件及保存的使用方法

    进入vi的命令         vi filename :打开或新建文件,并将光标置于第一行首    vi n filename :打开文件,并将光标置于第n行首    vi filename :打开 ...

  7. vi命令——修改文件内容

    以下内容转载自http://blog.csdn.net/bruce0532/article/details/7842384 vi编辑器是所有Unix及Linux系统下标准的编辑器,介绍一下它的用法和一 ...

  8. ubuntu vi编辑器上下左右为ABCD的解决办法

    这个ubuntu系统自带的vi版本太老导致的,所以解决办法就是安装新版的vi编辑器: 首先卸载旧版本的vi编辑器: $sudo apt-get remove vim-common 然后安装新版的vi: ...

  9. Linux系统vi编辑器提示E325: ATTENTION的解决方法

    非正常关闭文件会报这样的警告信息, 原因是系统产生了一个.swp的文件. 删除就行了.(前提是确认.swp文件没用了.) 例如: rm -f /etc/.shadowsocks.json.swp 详情 ...

随机推荐

  1. 园子里的一个Dal类

    public class DALHelper { public static List<T> Search<T>() where T : SH_SetBase { using ...

  2. [转]JS组件系列——表格组件神器:bootstrap table

    原文地址:https://www.cnblogs.com/landeanfen/p/4976838.html 前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉 ...

  3. 调整Intellij IDEA内存

    最近IDEA真是卡的要死,下面

  4. ML-DL-各种资源汇总

    1.Used Libraries, Datasets, and Models 1.1 Libraries TensorFlow (from Google): https://www.tensorflo ...

  5. ANT配合FIS执行前端打包任务

    <target name="help"> <exec executable="cmd"> <arg value="/c& ...

  6. 莫衷一是——i+++j 该怎样计算?

    这是一个有趣的计算, 3 个加号相连.那么,究竟是怎样结合的呢?是依照: i + (++j)来运算,还是依照(i++) + j 来运算呢? 这个问题在相似于 C / C++中讨论是没有多大意义的,由于 ...

  7. 【C】——const和volatile可以并用吗?

    答案是肯定的,可以一起用. 因为很多人误解了const的真正含义,很多初学者认为const修饰的就是常量,而常量不会改变,而既然不会改变,那volatile就没有意义. 但是实际上这正是对const的 ...

  8. PCL中使用FLANN库(1)

    FLANN库全称是Fast Library for Approximate Nearest Neighbors,它是目前最完整的(近似)最近邻开源库.不但实现了一系列查找算法,还包含了一种自动选取最快 ...

  9. IT系统

      去年11月11日,也就是我们俗称的“双十一”当天,淘宝集市.淘宝商城天猫联手创造了交易额达191亿的销售神话.然而,即便是这种神话也还不足以成为留传至今的佳话,其中最为重要的原因就是支撑电子商务的 ...

  10. Java finally语句是在try或catch的retrurn之前还是之后执行

    若try或catch中没有return语句,则按正常执行流,从上到下,finally里的所有修改都生效. 这里讨论的是try或catch里有return或throw语句的情形,此情形比较让人迷惑. 总 ...