使用vim创建新文件时如何自动创建整个路径?

时间:2012-06-01 08:54:56

标签: linux vim gnu

要在vim中打开新文件,我通常会执行以下操作:

:tabe my_newfile

但是,我想在新目录中打开一个新文件,如下所示:

:tabe newdir/my_newfile

导致错误

"newdir/my_newfile" E212: Can't open file for writing

是否有一种顺畅的方法可以自动创建newdir?

2 个答案:

答案 0 :(得分:1)

我在vim之外使用此解决方法:我在vim中创建了一个shell脚本$HOME/bin,用于备份我在文件夹$HOME/.vimback/...path.../file中编辑的每个文件。

以类似的方式,您可以创建一个运行

的类似脚本
for f in "$@" ; do
    mkdir -p $(dirname "$f")
done

/usr/bin/$(basename "$0") "$@"

但我建议询问是否应该创建目录以避免因拼写错误而意外创建目录。

答案 1 :(得分:1)

尝试使用插件auto_mkdir。这听起来就像你在寻找的。

PS:我没有使用它,我也不会(由于@Aaron_Digulla的评论