我发现自己处于这样一个位置: 我想在与打开的文件所在的目录相同的目录中创建一个新文件。如何在 vim 中的打开文件的目录中创建新文件?还有,有没有地方可以让我自己学习这些东西?谷歌也没用。
如果你想创建一个新的文件,并且在当前文件旁边的窗口中显示它,你可以尝试这样做:
:vsp newfile
vsp代表 vertical split,它将屏幕一分为二,一个显示当前文件,另一个显示新文件(也可以使用水平分割的 sp)。
vsp
vertical split
sp
根据上面@MartinLyne 的注释,这将在打开 vim的文件的目录中创建文件。为此,你可更改现行工作目录如下:
vim
:cd %:p:h
此命令将当前工作目录更改为活动文件的目录,这意味着运行 vsp命令(或上述任何命令)将在该目录中创建文件。
在 Vim 中,通过诸如 :edit filename或 :split filename之类的命令,像编辑现有文件一样创建新文件。要将它们持久化到磁盘,您需要(可选地输入内容并)通过 :write持久化它们。
:edit filename
:split filename
:write
与命令提示符类似,Vim 有 工作目录的概念(:pwd列出了它)。所有文件路径都是相对于它的。您不需要复制到当前文件的路径,有一些不错的快捷方式: %指的是当前文件,:h是其目录的修饰符,减去文件名(cp。:help filename-modifiers).那么,
:pwd
%
:h
:help filename-modifiers
:e %:h/filename :w
将在与当前打开的文件相同的目录中创建一个名为 filename的新文件,并将其写入。
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 启动时读取)。然后,上面变得简单
~/.vimrc
:e filename :w
Finally, Vim has a great built-in :help. Learn to navigate and search it!
:help
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(不管你喜欢什么)
:w :x ZZ
就是这样
我来晚了,但是另一个选择是用 :E或 :Explore(或者它的分裂选项 :Vexplore/:Sexplore = = :Vex/:Sex)打开 NERDtree。
:E
:Explore
:Vexplore
:Sexplore
:Vex
:Sex
在 NerdTree 中,您可以使用 %创建一个新文件,并键入名称。它将自动打开该文件,并在 :w/保存后创建该文件。
:w
这是为了 Gvim! 输入这个可以看到工作目录。
:cd
然后用
:cd desktop/somefolder
然后在那里保存或创建新文件
:enew asd.cpp
现在再次查看文件
用 NERDtree
NERDtree
ma <FILENAME> ma <DIRECTORY NAME> + /
我通常用:
:tabnew my-file
然后添加一些内容:
它将创建带有新文件的新选项卡。
(我使用 Vim 8)