我正在尝试用更直观的监视命令替换vlc。
所需功能
自动完成
watch / path / to / mo Tab - >观看/path/to/movie.avi
- 醇>
执行vlc
观看/path/to/movie.avi 输入#这应运行`vlc /path/to/movie.avi
目前我正在使用上面的别名todo:
〜/ .bashrc中
...
alias watch='vlc'
...
这符合上述execute vlc
,但未提供正确的autocompletion
[1]
当前行为
$ vlc / path / to / mo Tab - > vlc /path/to/movie.avi(顺利完成)
$ watch / path / to / mo Tab - > watch / path / to / mo(not autocompleting ..)
正如@GUIDO所提到的,watch
是一个内置命令。
这会以某种方式影响自动完成。更改为play
有效,但想了解为什么这不起作用,以及如何解决..
注意
类似于How do I get bash completion to work with aliases?
但定义了函数wrap_alias(在我的〜/ .bashrc中)并调用
wrap_alias watch vlc ''
无法修复自动填充问题
答案 0 :(得分:4)
如果我们看一下命令的完成情况' vlc'我们看到了:
$ complete | grep vlc
complete -F _minimal vlc
所以包装函数是" _minimal"。我们可以对新命令使用相同的内容:
$ alias watch='vlc'
$ complete -F _minimal watch
和主题必须现在解决。