在 vim 中打开文件的目录中创建一个新文件?

我发现自己处于这样一个位置: 我想在与打开的文件所在的目录相同的目录中创建一个新文件。如何在 vim 中的打开文件的目录中创建新文件?还有,有没有地方可以让我自己学习这些东西?谷歌也没用。

123123 次浏览

如果你想创建一个新的文件,并且在当前文件旁边的窗口中显示它,你可以尝试这样做:

:vsp newfile

vsp代表 vertical split,它将屏幕一分为二,一个显示当前文件,另一个显示新文件(也可以使用水平分割的 sp)。

根据上面@MartinLyne 的注释,这将在打开 vim的文件的目录中创建文件。为此,你可更改现行工作目录如下:

:cd %:p:h

此命令将当前工作目录更改为活动文件的目录,这意味着运行 vsp命令(或上述任何命令)将在该目录中创建文件。

在 Vim 中,通过诸如 :edit filename:split filename之类的命令,像编辑现有文件一样创建新文件。要将它们持久化到磁盘,您需要(可选地输入内容并)通过 :write持久化它们。

与命令提示符类似,Vim 有 工作目录的概念(:pwd列出了它)。所有文件路径都是相对于它的。您不需要复制到当前文件的路径,有一些不错的快捷方式: %指的是当前文件,:h是其目录的修饰符,减去文件名(cp。:help filename-modifiers).那么,

:e %:h/filename
:w

将在与当前打开的文件相同的目录中创建一个名为 filename的新文件,并将其写入。

Alternatively, some people like Vim to always change to the current file's directory. This can be configured by placing

:set autochdir

到你的 ~/.vimrc文件(在 Vim 启动时读取)。然后,上面变得简单

:e filename
:w

Finally, Vim has a great built-in :help. Learn to navigate and search it!

you should have a try with "nerdtree" plugin. 在 nerdtree 窗口中,您键入了键 m,文件操作选项将显示给您

当你有 在不存在的位置打开 Vim喜欢

$ vim /etc/<some_folder/<next_folder>/file.cfg

然后转到 在 vim 中创建一个新目录,在正常模式下运行

:! mkdir -p /etc/<some_folder/<next_folder>

接下来像往常一样保存你的文档 :w :x ZZ(不管你喜欢什么)

就是这样

我来晚了,但是另一个选择是用 :E:Explore(或者它的分裂选项 :Vexplore/:Sexplore = = :Vex/:Sex)打开 NERDtree。

在 NerdTree 中,您可以使用 %创建一个新文件,并键入名称。它将自动打开该文件,并在 :w/保存后创建该文件。

这是为了 Gvim! 输入这个可以看到工作目录。

:cd

然后用

:cd desktop/somefolder

然后在那里保存或创建新文件

:enew asd.cpp

现在再次查看文件

:cd

NERDtree

 ma <FILENAME>
ma <DIRECTORY NAME> + /

我通常用:

:tabnew my-file

然后添加一些内容:

:w

它将创建带有新文件的新选项卡。

(我使用 Vim 8)