2.vim是什么? 3.3种工作模式 4.常用命令 4.1移动(基本) 4.2移动(程序员常用) 4.3选中文本(可视模式) 4.4撤销和恢复 4.5删除文本 4.6复制和粘贴 4.7替换 4.8缩排和重复执行 4.9查找 4.10查找并替换 4.11插入命令 5.分屏命令 5.1命令行模式扩展 5.2分屏命令 —————————————————————— 说明:本文是B站上一个vim教程的总结笔记,感谢原作者的分享。
https://www.bilibili.com/video/av15332842?from=search&seid=11250708130719137055 —————————————————————–
2.vim是什么?
Vim——编辑器之神
Vim的核心设计思想:让手指始终保持在键盘的核心区域,就能完成所有编辑操作
3.3种工作模式
1.命令模式:定位、翻页、复制、粘贴、删除
2.编辑模式
3.命令行模式
命令 | 英文 | 功能 |
---|---|---|
w | write | 保存 |
q | quit | 退出,如果没有保存,不允许退出 |
q! | quit | 强制退出,不保存退出 |
wq | write & quit | 保存并退出 |
x | 保存并退出 |
4.常用命令
路线图
1.重复次数
在命令模式下,先输入一个数字,在跟上一个命令,可以让命令重复执行指定次数
2.移动和选择
1)vim之所以快,关键在于能够快速定位到要编辑的命令行
2)移动命令能够和编辑操作 组合使用
3.编辑命令
删除、复制、粘贴、替换、缩排
4.撤销和重复
5.查找替换
6.编辑
4.1移动(基本)
熟练使用vim,首先应䧥怎么在命令模式下快速移动光标
编辑操作命令能够和移动命令一起使用
1)上下左右
hjkl
2)行内移动
命令 | 英文 | 功能 |
---|---|---|
w | word | 向后移动一个单词 |
b | back | 向前移动一个单词 |
0 | 行首 | |
^ | 行首,第一个不是空白字符的位置 | |
$ | 行尾 |
3)行数移动
命令 | 英文 | 功能 |
---|---|---|
gg | go | 文件顶部 |
G | go | 文件末尾 |
数字gg | 移动到数字对应行数 | |
数字G | 移动到数字对应行数 | |
:数字 | 移动到数字对应行数 |
4)屏幕移动
命令 | 英文 | 功能 |
---|---|---|
Ctrl + b | back | 向上翻页 |
Ctrl + f | forward | 向下翻页 |
H | head | 屏幕顶部 |
M | middle | 屏幕中间 |
L | low | 屏幕底部 |
4.2移动(程序员常用)
1)段落移动
命令 | 功能 |
---|---|
{ | 上一段 |
} | 下一段 |
注:vim中使用空行来区分段落
2)括号切换
命令 | 功能 |
---|---|
% | 括号匹配及切换 |
3)标记
命令 | 英文 | 功能 |
---|---|---|
mx | mark | 添加标记x,x是a-x或者A-Z之间的任意一个字符 |
‘x (‘是单引号) | 直接定位到标记x所在位置 |
主:添加了标记的行被删除,标记同时被删除;添加相同标记后,之前的标记会被替换掉
4.3选中文本(可视模式)
命令 | 模式 | 功能 |
---|---|---|
v | 可视模式 | 从光标位置开始按正常模式选择文本 |
V | 可视行模式 | 选中光标经过的完整行 |
Ctrl + v | 可视块模式 | 垂直方向选中文本 |
注:可视模式下,可以和移动命令连用,如:ggVG能够选中所有内容
4.4撤销和恢复
命令 | 英文 | 功能 |
---|---|---|
u | undo | 撤销上次命令 |
Ctrl + r | redo | 恢复撤销的命令 |
4.5删除文本
命令 | 英文 | 功能 |
---|---|---|
x | cut | 删除光标所在字符 |
d(移动命令) | delete | 删除移动命令对应的内容 |
dd | delete | 删除光标所在行,可以ndd剪切多行 |
D | delete | 删除至行尾 |
删除命令可以和移动命令连用,以下是常见的组合命令
dw,d0,d},ndd,d代码行G,d’a
4.6复制和粘贴
命令 | 英文 | 功能 |
---|---|---|
y(移动命令) | copy | 复制 |
yy | copy | 复制一行,nyy复制多行 |
p | paste | 粘贴 |
4.7替换
命令 | 英文 | 功能 | 模式 |
---|---|---|---|
r | replace | 替换当前字符 | 命令模式 |
R | replace | 替换当前行光标后的字符 | 替换模式 |
R可以进入替换模式,替换完成后,ESC回到命令模式
4.8缩排和重复执行
命令 | 功能 |
---|---|
>> | 向右添加缩进(添加4个空格) |
<< | 向左减少缩进(减少4个空格) |
. | 重复上次命令 |
可视模式下,缩进命令只需要使用>或<
4.9查找
常规查找
命令 | 功能 |
---|---|
/str | 查找str |
n:查找下一个
N:查找上一个
单词快速匹配(光标所在位置为一个单词)
命令 | 功能 |
---|---|
* | 向前查找当前光标所在单词 |
# | 向后查找当前光标所在单词 |
在开发中,通过单词快速匹配,可以快速看到这个单词在其他什么位置使用过
4.10查找并替换
命令格式为(:%s ///g)
1)全局替换
:%s /old/new/g
2)可视区域替换
- 先使用可视模式选中替换文字的范围
- :s /old/new/g
3)确认替换
:%s /old/new/gc
4.11插入命令
命令 | 英文 | 功能 |
---|---|---|
i | insert | 在当前字符前插入 |
I | insert | 在当前行头插入 |
a | append | 在当前字符后追加 |
A | append | 在当前行尾追加 |
o | open a new line | 在当前行下插入空行 |
O | open a new line | 在当前行上插入空行 |
演练1:编辑命令和数字的连用
如何快速连续输入N个字符?
比如:******************(10个*)
1)输入10,表示重复10次
2)i进入编辑模式
3)输入*,也就是重复的文字
4)ESC回到普通模式,然后vim会将2,3步重复10次。
5.分屏命令
5.1命令行模式扩展
命令 | 英文 | 功能 |
---|---|---|
:e . | edit | 会打开内置的文件浏览器,浏览当前目录下的文件 |
:n | new | 新建文件 |
:w | write | 另存为,仍然编辑当前文件,并不会切换文件 |
5.2分屏命令
命令 | 英文 | 功能 |
---|---|---|
:sp [文件名] | split | 横向增加分屏 |
:vsp [文件名] | vertical split | 纵向增加分屏 |
1)切换分屏窗口
分屏命令都是基于CTRL + W这个快捷键的,W即Window。
然后再按下面命令
命令 | 英文 | 功能 |
---|---|---|
w | window | 切换到下一个窗口 |
r | reverse | 互换窗口 |
c | close | 关闭当前窗口,但是不能关闭最后一个窗口 |
q | quit | 退出当前窗口,如果是最后一个窗口,则关闭vim |
o | other | 关闭其他窗口 |