Сделать заполнение табуляции BASH первым в матче?


11

Есть ли способ заставить BASH заполнить первое совпадение при нажатии клавиши TAB, вроде командной строки Windows?

(По-прежнему должен отображаться список совпадений, но он должен циклически проходить по ним, когда я продолжаю нажимать клавишу Tab.)

то есть цель здесь, чтобы быть в состоянии заполнить в любом матче с только клавишей TAB, учитывая достаточное количество прессы - как в Windows.

Ответы:


15

Добавьте в свой .inputrcфайл следующее (точное местоположение зависит от системы):

"\C-i": menu-complete

Это сопоставляет TAB с полным меню, которое автоматически завершает первое совпадение.

Затем добавьте (или раскомментируйте) show-all-if-ambiguous, это показывает список возможных завершений при первом нажатии клавиши TAB.

Кроме того, вы можете установить полное меню за сеанс (без редактирования .inputrc), выполнив

bind '"\C-i" menu-complete'

Нет. Это определенно не похоже на командную строку Windows. :-)
user541686

@Mehrdad: отредактировано, я надеюсь, что я получил это сейчас.
Филомат

+1 почти !!! Это то, что я хочу, но есть ли способ заставить это сделать это и отобразить меню, если оно неоднозначно? (Может быть, это слишком много, я знаю, но я надеюсь, что это возможно.)
user541686

@ Mehrdad: если это то, что вы хотите, примите это, это поможет людям быстро получить правильные ответы. Что касается вашего нового запроса сделать оба одновременно, я не верю, что это возможно, но кто знает? ... Однако вы можете привязать menu-completeк другой последовательности клавиш, например, "\M-s"для Meta+S, так что вы можете выбрать по желанию.
Филомат

1
Знаешь что? Кажется, что он на самом деле делает именно то, что я хочу: сначала показать меню, а затем переключаться между вариантами! Я не думаю, что видел это на первом компьютере, который я попробовал (возможно, я не обращал на это внимания), но, похоже, он работает отлично! :) (Edit: кажется, вам нужно и этот параметр, и show-all-if-ambiguous чтобы он работал)
user541686

4

Хотя я не знаю, как заставить эту функциональность работать с bash, zsh поставляется с настройками, которые вам нужны по умолчанию. Проверьте ой-мой-zsh и zsh .

Zsh обладает большинством функций bash с некоторыми дополнительными функциональными возможностями, такими как возможность навигации только с помощью вкладки и ввод!

Большинство дистрибутивов Linux поставляются с пакетом для установки zsh.


1
... о боже мой! Это интересно, я посмотрю на это ... оно может или не может делать то, что мне нужно.
user541686

Рад, что смог помочь. Какой дистрибутив вы используете? Я могу дать вам более подробный ответ с руководством о том, как установить Zsh и о мой Zsh.
Крис Кнэдлер

+1 Я установил Zsh, это выглядит довольно круто! Если я не столкнусь с какими-либо проблемами, я могу принять это тоже, спасибо! :) (Кстати, я использую Ubuntu)
user541686

Высокий, если вы просто побежал APT-получить установку ЗШ , а затем побежал автоматической установки для о-мой-Zsh здесь , вы должны быть хорошо идти. Дайте мне знать, если вам нужна помощь в настройке.
Крис Кнэдлер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.