Tab当我使用shell(bash)时我经常使用该键。
但我很恼火,它~
总是被扩展为/home/"user"
。我认为它并不总是这样;有什么办法可以阻止这种行为吗?
一个例子:
cj@zap:~$ ls ~/
- 按Tab
cj@zap:~$ ls /home/cj/
我希望能够继续拥有~/
,而不是最终得到/home/cj/
。
答案1
禁用波浪线扩展非常快捷且轻松。打开~/.bashrc
并插入以下内容:
_expand()
{
return 0;
}
这将覆盖扩展函数/etc/bash_completion
。我建议在函数上方注释其功能,以防将来需要扩展。更改将在新实例中生效。
答案2
使用较新的 bash_completion 似乎您还需要覆盖 __expand_tilde_by_ref:
__expand_tilde_by_ref() {
return 0
}
答案3
更加紧凑:
_expand() { :; }
...因为“:”是 shell 内置的,相当于“true”:-)
答案4
更精确的定制将是
_filedir_xspec () { :; }