Tất cả bắt đầu với một đơn giản
alias gv='gvim --remote-quiet'
và bây giờ gv Space Tabkhông đưa ra bất cứ nơi nào bình thường nên cung cấp tên tập tin. Kì lạ
alias gvi='gvim --remote-quiet'
hoạt động như mong đợi. Tôi rõ ràng có một cách giải quyết, nhưng tôi muốn biết điều gì đang thu hút tôi gvđể xử lý đặc biệt. compoptkhông giúp ích gì khi gvchia sẻ các cài đặt giống như lshoàn thành tên tệp một cách chính xác.
$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
Các completelệnh là hơi hữu ích hơn nhưng nó không cho tôi biết tại sao hai nhân vật của tôi đã chỉ ra cho thay đổi:
$ 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
Nơi nào đã complete -o filenames -F _filedir_xpec gvđến?