情况如下。这是一个 Ubuntu 盒子:
Linux ns3mx3 2.6.32-41-server #89-Ubuntu SMP Fri Apr 27 22:33:31 UTC 2012 x86_64 GNU/Linux
这意味着当我第一次发布\e
时psql
,我被要求选择一位编辑。然后是.selected_editor
文件,其中包含
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/mcedit-debian"
到目前为止,这是可以的(这是我的问题,我认为这完全没用,但没关系)。
然后我设置了一个.psqlrc
文件:
\set PSQL_EDITOR /usr/bin/vim
\set EDITOR /usr/bin/vim
\set VISUAL /usr/bin/vim
如您所见,我想确保不要错过编辑器设置的候选变量。该文件按预期使用:
test=# \echo :EDITOR
/usr/bin/vim
但是当我发出\e
命令时,这些都没有被使用——我退回到SELECTED_EDITOR
. 如果我将 an 附加\unset SELECTED_EDITOR
到.psqlrc
文件,情况仍然相同。
现在我怎样才能让.psqlrc
设置胜过默认编辑器呢?
(PostgreSQL 版本号 9.1.4)
从我通过阅读
psql
文档可以理解的内容来看,PSQL_EDITOR
,EDITOR
或VISUAL
应该是 shell 环境变量。因此,您应该设置它们,例如,在您的.bashrc
, 中添加以下行:我已经通过执行以下命令行(它仅为执行的命令设置给定的环境变量)对此进行了测试:
当我在 中执行
\e
命令时psql
,nano
作为编辑器正确执行,即使我默认选择的编辑器是vim
.