Semuanya dimulai dengan sederhana
alias gv='gvim --remote-quiet'
dan sekarang gv Space Tabtidak memberikan apa pun di tempat yang seharusnya memberikan nama file. Anehnya,
alias gvi='gvim --remote-quiet'
bekerja seperti yang diharapkan. Saya jelas punya solusi, tetapi saya ingin tahu apa yang saya tangkap gvuntuk pemrosesan khusus. compopttidak membantu karena gvberbagi pengaturan yang sama seperti lsyang tidak menyelesaikan nama file dengan benar.
$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
The completePerintah sedikit lebih bermanfaat tetapi tidak memberitahu saya mengapa dua karakter saya mendapat dipilih untuk perubahan:
$ 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
Dari mana complete -o filenames -F _filedir_xpec gvdatangnya?