-lt
аргумент [
/test
выполняет арифметическое сравнение этих двух аргументов вокруг этого, возвращая true, если предыдущим аргументом является целое число меньше, чем следующий аргумент.
Это - completer установка, я использую:
zstyle ':completion:*' completer _complete _list _expand _oldlist _ignored _match _correct _approximate _prefix
Установка замены является значением по умолчанию, т.е. 1.
При наблюдении ответа Chris и указателей в правильном направлении, заставил меня понять, что это должно иметь некоторое отношение к моей конфигурации.
Я начал вводить по абсолютному адресу вокруг с порядком completer и установкой замены, ни одна из которой не изменила поведение. Сравнивая настройки, с помощью минимального конфигурационного файла, обеспеченного Chris, с моим собственным, я сузил проблему к своему bindkey файлу, и оттуда вниз к bindkey -v
. Это имеет побочный эффект установки ^I
кому: expand-or-complete
который по некоторым причинам портит желаемое расширение.
Поскольку я хочу продолжить использовать viins
и vicmd
контурные карты решение для меня должны были изменить поведение вкладок на complete-word
:
bindkey -M viins "\CI" complete-word
bindkey -M vicmd "\CI" complete-word
tl; доктор
Если Вы используете viins
или viicmd
как контурная карта не забывают изменяться ^I
кому: complete-word
:
bindkey -M viins "\CI" complete-word
bindkey -M vicmd "\CI" complete-word
Ваше желаемое поведение работало автоматически с моими существующими настройками завершения (которые были сгенерированы путем переработки через compinstall
несколько раз), таким образом, я не торопился для сужения конкретных настроек, которые были ответственны.
Базовая функциональность обеспечивается _expand
“completer”. Можно включать его как это:
zstyle ':completion:*' completer _expand
Если Вы также используете _completer
completer, затем _expand
потребности, которые будут перечислены сначала. Например, вот моя фактическая установка completer:
zstyle ':completion:*' completer _expand _complete _ignored _match _approximate _prefix
Затем для включения расширения фигурной скобки Вы должны иметь substitute
включенный. Это включено по умолчанию, но можно быть явными об этом как это:
zstyle ':completion:*' substitute 1
Если Вы не хотите, это включило везде, можно отключить его глобально и включить его только для _expand
как это:
zstyle ':completion:*' substitute 0
zstyle ':completion:*:expand:*' substitute 1
Я протестировал это с zsh версиями 4.3.11 и 5.0.2 путем запуска новой оболочки с zsh -df
и определение источника файла, содержащего следующее:
zstyle ':completion:*' completer _expand
zstyle ':completion:*' substitute 0
zstyle ':completion:*:expand:*' substitute 1
autoload -Uz compinit
compinit
(Опции multios
и no_ingore_brace
(который является что brace_expand
искажается к), значения по умолчанию, таким образом, я не должен был явно изменять их.)
Затем я ввел cat <in{1,2}
и нажал Tab. Необходимо будет несколько раз нажимать Tab: однажды для каждого расширенного варианта и еще раз получить ко “всем расширениям” запись (в общей сложности три раза для вышеупомянутого примера); я не нашел способ заставить эту конкретную запись быть на первом месте.