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

У меня есть автозаполнение, работающее для 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 
  • Как сохранить конечную косую черту после выбора каталога из параметров завершения zsh?
  • Могу ли я подавить автозаполнение определенной категории в zsh?
  • Отмена завершения закладки zsh
  • Bash tabcomplete имена файлов для значений переменных среды
  • Почему bash отключает автозаполнение некоторых команд и как его отключить?
  • Какова функция @ в командной строке после имени файла
  • Как использовать опцию bash или compgen -C (command)?
  • Автозаполнение оболочки очень медленное после форматирования частичного диска
  • zsh: завершение меню для glob
  • Только файлы VIM, только cd-каталоги
  • Отключить запрос на аутентификацию при автозаполнении команды, которая требует привилегий root
  • Interesting Posts

    Создание экрана не работает на crontab

    Команда «Pipe» для новой оболочки bash?

    Административно распространять несколько правил для каждого получателя Thunderbird для некоторых пользователей?

    sed заменить после соответствия символа

    Каков правильный способ установки соответствующего пакета, содержащего <signal.h> на VM Mint VM?

    Найти самые большие файлы в каталоге в определенный диапазон дат

    macos – перенаправление локального порта с использованием pfctl и синтаксических ошибок

    Общие сведения о Linux Perf sched-switch и контекстных переключателях

    Компиляция Riofs не может скомпилироваться с поддержкой -force-head-запросов

    Возможно ли переустановить Debian заново и сохранить всю разрез и данные из существующей установки?

    Список программного обеспечения, предустановленного в Linux Mint?

    Проверьте, вошел ли пользователь в систему после нажатия «Переключить пользователей»

    Установка марионетки на RHEL6

    Перенос содержимого блочных устройств

    Является ';;' оператор цепочки в Unix? Как это работает?

    Linux и Unix - лучшая ОС в мире.