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 gv
untuk pemrosesan khusus. compopt
tidak membantu karena gv
berbagi pengaturan yang sama seperti ls
yang 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 complete
Perintah 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 gv
datangnya?