Разверните меньше знак, когда использование multios и фигурная скобка расширяется

-lt аргумент [/test выполняет арифметическое сравнение этих двух аргументов вокруг этого, возвращая true, если предыдущим аргументом является целое число меньше, чем следующий аргумент.

2
28.02.2013, 10:30
2 ответа

Это - 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
1
27.01.2020, 22:01

Ваше желаемое поведение работало автоматически с моими существующими настройками завершения (которые были сгенерированы путем переработки через 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: однажды для каждого расширенного варианта и еще раз получить ко “всем расширениям” запись (в общей сложности три раза для вышеупомянутого примера); я не нашел способ заставить эту конкретную запись быть на первом месте.

3
27.01.2020, 22:01
  • 1
    Оказывается, что проблема была с моими bindkey настройками, но спасибо за продвижение меня в правильном направлении, я буду награждать щедрость вскоре. –  Thor 28.02.2013, 10:32

Теги

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