यह सब एक साधारण से शुरू हुआ
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
से आया?