情况如下。这是一个 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
,情况仍然是一样的。\unset SELECTED_EDITOR
.psqlrc
现在我怎样才能使.psqlrc
设置超越默认编辑器?
(PostgreSQL 版本号 9.1.4)
答案1
根据我阅读psql
文档的理解PSQL_EDITOR
,EDITOR
或VISUAL
应该是 shell 环境变量。因此,您应该在 中设置它们,例如,.bashrc
通过添加以下行:
export PSQL_EDITOR=/usr/bin/vim
我已经通过执行以下命令行(仅为执行的命令设置给定的环境变量)对此进行了测试:
PSQL_EDITOR=/usr/bin/nano psql
\e
并且当我在 中执行命令时psql
,nano
被正确地作为编辑器执行,即使我默认选择的编辑器是vim
。