Вы не можете одновременно использовать редактирование / историю строк rlwrap
и завершение TAB вашего ответа.
rlwrap
обеспечивает редактирование строки, историю и (очень простое) завершение для команд , у которых его нет . Команде, которая имеет что-то такое же причудливое, как завершение TAB, не нужно rlwrap
для редактирования строки, не так ли?
Опция -a
(--always-readline
) является довольно грубым способом замены поведения редактирования строки rlwrap для вашей команды. Он в первую очередь предназначен для команд, которые имеют очень простой редактор строк, например, без. история команд
Если вы хотите использовать опцию -a
, потому что предпочитаете rlwrap
причудливость (например, постоянную историю или цветные подсказки) вашей команде (например, завершение TAB), продолжайте, но выбрать некоторые невозможно Причудливость одного и оставь другого.
Это (небольшая) цена, которую программы (и их пользователи) должны платить за отказ от библиотеки readline
и лицензии GPL, которая идет с ней.
Ганс (rlwrap
автор)
Изменить (апрель 2017 г.):
Во многих случаях будет возможно использовать фильтр для восстановления завершения. См. Оболочка узла на основе readline для примера этого.