Как автозаполнение проигнорировать конкретное завершение

У меня есть автозаполнение, работающее для bash. Когда я набираю часть имени программы, а затем TAB, я получаю полную команду. Работает, как ожидалось, никаких жалоб.

Однако в моей настройке у меня есть псевдоним, называемый flexo (который регистрирует меня на машине с тем же именем). Когда я fle TAB, я получаю только flex , потому что это совершенно правильная программа на машине. Как я могу дать указание полностью игнорировать это конкретное завершение? Другими словами, я хочу, чтобы fle TAB завершил flexo и полностью игнорировал flex . Благодарю.

One Solution collect form web for “Как автозаполнение проигнорировать конкретное завершение”

Monkeying с алгоритмом для вкладок завершен, чтобы разорвать пару предметов из пула, сложнее, чем вы себе представляете. Это действительно можно сделать, но это непросто, эффективно использовать или рекомендовать.

Вместо этого, @jasonwryan был на правильном пути, что вы должны придумать что-то еще для своего имени команды. Однако вместо того, чтобы пытаться остаться одним словом, имя сервера в качестве имени команды, я рекомендую вам переключать модели на многословную модель, такую ​​как остальная часть Unix. Заполнение табуляции для имен команд сильно отличается от завершения табуляции для аргументов, последнее довольно просто.

Установите короткий простой псевдоним типа 's' или любой другой псевдоним соединения, но не включайте имя хоста. Затем настройте настраиваемую процедуру завершения для этой команды, которая ТОЛЬКО автозаполняет имена хостов, такие как:

 alias s=ssh complete -F _known_hosts_real s 

Вы также можете создать для этого настраиваемую функцию:

 alias s=ssh _my_hosts() { type compopt &>/dev/null && compopt -o nospace COMPREPLY=( $( compgen -S = -W 'flexo mexo dexo' -- "$cur") ) } complete -F _my_hosts s 
  • Как получить завершение bash для псевдонимов команд?
  • Заполнение вкладки Bash не работает в символической директории
  • Zsh завершает составление рецептов
  • Как я могу использовать функции автозаполнения bash и шаблоны фильтров вместе?
  • zsh expand-or-complete для всех файлов независимо от команды / контекста
  • Отключить выполнение вкладки в Bash для какой-либо директории, содержащей большое количество файлов?
  • Автозаполнение включает каталоги в c ++
  • Установите автоматическое завершение для нового типа файлов
  • Автозаполнение Bash дает другое имя файла, чем ls
  • zsh: завершение меню для glob
  • Bash завершает дополнительное пространство при добавлении каталога файлов
  • Список завершения автозапуска Zsh в файл или меньше
  • Linux и Unix - лучшая ОС в мире.