1. vim的简介与三种模式
1.1 vim的简介
vim是Linux/UNIX系列OS中通用的编辑器
1.2 vim 的三种模式
vim分为三种模式:命令模式 编辑模式 可视模式
1)命令模式下,所键入的字符系统均作命令来处理,如:q代表退出
2)编辑模式则是用来编辑文本的
3)可视模式可以用来选中一段内容进行相应的操作
1.3 vim 三种模式的切换
当你进入vim时,会首先进入命令模式,在任何模式下输入ESC(ctrl+c)都会回到命令模式。

在命令模式下我们可以通过输入不同的命令来进行我们的下一步操作,例如 我们需要对文本进行编辑可以输入a A i I等命令进入编辑模式进行文档编辑,编辑完成后按ESC(ctrl+c)返回命令模式,需要保存之前的输入可按:wq 后退出vim
2. vim中基础且常用操作
2.1 命令模式常用操作
1)命令模式切换到编辑模式,常用命令
a 从光标后面开始添加文本(表示新增 append)
A 从光标所在行的末尾开始添加文本
i 从光标前面开始插入文本(表示插入 insert)
I 从光标所在行的开始处插入文本
o 从光标所在行的下一行插入文本
O 从光标所在行的上一行插入文本
2)命令模式下的删除与修改
x 删除光标处的字符
dd 删除光标所在的整行
3dd 删除光标所在行以及下面的两行(删除3行)
D或d$ 删除光标到行尾的文本,常用语删除注释语句 (等价于d$)
d^ 删除光标到行首的文本
dw 删除一个字
d3w 删除三个字
yy 复制光标所在的整行
[n]yy 从光标开始往下复制n行,[n]表示一个整数
p 将复制后的文本粘贴到光标处
u 撤销上次操作
r 替换单个字符
R 进入替换模式,直至 ESC 离开
3)命令模式下的光标移动
h 光标向左移一位
j 光标向上移一位
k 光标向下移一位
l 光标向右移一位
^ 光标移动到行首
$ 光标移动到行尾
ctrl+d 向下翻半页(down)
ctrl+f 向下翻一页(forward)
ctrl+u 向上翻半页(up)
ctrl+b 向上翻一页(backward)
gg 光标定位到文档头
G 光标定位到文档尾
H 光标定位到当前页首(head)
L 光标定位到当前页的最后一行的行首(lastline)
w 光标往后移一个字 (word
b 光标往前移一个字 (block)
[n]+ 光标向后移动n行,[n]表示一个整数 10+
[n]- 光标向前移动n行,[n]表示一个整数 10-
[n]G 光标定位到第n行行首, [n]表示一个整数 20G
4)命令模式下的查找与替换
/[str] 查找字符串str,从光标处向文件尾搜索
?[str] 查找字符串str,从光标处向文件头搜索
回车后会加亮显示所有找到的字符串,接着输入n移动到下一个找到的字符串,输入N移动到上一个找到的字符串
:s/[src]/[dst]/[i忽略大小写][g处理本行中所有的匹配项] 用dst替换字符串src
:s/hello/world/ig 替换一行
:x,y s/[src]/[dst]/ig(x-y行中找)
:3,6 s/hello/world 将3-6行里面,找到第一个hello替换为world
:%s/[src]/[dst]/g 将文档中所有src的字符串替换为dst字符串
:%s/^ //g 将文档每一行的行首的空格去掉
:%s/^\t//g 将文档每一行的行首的制表符去掉
5)命令模式下的文档保存及退出
:q 在未修改文档的情况下退出
:q! 放弃文档的修改,强行退出
:w 文档存盘
:wq 强制性写入文件并退出(存盘并退出 write and quite)。即使文件没有被修改也强制写入,并更新文件的修改时间
2.2 可视模式常用操作
从命令模式输入 v 进入横向可视模式 ,ctrl+v 进入竖向可视模式
进入可视模式以后,可以使用光标移动指令来移动光标,并且会选中区域
1)批量注释代码
首先按ctrl+v,竖选选中要注释的行
操作步骤如下:
输入I(注意是大写的I,表示在选中区域的前方),然后输入// 再按下ESC,就会看到选中的行被注释了
2)批量删除文本
按v或者ctrl+v,进入可视模式,移动方向键选中要删除的的文本,然后按d即可删除
2.3 vim里其他常用且好用的操作
1)光标定位
执行 vim +3 main.c 表示定位到main.c的第3行
执行 vim +/printf main.c 表示定位到第一个printf处
2)多窗口
:new 2.c 再打开一个vim,是横向的
:vnew 2.c 再打开一个vim,是纵向的
也可以通过:split,vsplit,sp,vsp
ctrl+w,w(连续按两次w) 两个窗口之间进行切换的方式
3)多标签
:tabnew 文件名 再打开一个vim标签
gt 切换到下个标签
gT 切换到上个标签
4)格式对齐与变色
使用 = 可以进行代码对齐
gg=G 对齐全文件
gg=10gg 对齐第一行到第十行
在可视模式选中代码块,再按下=也能对齐代码块
控制模式下输入:colorscheme 后按Tab键联想选择自己喜欢的颜色
5)对比文件差异
vimdiff file1 file2 …
vim -d file1 file2 …
3. vim进阶-配置文件与插件介绍
3.1 配置文件介绍与基本常用的配置
.vimrc里面存放了vim的配置文件。rc是running command的意思,每次启动vim的时候,都会读取.vimrc里面的命令然后执行
配置文件有两种,一种全局的配置文件,对所有用户生效,放置在/etc目录下。而本用户的配置文件就放置在用户的家目录下
常用的配置如下:
set nu “设置行号 set number
set hlsearch “高亮所有查找结果
syntax on “语法高亮
set showmode “显示当前模式
set showcmd “显示输入的命令
set cursorline “光标所在行添加横线显示
set shiftwidth=4 “设置每次缩进的宽度
set cindent “C语言缩进规则
set fileencodings=utf-8,gb18030,gbk,gb2312
filetype indent on “文件类型检查
3.2 使用插件使你的vim更加强大
原生的vim用来查看文档编辑简单的的文档代码时基本够用,但真正的开发环境,需要查看多个源文件及用来进行大段代码开发任务时会显得有点不足,不如使用idea看起来强大,那有没有东西能使我们的vim 变编的比idea更加强大且顺手嗯?答案是当然有,方案就是插件,在vim 的配置文件中我们可以根据自己不同的需求找到不同的插件来满足自己的需求,当然一些大佬可以根据自己独特的需求自己给自己写自己想要功能的插件。在此我建议新同学先搞懂插件怎么配置,以及有哪些现有的且公认的好用的插件拿来能使用明白就行。
在此就不讲配置和使用了,有兴趣的同学可以下去探索。下面我就展示一下插件到底能用来干什么
- 一键变化vim颜色
- 一键生成基本的注释和代码模板
- 编码时的代码联想功能
- vim中显示树形目录
- 函数声明与实现的跳转
- 显示git的相关信息
在此介绍一款可以一键配置的一个开源的vim配置和插件相关软件vimplus ,大家可以拿来即用,后面可以参考这个上面的配置文件和插件来学习一下,链接https://github.com/chxuan/vimplus
