Почему psql вставляет тильду, когда я нажимаю любую клавишу в кластере клавиш Home?
-
23-08-2019 - |
Вопрос
я использую psql 8.2.3 на FreeBSD.Каждый раз, когда я нажимаю Вставлять, Дом, Удалить, Конец, Страница вверх или Листать вниз, тильда (~
) символ вставляется вместо выполнения ожидаемой функции клавиши.Почему это происходит и как это исправить?
Решение
Как упоминалось в Ответ 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
берется из вашей оболочки (большинство из них по умолчанию), и все готово.Обратите внимание, что файл не будет создан до тех пор, пока вы не выйдете из системы и не войдете снова.
Вот еще несколько ресурсов по этой проблеме:
Другие советы
Это не должно быть проблемой psql - это специфично для ОС.А быстрый поиск в гугле мог бы помочь.