Vim中有很多种补全的方式
命令 补全类型<C-n> 普通关键字
<C-x><C-n> 当前缓冲区关键字
<C-x><C-i> 包含文件关键字
<C-x><C-]> 标签文件关键字
<C-x><C-k> 字典查找
<C-x><C-l> 整行补全
<C-x><C-f> 文件名补全
<C-x><C-o> 全能(Omni)补全
常见的三种补全类型
记不住不用担心,根据笔者经验,最常用的就三种
使用ctrl+n和ctrl+p补全单词
使用ctrl+x和ctrl+f补全文件名
使用ctrl+x和ctrl+o补全代码,需要开启文件类型检查,安装插件
vim多文件操作 Buffer Window Tab我们先来介绍几个多文件操作相关的概念
Buffer是指打开的一个文件的内存缓冲区
窗口是Buffer可视化的分割区域
Tab可以组织窗口为一个工作区
Vim 打开一个文件后会加载文件内容到缓冲区
之后的修改都是针对内存中的缓冲区,并不会直接保存到文件
直到我们执行:w (write)的时候才会把修改内容写入到文件里
Buffer切换那如何在buffer之间切换呢?
使用:ls会列举当前缓冲区,然后使用:b n跳转到第n个缓冲区
:bpre、:bnext、:bfirst、:blast
或者用:b buffer_name加上tab补全来跳转
Window窗口窗口是可视化的分割区域
一个缓冲区可以分割成多个窗口,每个窗口也可以打开不同缓冲区
<Ctrl+w>s 水平分割,<Ctrl+w>v 垂直分割。或者:sp和:vs
每个窗口可以继续被无限分 割(看你屏幕是否够大)
分割窗口示例窗口分割效果
切换窗口的命令都是使用Ctrl+w(window)作为前缀
命令 用途<C-w>w 在窗口间循环切换
<C-w>h 切换到左边的窗口
<C-w>j 切换到下边的窗口
<C-w>k 切换到上边的窗口
<C-w>l 切换到右边的窗口
如何重排窗口?
重排窗口可以改变窗口的大小:h window-resize查看文档
命令 用途<C-w>= 使所有窗口等宽、等高
<C-w>_ 最大化活动窗口的高度
<C-w>| 最大化活动窗口的宽度
[N]<C-w>_ 把活动窗口的高度设为[N]行
[N]<C-w>| 把活动窗口的宽度设为[N]列
Tab(标签页)将窗口分组
Tab是可以容纳-系列窗口的容器(:h tabpage)
Vim的Tab和其他编辑器不太一样,可以想象成Linux的虚拟桌面
比如一个Tab全用来编辑Python文件, 一个Tab全是HTML文件
相比窗口, Tab一般用的比较少, Tab太多管理起来也比较麻烦
Tab(标签页)操作