本文主要是介绍【进来听歌】Vim同时操作多个文件的4个实用技巧整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
写在前面:今天继续分享一篇Vim相关的文章。第一次尝试微信公众号的自定义音频功能,录了首自己翻唱的歌曲,大家别见笑~欢迎交流唱歌技术,哈哈哈
使用Vim同时打开和操作多个文件是一种常见的工作场景。本文介绍Vim如何在多个打开的文件中进行快速切换的几种Vim实用技巧。
一、Vim分割窗口
最直观的使用Vim同时操作多个文件的方式是采用Vim多窗口分割功能。
如果已经打开了Vim,可以在命令行模式下使用 :vsp new_file.txt
来新打开一个垂直分割的窗口,或使用 :sp new_file.txt
命令新打开一个水平分割的窗口。
如果还没有启动Vim进程,可以在命令行下使用 vim-o2 foo.txt new_file.txt
以水平方向分割2个窗口的方式打开 foo.txt 和 newfile.txt 两个文件;也可以使用 vim-O2 foo.txt new_file.txt
以垂直方向分割2个窗口的方式打开 foo.txt 和newfile.txt 文件。
关于Vim启动参数的更多介绍,参考Vim教程网上的文章:《14个Vim启动参数和启动方法详解》。
二、使用Vim文件缓冲区
Vim每打开一个文件就会创建一个对应的Vim文件缓冲区 (Vim file buffer)。Vim支持同时在多个缓冲区进行操作,缓冲区不仅包含了文件的内容,也记录了该文件的编辑状态等配置信息,包括激活、隐藏、上次编辑行数等。
Vim命令行模式下的命令 :ls
和 :buffers
会列出所有被载入到内存中的缓冲区的列表,% 符号指明哪个缓冲区在当前窗口中可见。
通过 :bnext
(缩写形式 :bn
) 和 :bprev
(缩写形式 :bp
)命令可正向或反向遍历列表,Vim组合命令 <Ctrl^>
可以在当前文件和轮换文件间快速切换。
:bfirst
和 :blast
则分别用于跳转到Vim缓冲区列表的开头和结尾对应文件;而 :e new_file.txt
会在一个新的文件缓冲区打开名为 new_file.txt 的文件。
注::b
是一个非常强大的Vim命令,它支持 tab 自动补齐。假设文件 foo.txt 是当前文件缓冲区列表中第两个文件,除了可以使用 :b2
编辑该文件外,还可以使用 :b oo<Tab>
将文件名从 oo 自动补齐为 foo.txt 。感受到 :b
命令的强大了吧!
三、Vim标签页
Vim标签页(Vim 7引入的功能)是可以容纳一系列Vim窗口的容器,可通过Vim帮助命令 h: tabpage 查看官方为Vim标签页的介绍。
Vim命令行命令 :tabs
可以列出所有的标签页和它们包含的窗口,当前窗口用 > 表示,修改过的缓冲区用 + 表示。
Vim命令行模式下,使用命令 :tabnext
(缩写形式 :tabn
) 可以移动到下一个标签页;Vim普通模式下,使用命令 gt
同样可以移动到下一个标签页。
关于Vim标签页切换、Vim标签页移动和标签页退出等命令,可以参考Vim教程网上的文章:《Vim标签页介绍及用标签页将窗口分组》。
四、Vim参数列表args
Vim参数列表记录了在启动时作为参数传递给 Vim 的文件列表,在Vim命令行模式下执行 :args
命令可以打印出当前参数列表的内容,可以用 :next
及 :prev
命令遍历参数列表中的所有文件。
:argdo
命令可以在参数列表args中的每个文件上执行一条 Ex 命令(注意:不能是普通模式的命令)。:argdo
命令结合 :args
指定参数列表可以对任意个文件执行多种操作。
这篇关于【进来听歌】Vim同时操作多个文件的4个实用技巧整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!