Автозаполнение zsh для diff :не предлагать повторно заполнять один и тот же файл

Решение состояло в том, чтобы отключить драйверы nouveau с параметром загрузки, следуя инструкциям Freddy, получить оболочку, а затем обновить и установить программное обеспечение nvidia.

1
19.01.2021, 07:33
1 ответ

Включить стильignore-line:

zstyle ':completion:*:complete:diff:argument-*:*' ignore-line true

В качестве альтернативы измените функцию завершения:

_diff () {
    local ignore
    ignore=($words[2,$#words])
        _diff_options "$words[1]" ':original file:_files -F ignore' ':new file:_files -F ignore'  
}

(Этот подход является упрощением того, что делает _rm.)

Оба метода заботятся об общем случае, когда diff bar baTabбудет предлагать bazдля завершения, но не bar. Ни один из методов не учитывает все крайние случаи, например, diff bar./baTabпредлагает для завершения ./bar, хотя это тот же файл, что и bar. Недостатком первого метода является то, что он не предлагает заполнить файл с именем diff, потому что стиль ignore-lineигнорирует каждое слово, включая имя команды.

2
18.03.2021, 22:36

Теги

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