01基本使用
1.启动vim
| 说明 | 命令行 | 备注 |
|---|---|---|
| 打开文件 | vim <filename 1> <filename 2> ... | |
| 水平打开文件 | vim -o <filename 1><filename 2> ... | |
| 垂直打开文件 | vim -O <filename 1><filename 2> ... | |
| 末行行首 | vim +<filename> | 光标位置 |
| 指定行号 | vim +<number><filename> | 光标位置 |
| 指定关键词 | vim +/<keyword><filename> | n或N切换 |
2.文件切换操作
| 说明 | 操作 | 示例 |
|---|---|---|
| 多个文件切换 | :bn下一个文件; :bp上一个文件 | :bn下一个文件 |
| 查看已打开的文件列表(buffer文件l) | :ls(或:files);或:buffers | :buffers |
| 正在编辑文件名 | :f(或:file) | :file |
| 切换文件 | :n <filename> | :n log切换到log文件 |
| 切换buffer文件 | :b <id> | :b 1 切换buffer id 1文件 |
| 关闭当前文件缓存 | :bd | :bd 关闭当前缓存文件 |
| 关闭文件缓存 | :b<id> | :b 2 清除buffer id 为2的文件的缓存 |
| 打开文件 | :e <filename> | :e log 打开log文件 |
| 清空buffer | :bufdo bd | |
| 清空指定范围的buffer | :<startNum>,<endNum>bd |
3.分屏操作
| 效果 | 命令行 | 备注 |
|---|---|---|
| 水平分割屏幕 | :split <filename>;或:sp <filename> | 并在另一窗口打开另一文件 |
| 垂直分割屏幕 | :vsplit <filename>;或:vsp <filename> | 同上 |
| 切换窗口 | ctr+ww;或ctr+w/k/j/h/l(上下左右) | 切换的方向是由上到下由左到右 |
| 窗口水平调整 | :<num>winc+;或:<num>winc- 放大或缩小 | 放大的窗口的方向相对屏幕边 |
| 窗口垂直调整 | :<num>winc>;或:<num>winc< 放大或缩小 | 放大的窗口的方向相对屏幕边 |
| 窗口垂直调整 | :<num>winc>;或:<num>winc< 放大或缩小 | 放大的窗口的方向相对屏幕边 |
| 新建空白窗口 | < C+w+n > | :w <newFilename保存新文件 |
| 水平窗口 | < C+w+s > | 当前文件水平打开 |
| 垂直窗口 | < C+w+v > | 当前文件垂直打开 |
| 关闭当前窗口 | < C+w+c > | |
| 关闭其它窗口 | < C+w+o > | |
| 向上轮换窗口 | < C+w+R > | |
| 向下轮换窗口 | < C+w+r > | |
| 窗口等宽 | < C+w+= > | |
| 窗口最小化 | < C+w+1_> | |
| 窗口最大化 | < C+w+_ > | |
| 窗口向右最小化 | < C+w+| > | |
| 窗口向左最小化 | < C+w+1| > | |
| 新窗口打开一个buffer文件 | < C+w+^ > | |
| 移动窗口 | < C+w+r > | |
| 2个窗口互换 | < C+w+x > | |
| 2个横屏变竖屏 | < C+w+H > | |
| 2个竖屏变横屏 | < C+w+K > |
4.宏操作
4.1 录制宏并使用
- 第一步:在正常模式下(非insert模式、非visual模式)按下q键盘
- 第二步:选择a-z或0-9中任意一个作为缓冲器的名字,准备开始录制宏
- 第三步:正常的操作,此次所有的操作都会被记录在上一步中定义的缓冲器中
- 第四步:在非insert模式下输入q停止宏的录制
- 第五步:使用@ + 第二步中定义的缓冲器的名字即可。
4.2 录制查找修改宏
- recording还可以和查询结合起来使用,例如想把一个文件中含有特定字符串的行注释,可以通过这样的宏来实现。在正常模式下输入/search string + enter、shift + ^、i、#、esc、shift + $。 让定制的宏自动执行多次的方法是先输入一个数字,然后在输入@ + 缓冲器的名字。 例如 100@t,表示执行100次
4.3 修改宏
- 当你发现存在某个寄存器的命令宏是错误的,你除了可以重新写一遍命令宏之外,还有如下修改方式: 1、先用G(大写)到文件末尾,然后用o(小写)新加一行,不要编辑,用ESC退出到普通模式,其实就是为编辑宏找了个地方。(或用 new 开一个新窗口) 2、使用命令 "tp会看到寄存器 t 中的命令宏像文本一样出现在这一行,然后编辑这一行。编辑的时候与vim编辑其他的文件一样。编辑结束后用0(零)回到行首。 3、然后用 "ty$ 将正确内容写到寄存器a中,最后删除这一行即可。 4、当你需要向命令宏寄存器中增加内容时,可以用命令 qA 来向 t 寄存器增加内容,之后输入你想增加的内容,再使用q结束。
5 文件对比
5.1 说明
同linux下的diff工具命令行一样,vim叫vimdiff。用于文件的对比和修改合并。
5.2 基本操作
| 说明 | 操作 |
|---|---|
| 打开对比文件 | :vimdiff <filename1> <filename2>或vim -d <filename1> <filename2 > |
| vim中打开对比文件 | :vertical diffsplit <filename> |
| 下一个差异或指定 | ]c或num]c |
| 上一个差异或指定 | [c或num[c |
| 当前差异推送 | dp |
| 当前差异接收 | do |
| 刷新文件差异 | :diffupdate |
注:set noscrollbind设置屏幕禁止同步滚动。
6 文件批量操作
6.1 批量打开文件
| 说明 | 操作 |
|---|---|
| 打开当前节点文件 | :args * |
7 跳转
| 说明 | 操作 |
|---|---|
| 跳到当前页变量声明处 | gd |
8 tab 标签
| 说明 | 操作 |
|---|---|
调换tab 窗口的顺序 | :tabmove <number> 当前窗口的要排的位置,0开始 |
9 安装
9.1 centos 7 安装vim8.x
rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm
rpm --import http://mirror.ghettoforge.org/distributions/gf/RPM-GPG-KEY-gf.el7
yum -y remove vim-minimal vim-common vim-enhanced
yum -y --enablerepo=gf-plus install vim-enhanced sudo
10 寄存器
10.1 复制到系统的剪贴板
把内容复制到系统的剪贴板, 用的是*寄存器,如leader-*