Решение состояло в том, чтобы отключить драйверы nouveau с параметром загрузки, следуя инструкциям Freddy, получить оболочку, а затем обновить и установить программное обеспечение nvidia.
Включить стиль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
игнорирует каждое слово, включая имя команды.