Началось все с простого
alias gv='gvim --remote-quiet'
и теперь gv
Space Tab ничего не дает там, где обычно должны давать имена файлов. Как ни странно,
alias gvi='gvim --remote-quiet'
работает как положено. У меня явно есть обходной путь, но я хотел бы знать, что ловит мой gv
для специальной обработки. compopt
не поможет, так как gv
использует те же настройки, что и ls
что правильно выполняет завершение имени файла.
$compopt gv
compopt +o bashdefault +o default +o dirnames -o filenames +o nospace +o plusdirs gv
$ compopt ls
compopt +o bashdefault +o default +o dirnames -o filenames +o nospace +o plusdirs ls
complete
команда немного более полезна, но она не говорит мне, почему два моих персонажа были выбраны для изменения:
$ complete -p gv
complete -o filenames -F _filedir_xspec gv
$ complete -p ls
complete -o filenames -F _longopt ls
$ complete -p echo
bash: complete: echo: no completion specification
$ alias gvi='gvim --remote-silent'
$ complete -p gvi
bash: complete: gvi: no completion specification
Откуда complete -o filenames -F _filedir_xpec gv
?