2009-02-12 6 views
3

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

ответ

4

Как уже упоминалось в Endlessdeath's answer, это оказалось ключевой проблемой отображения с операционной системой (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

Это не должно быть проблемой psql - это специфично. A quick search on google может помочь.

+0

Спасибо. Я даже не осознавал этого, но теперь вижу, что такое же поведение происходит и в командной строке. – cowgod