vi 操作笔记
1.关于退出
:wq! ----强制保存退出
:wq ---- 保存退出
:x ----- 作用和:wq 一样
ZZ ---- 作用和:wq一样, (注意 Z 是大写的,并且不是在命令模式)
:q ---- 退出
:q! --- 强制退出
==============================================
2.关于移动
h : 在当前行向左移动一个字符
j: 移动到下一行
k: 移动到上一行
l: 在当前行向右移动一个字符
Ctrl f: 向前滚动一页
Ctrl b: 向后滚动一页
:n
:$
0
$
G
H
M
L
将光标定位到第 n 行
将光标定位到最后一行
将光标定位到本行的行首
将光标定位到本行的行尾
将光标定位到本文章的最后一行,与:
将光标定位到屏幕的顶端
将光标定位到屏幕的中间
将光标定位到屏幕的底端
$功能相同。
============================================
3.关于搜索
/: 后面跟要查找的东西,在文件中向前搜索
?: 后面跟要查找的东西,在文件中向后搜索
n: 向前重复搜索
N: 向后重复搜索
=============================================
4.关于复制
yy: 复制光标当前行
nyy: 复制光标当前行到当前行以下的 n-1 行
:1,100 co 200 将 1~100 的内容复制到第 200 行。
:100,102 co $ 将 100~102 行的内容复制到最后一行。
==============================================
5.关于粘贴
p : 粘贴到当前行的下一行
P(大) : 粘贴到当前行的 上一行
==============================================
6.关于删除.剪切
dd ndd dw ndw x nx
dG
d0
d$
删除当前行
与 nyy 相似
删除一个单词
与 ndd 相似
删除一个字符
删除 n 个字符
删除当前光标到文件末尾的所有内容。
删除当前光标到本行行首的所有内容
删除当前光标到本行行尾的所有内容
:1,100d 删除 1~100
:100d 删除第 100 行
:1,100 mo $ 将 1~100 行的内容移动到最后一行。
=============================================
7.关于插入
i: 在当前位置的字符前面进入插入模式
I: 在当前行的开头进行插入
a: 在当前位置的字符后面进入插入模式
A: 在当前行的结尾进行插入
o: 在当前行下面打开一个新行进行插入
O: 在当前行上面打开一个新行进行插入
=============================================
8.关于撤销
u: 撤销上一次的更改
=============================================
9.关于替换
regexp: 是要匹配的式样
replacement: 是要替换的字符串
:s/regexp/replacement -------------------------替换当前行出现的第一个式样 :s/regexp/replacement/g -------------------------替换当前行所有的匹配 :%s/regexp/replacement/g -----------------------替换文件中所有匹配式样
=========================== ==================
PS: 还有一个重要的命令就是"." 命令,这个命令是用来重复上一命令的 vi 里如何:撤销上次操作?,多次重复一组编辑操作? .......
a) 撤消上一个编辑操作。
b) 重复上一个编辑操作。
c) 还原被撤消的编辑操作。
d) 多次重复一组编辑操作。
====> u
=====> .
======> Ctrl R ====> ". " 命令可以重复最近一次的编辑动作.