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-*