#terminal #bash-completion
#терминал #bash-завершение
Вопрос:
Я нашел много вопросов по .inputrc, и ответы включали людей, использующих Mac OS X terminal.app.
Но я установил это свойство, и оно не изменило поведение readline. Я попробовал тот же .inputrc на Ubuntu, и это сработало…
Есть ли какие-то конкретные действия, которые я должен предпринять в terminal.app?
Ответ №1:
Ну, я думаю, что я наконец-то взломал его. Я отвечу на свой собственный вопрос для дальнейшего использования здесь:
Mac OS X использует editline (потомок libedit, который как бы эмулирует readline) вместо текстового обработчика командной строки more commom readline.
Я все еще изучаю, как работает editline, но я предполагаю, что он не на 100% совместим с readline .inputrc.
Таким образом, мой атрибут completion-prefix-display-length, вероятно, не работает с моей версией OS X editline.
Ответ №2:
Так что это действительно было. Я выполнил следующий тест, чтобы доказать свою гипотезу: я скомпилировал readline под Mac OS X, а затем запустил bash с помощью скомпилированной мной библиотеки readline (через с помощью-readline tool). Все работало нормально, все мои атрибуты inputrc работали, и я закончил свои вопросы.
Таким образом, в Mac OS X строка чтения затеняется строкой редактирования (у нее все еще есть строка чтения.h включает динамические библиотеки и realine, но они являются кодом editline).