Ситуация следующая. Это коробка 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)
Из того, что я могу понять, прочитав psql
документация, PSQL_EDITOR
, EDITOR
или VISUAL
должны быть переменными среды оболочки. Поэтому вы должны установить их, например, в своем .bashrc
, добавив следующую строку:
export PSQL_EDITOR=/usr/bin/vim
Я протестировал это, выполнив следующую командную строку (которая устанавливает данную переменную среды только для выполняемой команды):
PSQL_EDITOR=/usr/bin/nano psql
и когда я выполнил \e
командовать в psql
, nano
был правильно выполнен в качестве редактора, хотя мой выбранный по умолчанию редактор vim
.