++++++++++++++++++++
更新于2019-11-14
vim官方手册, 很多小技巧
++++++++++++++++++++
以下编写于2017年
一般系统都会带有vim与vi的作用功能相同,不同之处是vim对于关键字和参数都会添加颜色标示。
vi有三种模式,命令模式、输入模式、末行模式
一、命令模式:实现控制功能,如:移动光标、复制、粘贴、剪切、删除等等。
二、输入模式:编辑内容。
三、末行模式:保持文本、退出、字符串替换、列出行号等功能。
vi一个不存在的文件之后可以直接编辑文件,但是必须保持。该文件才会保持下来,否则退出之后文件不存在。
一、命令模式
1、光标移到操作:
h、j、k、l
分别将光标向左、下、上、右移到
k
h
l
j
num+[h|j|k|l]
表示向对应的方向移到num个字符/行数
num+enter
表示到num行之后
:+num+enter
表示到第num行
H
将光标定位到当前页面的首行首个字符
L
将光标定位到到期页面的末行首个字符
gg
跳到文本首行首个字母
G
跳到文本末行首个字母
0
将光标定位到行首
E/$
将光标定位到行末
e
将光标移到下一个单词尾部
b
将关标移到上一个单词首部
w
将光标移到下一个单词首部
B
将光标移到上一个空格之前
W
将光标移到下一个空格之后
ctrl+f
向下翻页
ctrl+b
向上翻页
(
移到上一个句子行首(句子区分方式:符号+空格|换行)
)
移到下一个句子行首(句子区分方式:符号+空格|换行)
{
移到到上一个空白行
}
移动到下一个空白行
2、复制选中操作
yy
复制光标所在行
num+yy
复制光标所在行起的num行
p
在光标所在行后粘贴复制板内容
P
在光标所在行前粘贴复制板内容
v
开启横向选中模式,并以光标所在地为复制开始点。然后结合光标移到操作,选中跟多内容。(再次按将退出选中)
V
开启横向选中模式,并复制当前光标所在行。然后结合光标移到操作,选中跟多内容。(再次按将退出行选中,第三次按将退出选中模式)
ctrl+v
进入纵向选中,并以光标所在地为复制开始点。然后结合光标移到操作,选中跟多内容。(再次按将退出选中)
3、删除操作
d+[num]+[h|l]
h代表向前删除num个字符,l代表向后删除num个字符
d+[num]+[j|k]
j代表向下删除num行,k代表向上删除num行
dd
删除光标所在行
D
删除光标所在行中光标后的所有字符
num+dd
删除光标起num行
x
删除光标所在字符
4、进入输入模式方法:
O
在光标所在行的前一行输入
o
在光标所在行的后一行输入
i
在光标前位置输入
I
在行首输入
a
在光标后输入
A
在行尾输入
s
删除光标所在字符,然后进入输入
S
删除光标所在行(行保留为空白行),然后输入
5、撤销操作:
u
撤销上一步操作,可以撤销到最初始修改时
二、末行模式
:+command
执行命令
/+字符
向下查找字符
?+字符
向上查找字符
:q
退出不保存
:q!
强制退出不保存
:wq
写保存
:wq!
强制写保存
:x
写保存
:x!
强制写保存
command举例
:cd dir
到dir目录去(子shell)
:sp
纵向分屏显示 使用ctrl+w 然后加方向键控制移动到相应屏幕
:vsp
横向分屏显示 使用ctrl+w 然后加方向键控制移动到相应屏幕
:vsp/sp +filename
分屏打开filename
:s/1/2/
只将第一个匹配到的1替换为2
:s/1/2/g
把当前行中所有的1都换为2
:1,5s/1/2/g
把1到5行的所有的1都换为2
:%s/1/2/g
把文本中的所有1都换为2