Программа, которую я пытаюсь запустить, принимает форму program_name --arg=/some/path/goes/here
, но zsh не может выполнить табуляцию на этом пути, когда она находится в флаге аргумента. В конце концов мне нужно ввести progra<TAB> /so<TAB>/pa<TAB>...
, чтобы завершить путь, а затем вернуться, чтобы добавить часть команды --arg=
. Есть ли более эффективный способ сделать это?Почему zsh теряет автозаполнение для путей к файлу, когда я нахожусь в флагом и как я могу его вернуть?
ответ
Скорее всего, zsh все еще пытается выполнить завершение файла в вашей ситуации, это просто считается, что --arg=
является начальной частью имени файла, заставляя его не находить совпадений. Поскольку нет универсальных правил для того, как команды будут интерпретировать свои аргументы, самым безопасным вариантом является то, что оболочка не делает никаких предположений об этих аргументах.
Многие команды, использующие этот тип синтаксиса, будут работать одинаково, если вы используете пробел, а не знак =
, такой как program_name --arg /some/path/goes/here
. Поскольку это будет отдельный аргумент, оболочка должна иметь возможность выполнять завершение файла без проблем.
В зависимости от того, как вы настроили zsh, он также может использовать setopt MAGIC_EQUAL_SUBST
. Обычно я устанавливаю этот параметр и получаю поведение, которое вы ищете, но получайте то поведение, которое вы сейчас испытываете, если я отключу этот параметр. Но если я использую zsh -f
, чтобы пропустить загрузку моей конфигурации, просто чтобы эта опция была недостаточной, поэтому в моей конфигурации было что-то еще, что было необходимо, возможно, просто включение системы завершения, которую вы, вероятно, уже сделали бы. Могут быть случаи, когда это может привести к нежелательному поведению, но за многие годы, когда я использовал zsh с этой опцией, я не сталкивался с этим.
Более сложным вариантом было бы написать функцию завершения для этой команды, которая сообщает zsh, что эта опция принимает имя файла в качестве аргумента.
- 1. Как я могу обнаружить, когда я нахожусь в системе Unity?
- 2. Могу ли я использовать автозаполнение для kubectl в zsh?
- 3. IEx - bash как автозаполнение для путей к файлу
- 4. Почему мой R.java исчез, и как я могу его вернуть
- 5. Кодирование путей к файлу
- 6. MVC 5 Форма, как я могу вернуть страницу, на которой я нахожусь, когда действие formubmit завершено?
- 7. Когда я должен использовать npm с флагом «-g» и почему?
- 8. Ссылка движется, когда я нахожусь
- 9. Как вернуть StringWriter, когда я не могу клонировать его?
- 10. Каталог путей к файлу
- 11. Как я могу получить путь к файлу?
- 12. np.load к файлу путей
- 13. Слушатель файлов - как я могу узнать, когда доступ к файлу?
- 14. Как я могу определить, в какой подпрограмме я нахожусь?
- 15. Как я могу получить путь к файлу?
- 16. Как я могу получить путь к файлу, который я загружаю?
- 17. Почему я не могу подключить UITextView к моему файлу .m?
- 18. Почему при использовании JQuery, когда я нахожусь, нет гладкой анимации?
- 19. Как я могу связать автозаполнение к диалогу в Serene Шаблон
- 20. набор равномерных путей к файлу
- 21. Почему я потерял функциональность и стиль, когда добавляю свои предметы в TabHost? Как я могу вернуть его?
- 22. как вернуть путь к файлу и использовать его другим способом?
- 23. Как я могу «принять» автозаполнение в Netbeans?
- 24. Почему я не могу подключить исходный файл к файлу заголовка?
- 25. Как я маршрут к действию контроллера, когда я нахожусь в маршрутизации закрытия в Laravel 5,2
- 26. скрыть только тогда, когда я нахожусь снаружи
- 27. Почему я могу вставить символы не-ascii в столбец VARCHAR и правильно вернуть его?
- 28. Почему я не могу вернуть свой метод?
- 29. Почему checkbox проверяется только для текущей страницы Я нахожусь
- 30. выпадение не скрывается, когда я нахожусь снаружи