Вкладка в комплекте с KSH в режиме Emacs без привязок

Я пытаюсь включить автозаполнение для командной строки в режиме emacs. Когда я пытаюсь:

set -o emacs
bind '^I'=complete
bind '^I'=complete-list

и повторно войти, я получаю сообщение об ошибке "команда связывания не найдена".

Есть ли другой способ автозаполнения вкладок в режиме emacs, то есть вкладка завершает первое отличие? Если нет, как мне установить привязки в ksh?

Спасибо

2 ответа

Решение

bind is Bash/readline-specific.

From the ksh faq,

Q6. Ksh поддерживает завершение имени файла?
A6. Да, это так. Связывание ключей по умолчанию - , однако, начиная с точки выпуска "g",  также работает для завершения. Обратите внимание, что пользователям vi необходимо установить -o viraw, чтобы завершить работу .

ksh93g был выпущен в 1994-04-30, поэтому я очень удивлен, если он не работает для вас... какова ваша ksh версия?

Как вы узнали, связывание ключей было введено в ksh93,

Q5. Каковы основные новые функции KornShell 1993?
A5. Единственная важная новая интерактивная функция - это привязка клавиш. ... ( FAQ по KSH-93)

В режиме Emacs, нажав

<ESC>= 

дает вам список, который соответствует тексту, который вы набрали до этого момента.

Другие вопросы по тегам