Skip to main content

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>nN切换

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+&#124; >
窗口向左最小化< C+w+1&#124; >
新窗口打开一个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>
下一个差异或指定]cnum]c
上一个差异或指定[cnum[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-*