1

我的 zsh 配置中有以下功能可以在 vim 中编辑文件。

function note() {
  vim "~/.notes/$1.md";
}

因此,如果我输入“note linux”,它应该打开(~/notes/linux.md如果存在)或创建一个新文件。

但是,使用上述功能,当我执行时,Vim 抱怨 linux.md 是新目录?如何强制将此名称假定为文件名,而不是目录名?

谢谢

4

1 回答 1

2

~好像没有展开。Vim 认为你的意思是./~/.notes/, 这是一个新目录。只引用文件名,而不是这样的目录:

function note() {
    vim ~/.notes/"$1.md"
}

或使用$HOME

function note() {
    vim "$HOME/.notes/$1.md"
}
于 2013-08-08T07:58:34.960 回答