如何在Vim中创建一个新目录和一个文件

时间:2016-05-16 13:34:25

标签: vim

当使用Vim作为文本编辑器时,有没有办法在文本编辑器模式下创建新目录和文件?而不是返回命令行并创建新的目录和文件。

6 个答案:

答案 0 :(得分:31)

切换到文件浏览模式

:Ex或者如果不起作用,请使用:Explore

然后按

d

并添加新目录名称。

答案 1 :(得分:26)

假设你正在运行一个shell,我会为这些命令中的任何一个发出外壳。使用 Esc 进入命令模式,然后:

:! touch new-file.txt
:! mkdir new-directory

这些操作的一个很棒的插件是vim-eunuch,它为UNIX shell命令提供了大量的糖。这是后一个例子,使用vim-eunuch:

:Mdkir new-directory

答案 2 :(得分:12)

如果您处于文件资源管理器模式,则可以使用:

  

d用于创建目录

     

%用于创建新文件

无需使用!调用外部命令

答案 3 :(得分:5)

为了完整起见:

  • Shell out并使用普通命令,例如:!mkdir my_dir:!touch foo.txt(如Jake's answer here中所述)将在CURRENT工作目录中创建目录和文件,这是当您在开始时启动当前vim进程时的目录,但不是必须与您当前正在编辑的文件的目录相同,或者是:Explore资源管理器当前正在查看的目录。如有疑问,请务必先使用:!pwd检查当前的工作目录,并在必要时使用相对路径。

  • 因此,如果您的项目包含多个子目录,则更方便的方法是:

    1. 首先输入:Explore以进入资源管理器模式,
    2. 然后您可以通过键入向上箭头向下箭头(或 j 轻松导航到您喜欢的任何子目录或者 k )移动光标,输入 Enter 进入一个子目录,输入 - 进入目录级别。 (请注意,所有这些导航都不会更改您当前的工作目录);
    3. 现在您可以键入 d 以提示输入目录名,或者键入以提示输入文件名,然后将在目录中创建它们目前显示在屏幕上。 PS:这些键实际上是在内置帮助中提到的 F1

答案 4 :(得分:2)

假设您只是在不存在的文件上运行vim:

vim new_dir/new_file.txt

尝试:w时,将显示“ E212:无法打开文件进行写入”
要创建新目录和文件,请使用以下方法:

:!mkdir -p %:h

答案 5 :(得分:0)

或者,您可以使用:e .进入浏览器模式,然后按d来创建新目录。认为答案较短可能会更好