Я использую psql 8.2.3 на FreeBSD. Каждый раз, когда я нажимаю Вставка, Главной, Удалить, End, Page Up или Page Down, тильда (~
) вставляется символ вместо выполнения ожидаемой функции клавиши. Почему это происходит и как я могу это исправить?Почему psql вставляет тильду, когда я нажимаю любую из клавиш в кластере ключей Home?
ответ
Как уже упоминалось в 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
добыт вашей оболочкой (большинство из них по умолчанию) и вам хорошо идти. Обратите внимание, что файл не будет отправлен до тех пор, пока вы не выйдете из системы и не войдете снова.
Вот некоторые другие ресурсы для решения этой проблемы:
Это не должно быть проблемой psql - это специфично. A quick search on google может помочь.
Спасибо. Я даже не осознавал этого, но теперь вижу, что такое же поведение происходит и в командной строке. – cowgod