Vim文件操作常用技巧

Vim文件操作从同时操作多个文件和打开和保存文件两个方面进行总结。

(一)Vim同时操作多个文件

一个文件夹下有vitest、vitest2两个txt文件。同时操作两个文件。同时操作两个文件可以通过命令 'vim *.txt' 或者 'vim vitest.txt vitest2.txt' 来完成。此时进入文件操作界面与操作一个文件时的界面似乎没有差别。

①缓冲区列表

多个文件同时放入缓冲区可以通过 ':ls' 命令来查看,切莫与shell的ls命令搞混。

ls查看缓冲区
②缓冲区列表操作

通过 ':ls' 查看缓冲列表,可以通过命令在各个文件之间进行切换。
常见命令:

bnext : 跳转下一个
bprev  :  跳转上一个
bfirst   :  跳转到第一个
blast   :  跳转到最后一个

输入命令比如 'bnext' 后,再通过 'ls' 查看,列表显示发生一些变化;

发生变化

'%' 表示当前在窗口中的文件是哪个。'#' 代表轮换文件。可以通过 'Ctrl + ^' 在当前文件和轮换文件之间进行转换。
当删除缓冲区中文件时,可以通过 'bdelete 文件名' 完成删除操作。

③管理隐藏缓冲区

当对vitest1.txt进行操作后,通过 'bnext' 进行切换时,会无法切换

警告

会提示切换前更新未写入。但此时并非不能切换,执行强制切换即可。 'bnext!'完成强制转换。完成转换后,通过 'ls' 查看列表,会发现又有新的变动。

隐藏缓冲区

'#' 之后多了 'h +' 两个字符, 'h' 表示一个隐藏缓冲区,即未进行写入的更改。保存更改的常见命令如下:

w[rite]  :  写入当前文件的写改
e[dit] ! :  放弃当前文件的修改
wa[ll] ! :  写入所有修改
qa[ll] !  :  关闭窗口,放弃所有修改
④创建分割窗口

这个就比较有意思了,可以通过 'Ctrl + w + s' 水平切分当前窗口。


水平切分

通过 'Ctrl + w + v' 完成垂直切分

垂直切分

当然,切分之后的子窗口也可以继续切分。
切分时,可以指定新的窗口载入其他文件通过 'sp[lit] 文件名' 的方式完成。例如 'sp vitest1':

载入vitest1文件

如果想垂直切分窗口载入新文件,通过 'vsp[lit] 文件名' 来完成。
窗口间切换常用命令:

Ctrl + w + w  :  窗口间循环切换
Ctrl + w + h   :  切换到左边窗口
Ctrl + w + l    :  切换到右边窗口
Ctrl + w + j   :  切换到下边窗口
Ctrl + w + k  :  切换到上边窗口

关闭窗口的方式:

:clo[se]  :  关闭当前窗口
:on[ly]   :  只保留当前窗口

(二)打开及保存文件

通过 'vim 文件名' 的方式打开文件是最常用的方式。但这节讨论的是在已经打开vim的情况下打开文件的操作。

①通过 ':edit' 命令打开

当前在vitest1.txt中,通过 'edit' 命令打开vitest2.txt。

打开vitest3.txt
Vim文件操作常用技巧_第1张图片
打开文件

②'edit' 命令文件路径操作

查看当前文件相对于当前所在目录的文件路径,使用命令 'edit %' 完成。例如当前在/home目录下,执行vim chuck/vitest1.txt,在vitest1.txt中输入上述命令:

edit %

按下Tab键,发生如下改变

显示当前相对路径

如果使用 ':edit %:h',效果如下

显示相对目录路径

':h' 将隐藏文件名,保留其余路径。

③使用netrw管理文件系统

现在在/home/chuck/viexe目录下有vitest1.txt,vitest2.txt,vitest3.txt三个文件。输入 'vim .' 进入vim的原生文件管理器netrw。

netrw文件管理器

通过 'j'、 'k' 控制上下,选择希望操作的文件,然后按回车键即可进行操作。也可以选择 '../' 到达上一级目录。
当然这是在终端中进入netrw,如果当前已经在使用vim操作文件,如何进入文件系统?使用 ':edit' 命令,如果是操作当前目录,只需要 ':edit .' 即可进入当前目录的文件管理系统。其他目录可以通过 ':edit 绝对/相对路径' 即可。

④保存文件

普通的保存通过 'w' 命令即可。但如果是保存到尚不存在的目录中。比如vim /home/chuck/viexe/sub/test.vim。而此时的viexe中并不存在sub目录,如果正常保存会发生:

无法写入

需要两步走。第一步创建目录,通过 ':!mkdir -p %:h',输入回车键

创建目录

此时再通过 'w' 写入,即可完成写入。

你可能感兴趣的:(Vim文件操作常用技巧)