当使用Vim作为文本编辑器时,有没有办法在文本编辑器模式下创建新目录和文件?而不是返回命令行并创建新的目录和文件。
答案 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
检查当前的工作目录,并在必要时使用相对路径。
因此,如果您的项目包含多个子目录,则更方便的方法是:
:Explore
以进入资源管理器模式,答案 4 :(得分:2)
假设您只是在不存在的文件上运行vim:
vim new_dir/new_file.txt
尝试:w时,将显示“ E212:无法打开文件进行写入”
要创建新目录和文件,请使用以下方法:
:!mkdir -p %:h
答案 5 :(得分:0)
或者,您可以使用:e .
进入浏览器模式,然后按d
来创建新目录。认为答案较短可能会更好