vim 快速跳到文件末尾 在最后一行下方新增一行
移到末尾,并且进入文本录入模式 GA
在一般模式(刚进入的模式,esc模式)
先 G
或 shift+g
到最后一行
然后 A
或 shift+a
到本行末尾 并且进入文本录入模式
在最后一行下方新增一行 (光标换行,文字不换行) GO
在一般模式(刚进入的模式,esc模式)
先 G
或 shift+g
到最后一行
然后 小写o
在该行下方新增一行
vi的多种工作模式
- 一般模式,刚进入vi的模式, esc模式,我觉得可叫快捷键模式(按键模式), 按esc的模式
- 文本输入模式(
a
,A
,i
,I
,o
,O
,s
,S
,C
进入插入模式R
进入覆盖模式) - 底部命令行模式(冒号
:
开头,/
开头,?
开头) - 连续字符串选择可视模式(
v
) - 块选择可是模式(
ctrl+v
)
移到末尾,并且进入文本录入模式
在一般模式(刚进入的模式,esc模式)
先 G
或 shift+g
到最后一行
然后 A
或 shift+a
到本行末尾 并且进入文本录入模式
在最后一行下方新增一行 (光标换行,文字不换行)
在一般模式(刚进入的模式,esc模式)
先 G
或 shift+g
到最后一行
然后 小写o
在该行下方新增一行
扩展知识
光标快速移动
首行尾行
到最后行是在 esc模式下 键盘大写时按G
键 或 小写时按shift+g
键
到第一行是按两次小写g gg
或者 输入:0
或:1
gg
或:0
或:1
--------首行G
----------------------尾行
888G
或888gg
或:888
到第888行或尾行
H
屏首 M
屏中 L
屏尾
行首行尾
A
或shift+a
移动到行尾,并进入文本录入模式$
移动到行末尾0
移动到行首 (零)^
移动到本行第一个字符
新增行, 并进入文字录入模式
- 在当前行下方新增一行并进入编辑模式, 用
o
小写 - 在当前行上方新增一行并进入编辑模式, 用
O
大写
复制剪切粘贴
复制
3yh
或y3h
光标前三字符 3yl
或y3l
光标及后两字符
yy
本行 y0
行首到光标 y^
本行第一个字符到光标 y$
光标到行尾
3yy
或y3y
本行和下两行
yw
光标 至 空格后出现字符
剪切(删除)
剪切的d语法
如同复制的y语法
3dh
或d3h
光标前三字符 3dl
或d3l
光标及后两字符
dd
本行 d0
行首到光标 d^
本行第一个字符到光标 d$
光标到行尾
3dd
或d3d
本行和下两行
x
剪切光标字符
X
剪切光标前一个字符
删除,并进入文字插入模式
C
光标到行末
3ch
或c3h
光标前三字符 3cl
或c3l
光标及后两字符
cc
本行 c0
行首到光标 c^
本行第一个字符到光标 c$
光标到行尾
3cc
或c3c
本行和下两行
可视化选择复制或剪切
先将鼠标移到想要的开始位置,然后按v
然后就可以通过 上下左右 像鼠标按住左键那样选择
选好区域后按y
复制,按d
剪切
粘贴
p
粘贴到光标后
P
粘贴到光标前
撤销重做
u
撤销
ctrl+r
重做
查找替换
查找
支持正则表达式
/
pattern 向下查找pattern的匹配
?
pattern 向上
n
下一个
N
上一个
替换
:s/
a/
b 本行第一个a变b
:s/
a/
b/g
本行所有a变b
:%s/
a/
b 所有行第一个a变b
:%s/
a/
b/g
所有行所有a变b , 整个文档的a变b
限制在可视的选定区域进行替换
用光标确定起始点, 然后v
进入连续字符串选择, 或ctrl+v
进入块选择
按冒号:
, 底部出现 :'<,'>
在:'<,'>
后追加s/pattern/content/g
变成 :'<,'>s/pattern/conten/g
回车就能将pattern匹配到的内容替换
保存退出
:w
----------------保存
:q
----------------退出
:q!
--------------强制退出
:wq
或 ZZ
— 保存退出
:wq!
------------ 强制保存退出
行号
:set nu
显示行号 :set nonu
关闭行号
其它
.
重复上一个动作 (点)
n空格键
光标移到n个字符后
n回车键
光标下移n行
动作后会进入文字输入模式
进入文字输入插入模式 INSERT模式
i
光标前插入
a
光标后插入
I
光标移到本行第一个字符后开始插入
O
光标上方插入一行
o
光标下方插入一行
S
删除本行
s
删除光标字符
C
删除光标到行尾
c
小c操作语法类似d
和y
, 作用是删除, 如同d
, 只是执行后会进入文字输入插入模式
3ch
或c3h
光标前三字符 3cl
或c3l
光标及后两字符
cc
本行 c0
行首到光标 c^
本行第一个字符到光标 c$
光标到行尾
3cc
或c3c
本行和下两行
先R
进入覆盖模式,然后按键盘insert
按键
进入文字输入覆盖模式 REPLACE模式
在插入模式下按insert
按键
R
直接进入覆盖模式 (小写r接字符
只替换光标处一个字符,替换后依旧在一般模式)