Почему psql вставляет тильду, когда я нажимаю любую из клавиш в кластере клавиш Home? - PullRequest
3 голосов
/ 12 февраля 2009

Я использую psql 8.2.3 во FreeBSD. Каждый раз, когда я нажимаю Вставить , Дом , Удалить , Конец , Page Up или Page Down , символ тильды (~) вставляется вместо выполнения ожидаемой функции клавиши. Почему это происходит и как я могу это исправить?

Ответы [ 2 ]

4 голосов
/ 12 февраля 2009

Как уже упоминалось в ответе Endlessdeath , это оказалось проблемой сопоставления клавиш в операционной системе ( FreeBSD ), не psql . Вы можете заставить эти ключи работать как положено, создав или добавив в файл конфигурации inputrc.

Вы можете создать файл с именем .inputrc в своем домашнем каталоге со следующими данными:

set meta-flag on
set input-meta on
set convert-meta off
set output-meta on

"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word

Кроме того, вы можете создать глобальный файл для всех пользователей. Обычной практикой для этого является создание или добавление в файл в /usr/local/etc/inputrc тех же строк, что и выше, а затем экспорт переменной в /etc/profile:

export INPUTRC=/usr/local/etc/inputrc

Убедитесь, что /etc/profile получен вашей оболочкой (большинство по умолчанию), и вы готовы к работе. Обратите внимание, что файл не будет получен до тех пор, пока вы не выйдете и не войдете снова.

Вот некоторые другие ресурсы для этой проблемы:

1 голос
/ 12 февраля 2009

Это не должно быть проблемой psql - она ​​специфична. Быстрый поиск в Google может помочь.

...