vim编辑多个文件
首先介绍一个小知识:
文件和缓冲区的区别:
文件是保存在磁盘上的,而打开的文件的文件是在内存中。
在内存中有一个缓冲区,用来存放打开的文件。
vim 每次打开文件时都会创建一个缓冲区,vim 支持打开多个文件。
当打开多个文件时,可以使用以下命令,可以在多个文件中进行浏览和操作。
:buffers 查看缓冲区列表==ls
:buffer N 根据缓冲区列表的编号跳转到指定缓冲区
:bnext/bprev 遍历缓冲区列表
:bfirst/blast 分别调到缓冲区列表的开头和结尾
:write 将缓冲区的修改保存到磁盘上
:edit! e!放弃缓冲区的修改,恢复到文件打开时的状态
:edit file 编辑另一个文件
:wnext 保存当前缓冲区的修改并跳转到缓冲区列表中的下一个文件
:set autowrite 可以将这个命令保存在vim的配置文件中,保存后在缓冲区的操作会进行自动保存
实际上,在缓冲区进行多文件的操作并不是很方便,想方便的在多文件中操作,可以使用接下来两小节介绍的内容。
标签页与折叠栏
标签页的新建:tabedit file/tab split
标签页的切换: tabn/tabp
按键:gt/gT
标签页的关闭: tabclose 关闭当前的标签页,:tabonly
创建一个折叠
zf200G: 将光标和 200 行之间的代码折叠起来
折叠的打开与关闭
za: 打开和关闭折叠
zr/zm: 一层一层地打开和关闭折叠
zR/zM: 分别打开和关闭所有的折叠
折叠键的光标移动
zj: 跳转到下一个折叠处
zk: 跳转到上一个折叠处
删除折叠
zd: 删除光标下的折叠
zD: 删除光标下的折叠以及嵌套的折叠
zE: 删除所有的折叠标签
创建的折叠当退出 vim 之后就失效了。
多窗口操作
分割窗口
split/vsplit filename
窗口间跳转
ctrl+w hjkl
ctrl+w w
移动窗口
ctrl+w HJKL
调整窗口尺寸
ctrl+w +/- 调整窗口的高度
ctrl+w </> 调整窗口的宽度
ctrl+w = 所有的窗口设置相同的尺寸
:resize n 将当前窗口尺寸调整为 N 行
关闭窗口
close: 关闭一个窗口
qall: 退出所有窗口
qall!: 放弃修改,退出所有窗口
wqall: 保存并退出所有窗口
wall: 保存所有窗口