oracle ed命令

今天在弄oracle sqlplus的时候需要写一个存储过程,用ed进入之后,退不出来了。
从网上找到下面的方法处理:
 
如何退出sqlplus ed操作
 
今天进入sqlplus ,执行完语句后用 ed修改,但不会退出了,如下: 
SQL> select * from dba_tables  
SQL> ed 
Wrote file afiedt.buf 
38 
:q 
然后在网上找了半天才找到。下面就写出来: 
SQL>define _EDITOR=vim 
再edi就可以进入vim 
或者在操作系统 export EDITOR=vi 
[oracle@localhost pfile]$ export EDITOR=vi 
[oracle@localhost pfile]$ sqlplus "/ as sysdba" 
SQL*Plus: Release 9.2.0.4.0 - Production on Mon May 15 16:40:02 2006 
SQL> select sysdate from dual; 
SQL> ed 
~~ 
此时退出方法与正常情况下vi退出方法一样。 
 
 
SQL> define _editor=vim
SQL> ed
Wrote file afiedt.buf
/

其实想出现的效果是出现一个编辑vi的窗口
SQL> define _editor=vim
SQL> ed
Wrote file afiedt.buf
/
~
~
"afiedt.buf" 2L, 9C written

然后就出现了

为了永久保存这个
在$ORACLE_HOME/dbs/ 下查找login.sql文件,如果没有就创建一个空文件,然后在文件中加入这样一句话:
define _editor=vim

添加到$ORACLE_HOME/sqlplus/admin/glogin.sql也行的(我是添加到这里的)
ok!
原文地址:https://www.cnblogs.com/newmanzhang/p/3186387.html