模式总结
命令
- x删除字符,d删除行,G行相关
- 0头,$尾
- yy复制
- p粘贴(paste)
数字+命令
1 重复命令, [数字x|d] 对x,d重复数字次
2 行数, [5G|d5G|y1G]
大小写
- pP 上下复制
- nN 上下查找
- oO aA iI
命令
Move
-
h j k l i move cursor
-
5[h|j|k|l|i] move 5 cursor direction
-
w word forwad
-
b back forwad
-
[5space] to 5 character
-
Ctrl + f forward a page
-
Ctrl + b backward a page
-
Ctrl + d down half a page
-
Ctrl + u up half a page
-
+ 非空格的下一列
-
- 非空格的上一列
-
0 一行最前
-
$ 一行最后
Archive
Line
-
gg go document first line
-
G go document last line
-
5G go to 5 line of documnet
-
5 move doward 5 line
-
H screen highest line
-
M screen midle line
-
L screen lowest line
-
+ 非空格下一列
-
- 非空格上一列
-
J join next line,将下一行和当前行join 连接起来
Character
- $ last char of line
- 0 first char of line
- 5[Space] back 5 char
Page
- Ctrl + f forward a page
- Ctrl + b backward a page
- Ctrl + d down half a page
- Ctrl + u up half a page
Search
-
/word downward search
-
?word fowward search
-
n repeat last command (下一个)
-
N revert repeat()上一个)
-
:1,5s/word1/word2/g 1到5行之间查找word1,并替换为word2
-
:1,5s/word1/word2/gc 1到5行之间查找word1,并confirm是否替换为word2
Replace
- r
- R
Delete
- x forward delete a charater
- X backward
- 5x delete 5 continue character
- dd delete whole line
- 5dd delete 5 line
- d5G 从当前光标行delete到第5行 (
5G
go to 5 line) - dG delete到last line
- d$ d
还原
- u undo 回滚命令
- [Ctrl]+r 反回滚命令 revert
- . 重做上一个命令
Copy
- yy copy current line
- 5yy copy 到向下5行
- y1G yG y0 copy到指定行
- p P 向下上paste
命令列模式
- :w 写入
- :w! 强制写入(只读,但user有写权限)
- :q 离开quit
- :q! 强制离开no save (更改后强制离开)
- :wq 存储离开
- :wq! 强制存储离开
- :w[FileName] 另存储
- :r[FileName] 读入filename文件,写到光标后
- :5,6 w[FileName]
- :![Command]离开vi执行command显示结果
文件操作
- ZZ 无更改离开
Config
- :set nu 显示行数
- :set nonu 隐藏行数