bash别名带扩展的自动完成

bash别名带扩展的自动完成,bash,autocomplete,Bash,Autocomplete,因此,我的.bashrc文件中有以下内容: alias open="vi" 因此,当我用java编程时,如果我键入“vi Te[TAB]”,它将自动完成为“vi Test.java”,而不是“vi Test.class”或“vi Test”。如果我使用别名“open”执行此操作,则情况不同。如何解决这个问题?在.bashrc中运行eval$(complete-p vi | sed's/vi/open/)。它将使打开使用与vi完全相同的完成选项。Test.class不可编辑为什么要定义比原始命令

因此,我的.bashrc文件中有以下内容:

alias open="vi"

因此,当我用java编程时,如果我键入“vi Te[TAB]”,它将自动完成为“vi Test.java”,而不是“vi Test.class”或“vi Test”。如果我使用别名“open”执行此操作,则情况不同。如何解决这个问题?

.bashrc
中运行
eval$(complete-p vi | sed's/vi/open/)
。它将使
打开
使用与
vi

完全相同的完成选项。Test.class不可编辑为什么要定义比原始命令长的别名?我不明白。现在我有了alias open=“vi”eval$(complete-p vi|sed's/vi/open/),但它仍然不起作用(请确保在两个单独的行上有alias=…和eval..,并在编辑后再次为bashrc编写源代码。)shell中的
complete-p vi
的输出是什么?