Все почалося з простого
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
взялися?