我开始使用vim来编辑我的python代码,我希望vim根据不同的后缀(如'.py')将代码保存在不同的文件夹下。
所以,我将它添加到我的 gvimrc 文件中(我确实在使用 MacVim,但同样的问题出现在 vim 上)
au BufWritePre *.py :cd /Users/username/Documents/folder
我认为每次保存以“.py”结尾的代码之前,都会将工作目录更改为/Users/username/Documents/folder 。
当我进入 MacVim 时,打开一个新文件,输入类似
print("Hello")
并将其保存为
:w hello_world.py
如我所愿,一个名为hello_world.py的文件出现在/Users/username/Documents/folder中。vim 中的 ":pwd" 命令也返回 " /Users/username/Documents/folder "。但是当我在 vim 中检查hello_world.py的文件名时
:!echo %
它返回
/Users/username/hello_world.py
而不是预期的文件名
/Users/username/Documents/folder/hello_world.py # expected filename
此外,当我尝试升级代码时
print("Hello")
print("World")
并将其保存为
:w
hello_world.py中的内容在/Users/username/Documents/folder下保持不变。但是/Users/username中出现了一个与hello_world.py名称相同的新文件,这与 vim 中的文件名一致。
我猜我在 gvimrc 中的 autocmd 脚本在保存 '.py' 文件之前确实更改了工作目录,但我试图弄清楚为什么文件名与工作目录不一致以及如何将我的 '.py' 文件保存到一个特定的文件夹。