【问题标题】:How to automatically create whole path when creating new file using vim?使用vim创建新文件时如何自动创建整个路径?
【发布时间】:2012-06-06 12:23:23
【问题描述】:

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

:tabe my_newfile

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

:tabe newdir/my_newfile

导致错误

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

有没有一种自动创建新目录的流畅方法?

【问题讨论】:

  • 您多久拼错一次目录名称?
  • @AaronDigulla 从不:我使用 vim 的(真棒)标签完成::tabed path/**/stylesheets/<Tab><Tab>newdir/mynewfile

标签: linux vim gnu


【解决方案1】:

试试插件auto_mkdir。这听起来正是您要搜索的内容。

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

【讨论】:

    【解决方案2】:

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

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

    for f in "$@" ; do
        mkdir -p $(dirname "$f")
    done
    
    /usr/bin/$(basename "$0") "$@"
    

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

    【讨论】:

      猜你喜欢
      • 2011-02-19
      • 2011-02-16
      • 1970-01-01
      • 2011-10-29
      • 1970-01-01
      • 2021-03-24
      • 2010-09-14
      相关资源
      最近更新 更多