Почему является zsh (oh-my-zsh) завершающимися каталогами, которые не существуют?

Это показывает потому что один getty процесс работает на каждой виртуальной консоли (VC) между tty1 и tty6. Можно получить доступ к ним путем изменения активной виртуальной консоли с помощью Alt-F1 через Alt-F6 (Ctrl-Alt-F1 и Ctrl-Alt-F6 соответственно, если Вы в настоящее время в X).

Для получения дополнительной информации о том, каков TTY, посмотрите этот вопрос, и для получения информации о виртуальных консолях, см. эту статью Wikipedia.

6
13.04.2017, 15:36
1 ответ

_kadmin вероятно, функция completer для kadmin инструмент - не каталог. Если Вы делаете попытку завершения на чем-то это zsh не может найти как команда, каталог или допустимое и известное завершение аргумента команды, это затем начинает предлагать функции завершения как возможных кандидатов расширения. По умолчанию, zsh идет с большим количеством completers, многие из которых Вам, возможно, не понадобится - существуют пакеты для AIX, BSD, Cygwin, различных дистрибутивов Linux, и т.д., и они все читаются и установили в оболочку. Если Вы делаете попытку расширения на чем-то zsh не может найти, это имеет все те установленные функции завершения, чтобы предложить Вам вместо этого.

Вы настраиваете zsh не предложить completer функционирует, вставляя это Ваш ~/.zshrc:

zstyle ':completion:*:functions' ignored-patterns '_*'

Перезагрузите файл, и Вам больше нельзя предлагать функции завершения для инструментов, которые Вы не имеете установленными. Взгляните на zshcompsys страница справочника для (намного) большего количества детали.

РЕДАКТИРОВАНИЕ в ответ на ОБНОВЛЕНИЕ 3

Если _kadmin на самом деле учетная запись пользователя, можно настроить zsh не предложить его в завершениях. Кажется, что подход должен перечислить учетные записи пользователей, которые Вы действительно хотите, чтобы оболочка рассмотрела, который ограничивает любые имена, предлагаемые только перечисленным. zstyle строка - что-то вроде этого:

zstyle ':completion:*' users asgeo1 root

Я думаю, что можно перечислить столько пользователей, сколько Вам нравится после users тег. Оболочка затем только предложит корневые каталоги тех пользователей как возможные завершения для cd функционируйте или встроенный.

Я не знаю почему, добавляя имя пользователя к проигнорированным шаблонам в completion.zsh файл не работал - Вы перезагружали свою конфигурацию после внесения изменения?

5
27.01.2020, 20:29
  • 1
    Спасибо за информацию - я действительно не знал, что что-либо о zsh автоматически заполняет функции прежде. Я думаю, что oh-my-zsh должен добавлять некоторые функции автоматического заполнения, в которых я не нуждаюсь. Если я вставил ту строку мой .zshrc это, кажется, ничего не делает, хотя - я должен все еще отключить oh-my-zsh. Я надеюсь, что существует путь в oh-my-zsh, чтобы отключить определенные функции завершения (но оставить мерзавца одним включенным, например) –  asgeo1 04.12.2012, 00:46
  • 2
    я решил, что _kadmin на самом деле относится к имени пользователя на OSX. Посмотрите редактирование к вопросу выше. Вы знаете, как заставить zsh не автоматически заполнить имена пользователей? Я изо всех сил пытаюсь понять zstyle синтаксис.Удачи. –  asgeo1 04.12.2012, 01:55
  • 3
    Отредактированный мой ответ для покрытия этой новой информации. Я надеюсь, что фиксирует его для Вас! –  D_Bye 04.12.2012, 12:06
  • 4
    Да, я действительно перезагружал конфигурацию. Так не уверенный, почему проигнорированные шаблоны не работали. Но Ваши другие работы предложения и являются намного более чистыми так или иначе, так спасибо за это! –  asgeo1 06.12.2012, 02:43

Теги

Похожие вопросы