我已经为xdg-open设置了别名,并添加alias op="xdg-open"
到了我的~/.bashrc
文件中。
该命令op file.pdf
有效,但是例如在键入op fi
并单击TAB时我无法自动完成。
这有点烦人,因为设置别名的目的是节省时间。我怎样才能解决这个问题?
我猜您已经安装了bash-completion,当您尝试完成以别名开头的命令行时,该op
命令会自动加载命令附带的完成功能op
。
您可以通过以下方式避免这种情况:
选择一个不同的别名(并查看其中的文件/usr/share/bash-completion/completions/
以确保您选择一个安全的名称);或者
添加complete -o default -o bashdefault op
到您~/.bashrc
的指令中,指示bash-completion不要使用附带的完成功能(请参阅上面链接的GitHub存储库中的FAQ中的“如何覆盖bash-completion附带的完成功能?”)。
当然,如果您要为系统上存在完成文件的命令定义别名,则可以使用在那里定义的完成功能,而不是将完成重置为默认行为。但是请注意,这可能需要您显式加载完成功能。结果.bashrc
片段可能是:
alias your_alias=aliased_command
_completion_loader aliased_command
complete -F completion_function your_alias
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句