vim 编辑器

vim 和 vi的区别

1.vi不会高亮显示

2.vim会高亮显示

vim 三种模式

  • 普通模式(命令模式)
# 跳转光标
G:将光标跳转到最后一行(Shift + g)
gg:将光标跳转到第一行
Ngg:将光标跳转到指定行(N代表正整数)
$:将光标跳转到当前所在行的行末
^:将光标跳转到当前所在行的行首(或者按 0)

# 翻页
Ctrl + f :向下翻页
Ctrl + b :向上翻页

# 复制粘贴
yy:复制当前光标所在行的内容
p:将复制的内容粘贴到当前光标所在行的下一行(剪切或者复制的是行)
P:将复制的内容粘贴到当前光标所在行的上一行(剪切或者复制的是行)
#当复制或者剪切的是字符的时候
p:往当前光标所在字符的右边粘贴
P:往当前光标所在字符的左边粘贴

Nyy 或者 yNy:复制多行内容(N代表正整数)

# 删除剪切
dd:剪切
Ndd 或 dNd:剪切多行内容(N代表正整数)
dG:剪切当前光标所在行到文件末尾所有内容
dgg: 剪切当前光标所在行到文件开头所有内容
x:剪切当前光标所在的字符
X:剪切当前光标所在字符的前一个字符
D:(shift + d)删除当前光标,所在字符,之后的内容(行)

# 撤销替换
u:撤销上一步操作
Ctrl + r:恢复刚才的撤销操作
r:替换当前光标所在的字符(只能一个字符替换一个字符,不能替换多个)
R:替换当前光标所在字符和之后的所有内容,直到按ESC取消
  • 编辑模式
# 从普通模式(命令模式)切换到编辑模式
i(insert):在当前光标所在字符之前,插入内容
I(shift + i):将当前光标跳转至行首,然后进入编辑模式,即可插入内容
## 比如说,我们想注释多行内容
1、首先将光标移动到,你要注释的行的第一行。
2、按Ctrl + v,进入到 可视 块
3、按Shift + i
4、输入井号 # 
5、按ESC



o:往当前光标所在行的下一行插入内容
O(shift + o):往当前光标所在行的上一行插入内容

s:删除当前光标所在的字符,并且进入编辑模式
S(shift + s):删除当前光标所在行内容,并且进入编辑模式

a:在当前光标所在字符之后,进入编辑模式,插入内容
A(shift + a):在当前光标所在行末尾,进入编辑模式,插入内容

#从编辑模式 切换回 命令模式  按 `ESC`
  • 末行模式
# 编辑模式 无法直接切换到末行模式
# 普通模式 才能直接切换到末行模式
# 使用 冒号, 从普通模式切换到末行模式
:N   切换后,直接输入  N (正整数) 会跳转到指定行
:wq  保存退出(写入并且退出)
write quit 
:w   保存不退出
:q   退出不保存
:wq!
:q!
:w!
!: 强制执行
:x 保存退出
ZZ(shift + zz):保存退出


:set nu   显示文件行号
:set nonu 取消显示文件行号
:set ic   忽略大小写
:set noic 取消忽略大小写
:set ai   自动缩进
:set noai 取消自动缩进
:set list 显示制表符,tab..
:set nolist 取消显示制表符


:%s#binkp#zls#g

:%s#binkp#zls#gc

%:全文替换
1,10  1-10行替换

s:替换
g:匹配的所有
c:提示询问
	替换为 tcpmux (y/n/a/q/l/^E/^Y)?
	y:替换一次
	n:选中下一个
	a:全部替换
	q:退出
	l:退出并询问