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. compopt
không giúp ích gì khi gv
chia sẻ các cài đặt giống như ls
hoà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 complete
lệ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?