vim 多文件操作 先介绍多文件操作的相关概念(Buffer,Window,Tab)
Buffer是指打开一个文件的内存缓冲区
窗口是Buffer可视化的分割区域
Tab 可以组织窗口为一个工作区
Buffer-什么是缓冲区:
vim打开一个文件后会加载文件内容到缓冲区
之后的修改都是针对内存中的缓冲区,并不会直接保存到文件
直到我们执行:w (write) 的时候才会把修改内容写入到文件里
如何在一个vim编辑的文件中使用vim打开别的文件 命令模式下e a.txt Buffer切换 buffer之间如何进行切换
使用 :ls 会列举当前缓冲区,然后使用 :b n 跳转到第n个缓冲区
:bpre :bnext :first :blast
或者用:b buffer_name 加上tab 补全来跳转
Window窗口 窗口是可视化分割区域
一个缓冲区可以分割成多个窗口,每个窗口也可以打开不同的缓冲区
ctrl+w +s 水平分割 ctrl +w +v 垂直分割。或者:sp 和 :vs
每个窗口可以继续无限分割(看你屏幕是否够大)
如何切换窗口 切换窗口的命令都是使用ctrl+w(window) 作为前缀
| 命令 | 用途 |
|---|---|
| ctrl+w +w | 在窗口间来回切换 |
| ctrl+w +h | 切换到左边的窗口 |
| ctrl+w +j | 切换到右边的窗口 |
| ctrl+w +k | 切换到上面的窗口 |
| ctrl+w +l | 切换到右边的窗口 |
重排窗口
重排窗口可以改变窗口的大小 :h window-resize 查看文档
| 命令 | 用途 | |
|---|---|---|
| ctrl+w += | 使所有窗口等宽等高 | |
| ctrl+w +_ | 最大化活动窗口的高度 | |
| ctrl+w + | 最大化活动窗口的高度 | |
| [N] ctrl+w +_ 把活动窗口的高度设置为[N]行 | ||
| [N] ctrl+w + | 把活动窗口的高度设置为[N]行 |
Tab标签将窗口分组 Tab是可以容纳一系列窗口的容器(:h tabpage)
Vim的Tab和其他的编辑器不一样,可以想象成Linux的虚拟桌面
比如一个Tab全用来编辑Python文件,一个Tab全是HTML文件
相比于窗口,Tab一般用的比较少,Tab太多管理起来比较麻烦
Tab(标签页)操作 Tab使用不多,简单了解一些常用的操作就好
| 命令 | 用途 |
|---|---|
| :tabe [dit] {filename} | 在新标签中打开{filename} |
| ctrl + w +T | 把当前窗口移动到一个新标签页 |
| :tabc[lose] | 关闭当前标签及其中的所有窗口 |
| :tabo[nly] | 只保留活动标签页,关闭所有其他标签页 |
Tab标签页切换操作 在同一个标签中打开多个文件 在一个vim打开的文件中执行命令:sp 新文件 或者 :vs 新文件 如何打开一个文件在一个新的标签中 :tabnew 新文件 如何切换不同的标签页,一般建立两个就好,太多不好操作
| Ex命令 | 普通模式命令 | 用途 |
|---|---|---|
| :tabn[ext] {N} | {N}gt | 切换到编号为{N}的标签页 |
| :tabn[ext] | gt | 切换到下一个标签页 |
| :tabp[revious] | gT | 切换到上一标签页 |