我在Mac和ZSH上使用iTerm,哦,我的zsh使用主题dstufft
我在.bash_rc
中写了这个
function goToPythonApp {
# no params given
if [ -z "$1" ]; then
cd ~/Documents/Apps/PythonApps
else
cd ~/Documents/Apps/PythonApps/$1
fi
}
所以我可以输入
goToPythonApp abc
然后我将切换到
~/Documents/Apps/PythonApps/abc
但是有时候,我忘记了
~/Documents/Apps/PythonApps/
中的文件夹名称有没有一种方法可以键入
goToPythonApp
,然后按<space>
然后按<tab>
来生成~/Documents/Apps/PythonApps/
中的条目列表?类似于ZSH(或oh-my-zsh)如何对半类型命令执行自动完成?
或者可以输入
goToPythonApp ab
,然后按<tab>
,自动完成功能会建议abc
,这是~/Documents/Apps/PythonApps/
文件夹中的有效条目?更新
使用下面答案中建议的技术,然后我得到了
command not found for complete
。然后我在添加
autoload bashcompinit && bashcompinit
之前添加了.bash_rc file
command not found for complete
不见了,但标签仍然不起作用 最佳答案
在Zsh中,不需要功能。将以下内容添加到您的.zshrc
文件中:
setopt autocd
pyapps=~/Documents/Apps/PythonApps
autocd
允许您仅通过键入目录名称而不是显式使用cd
命令来更改目录。静态命名目录(在FILENAME GENERATION下的
man zshexpn
中描述)可让您定义目录的〜前缀别名。只要pyapps
不是您系统上用户的名字,变量的内容就会在您使用~pyapps
的任何地方替换它。结合这两个功能,
~pyapps
等效于cd "$pyapps"
~pyapps/Project1
等效于cd "$pyapps/Project1"
~pyapps/<TAB>
将让您对$pyapps
的内容使用制表符补全。 关于bash - 如何使用制表符在我的文件夹中生成可能的条目列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49375183/