'vi' 未被识别为内部或外部命令
'vi' is not recognized as an internal or external command
当我在 sqlplus 中发出编辑命令时,我收到以下错误:
我在网上搜索了一下,我想,我需要更新环境变量。
当前路径值为:
E:\app\sasinghc\product.2.0\dbhome_1\bin;D:\app\sasinghc\product.2.0\dbhome_1\bin;C:\Program
Files (x86)\RSA SecurID Token Common;C:\Program Files\RSA SecurID
Token
Common;C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program
Files\TortoiseSVN\bin;C:\Program Files (x86)\Microsoft SQL
Server0\Tools\Binn\;C:\Program Files\Microsoft SQL
Server0\Tools\Binn\;C:\Program Files\Microsoft SQL
Server0\DTS\Binn\
我将此值更新为
C:\Windows\System32
但情况变得更糟,我无法打开 sqlplus,所以我回滚了更改。
现在,我的 sqlplus 正在运行,但我仍然能够打开 afiedt.buf 文件。
你能对此提出建议吗?
ED[IT]
命令 运行 由 _EDITOR
变量定义的外部编辑器。您可以使用 DEF[INE]
命令查看所有变量值。我认为您必须将 _EDITOR
值重置为某些已安装的外部编辑器,如记事本或写字板。使用 DEF[INE] _EDITOR
命令,例如:def _editor = notepad
默认情况下,Windows 安装的 Oracle 使用记事本作为 SQL*Plus 编辑器。您似乎已将其更改为 vi,可能是不小心。
您可以通过以下方式查看当前设置:
SQL> define _editor
大概只会显示 'vi'。要将其改回记事本,您可以执行以下操作:
SQL> define _editor = "Notepad"
或使用完整路径。如果你安装了 vim,你也可以给出它的完整路径,因为它似乎不在你的路径变量中。
您可以在 SQL*Plus 文档中阅读更多 about DEFINE
and more specicially the EDITOR
value。
您可能会通过 login.sql 或 glogin.sql 配置文件脚本自动选择此更改 - 可能是从 Linux/UNIX 环境或安装了 Gnu 工具的 PC 等复制的。如果您找到并编辑该文件,您可以自动更改您喜欢的编辑器 - 每当 SQL*Plus 运行时,它都会调用该登录脚本并为您设置。看来它目前也在设置您的 SQL 提示,因此您需要更改文件,而不是完全替换它。
Read more about SQL*Plus configuration 通过配置文件脚本。
当我在 sqlplus 中发出编辑命令时,我收到以下错误:
我在网上搜索了一下,我想,我需要更新环境变量。
当前路径值为:
E:\app\sasinghc\product.2.0\dbhome_1\bin;D:\app\sasinghc\product.2.0\dbhome_1\bin;C:\Program Files (x86)\RSA SecurID Token Common;C:\Program Files\RSA SecurID Token Common;C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\;C:\Program Files\Microsoft SQL Server0\Tools\Binn\;C:\Program Files\Microsoft SQL Server0\DTS\Binn\
我将此值更新为
C:\Windows\System32
但情况变得更糟,我无法打开 sqlplus,所以我回滚了更改。
现在,我的 sqlplus 正在运行,但我仍然能够打开 afiedt.buf 文件。
你能对此提出建议吗?
ED[IT]
命令 运行 由 _EDITOR
变量定义的外部编辑器。您可以使用 DEF[INE]
命令查看所有变量值。我认为您必须将 _EDITOR
值重置为某些已安装的外部编辑器,如记事本或写字板。使用 DEF[INE] _EDITOR
命令,例如:def _editor = notepad
默认情况下,Windows 安装的 Oracle 使用记事本作为 SQL*Plus 编辑器。您似乎已将其更改为 vi,可能是不小心。
您可以通过以下方式查看当前设置:
SQL> define _editor
大概只会显示 'vi'。要将其改回记事本,您可以执行以下操作:
SQL> define _editor = "Notepad"
或使用完整路径。如果你安装了 vim,你也可以给出它的完整路径,因为它似乎不在你的路径变量中。
您可以在 SQL*Plus 文档中阅读更多 about DEFINE
and more specicially the EDITOR
value。
您可能会通过 login.sql 或 glogin.sql 配置文件脚本自动选择此更改 - 可能是从 Linux/UNIX 环境或安装了 Gnu 工具的 PC 等复制的。如果您找到并编辑该文件,您可以自动更改您喜欢的编辑器 - 每当 SQL*Plus 运行时,它都会调用该登录脚本并为您设置。看来它目前也在设置您的 SQL 提示,因此您需要更改文件,而不是完全替换它。
Read more about SQL*Plus configuration 通过配置文件脚本。