vim是vi发展而来的文本编辑器,在vi的基础上支持代码补全、编辑及错误跳转 等方便编程的功能特别丰富,被称为编辑器之神。
核心思想--让程序猿的手指始终保持在键盘的核心区域,就能完成所有的编辑操作
1.打开文本
# vi 文件名
vi 01.py
2.打开文本直接跳转到指定行数
# vi 文件名 +行数
vi 01.py +16
3.打开文本直接跳转到文本末尾行
# vi 文件名 +
vi 01.py +
4.新建文本
# vi 要新建的文件名
vi 02.py
5不保存退出文本
esc
:q
6.保存退出文本
# 退出编辑模式
# 方法一
shift+zz
# 方法二
:x
7.复制行数
# 退出编辑模式
# 光标移动到指定要复制的行前
# yy+要复制数量的数字+p
# 复制19行
yy19p
8.撤回编辑(undo)
# 退出编辑模式
U
9.恢复撤回 (redo)
# 退出编辑模式
ctrl+r
10.异常处理:选择“删除交换文件(D)”
三种工作模式
: 末行模式命令
# write 保存
:w
# quit 退出,如果没有保存,不允许退出
:q
# quit 强行退出,不保存
:q!
# write & quit 保存并退出
:wq
# 保存并退出
:x
vim常用命令
命令模式
11.行内移动
# 向后移动一个单词
w
# 向前移动一个单词
b
# 行首
0
# 行首,第一个不是空白字符的位置
^
# 行尾
$
12.行数移动
# 到文件顶部
gg
# 到文件末尾
G
# 移动到数字对于的函数
# 数字gg
16gg
# 数字G
16G
# :数字
:16
13.屏幕移动
# 向上翻页
Ctrl+b
# 向下翻页
Ctrl+f
# 屏幕顶部
H
# 屏幕中间
M
# 屏幕底部
L
14.段落移动
# 上一段
{
# 下一段
}
15.成对的括号切换
# 括号匹配及切换
%
16.标记
# 添加标记x,x是a-z或者A-Z直接的任意一个字母
mx
# 直接定位到标记x所在位置
'x
17.选中文本(可视模式)
# 可视模式 从光标位置开始安装正常模式选择文本
v
# 可视行模式 选中光标经过的完整行
V
# 可视块模式 水质方向选中文本
Ctrl+v
18.删除文本
# 删除光标所在字符,或者选中文字
x
# 删除移动命令对应的内容
d(移动命令)
# 删除光标所在行,可以ndd复制多行
dd
# 删除至行尾
D
19.删除和移动命令连用
# 从光标位置删除到单词末尾
dw
# 从光标位置删除到一行的起始位置
d0
# 从光标位置删除到段落结尾
d}
# 从光标位置向下连续删除n行
ndd
# 从光标所在行删除到指定代码行 直接的之间的所有代码
d代码行G
# 从光标所在行删除到编辑a之间的所有代码
d'a
20.复制、粘贴
# 复制
y(移动命令)
# 复制一行,可以nyy复制多行
yy(N代表数字)p
# 粘贴
p
替换
# 替换当前字母
r
# 替换当前行光标后的字符
R
21.缩进(进入可视行模式操作)
# 增加缩进
>>
# 减少缩进
<<
22.重复执行
# 重复上传命令
.
23.查找
# 查找 str
/str
# 查找下一个
n
# 查找上一个
N
24.替换
# 全局替换
:%s/旧文本/新文本/g
# 可视区域替换
:s/旧文本/新文本/g
# 确认替换(推荐)
# y 替换
# n 不替换
# a 替换所有
# q 退出替换
# l 最后一个,并且吧光标移动到行首
# ^E 向下滚屏
# ^Y 向上滚屏
:%s/旧文本/新文本/gc
25.插入命令
# 在当前字符前插入文本
i
# 在当前字符后插入文本
a
# 在行首插入文本
I
# 在行尾插入文本
A
# 在当前行后面插入一空行
o
# 在当前行前面插入一空行
O
26.重复字符**********
# 输入
10
# 输入
i
# 输入
*
# 输入
ESC
27.注释代码
# 在命令模式下
# 输入
ctrl+v
# 输入(向下选择代码块)
J
# 输入(进入编辑模式,并在行首插入,主要一定要使用I)
I
# 输入(输入’#‘)
#
# 按下ESC
esc
28.末行命令扩展
# 会打开内置的文件浏览器,浏览要当前目录下的文件
:e .
# 新建文件
# :n 文件名
:n 05.py
# 另存为,但是仍然编辑当前文件,并不会切换文件
# :w 文件名
:w 05.py
29.分屏命令
# 横向分屏
# :sp 文件名
:sp 05.py
# 竖向分屏
# :vsp 文件名
:vsp 06.py
# 切换分屏窗口
# w 切换到下一个窗口
# r 互换窗口
# c 光标当前窗口,但不能关闭最后一个窗口
# q 退出当前窗口,如果是最后一个窗口,则关闭vi
# o 关闭其他窗口
Ctrl+w