Linux下文本编辑器有很多,图形模式下有 gedit ,文本模式下有 vi 或 vim 。
vi 编辑器有三种工作模式:命令、插入、末行。
命令:控制光标,删除,复制等;可以通过 i,a,o等键进入插入模式,可以通过 : 进入末行模式
插入:文本输入;通过ESC键进入命令模式
末行:保存,退出,查找等;回车后自动进入命令模式
三种模式之间的关系及切换方法如下图:
可见插入模式不能与末行模式相互切换。只有在末行模式下才能退出,命令为 q
以下为命令模式常见命令:
1 由命令模式进入插入模式编辑文本,可以输入以下命令:
a:从当前光标的下一个光标开始编辑
A:从光标所在行末进入编辑
i:从光标当前位置开始编辑
I:(大写 i)从光标行首进入编辑
o:光标下行插入一行
O:光标上行插入一行
s:删除光标后一个字符,进入编辑
S:删除光标行,进入编辑
2 由插入模式进入命令模式:按ESC键即可。
3 移动光标:(命令模式下才能执行)
h,j,k,l 分别代表左、下、上、右。可在前面输入数字,表示移动的单位数
Ctrl+b:后翻一页
Ctrl+f:前翻一页
Ctrl+u:后翻半页
Ctrl+d:前翻半页
gg:移动到文件开头
G:移动到文件尾
$:移动到行尾
^:移动到行首
w:光标跳至下一个字开头
e:光标跳至下一个字结尾
b:光标回到上一个字开头
+:移动到下一行行首
-:移动到上一行行首
0:移动到行首
n+空格:向后移动n个字符
4 删除文字
x:删除光标的后一个字符
nx:删除光标后n个字符
X:删除光标前一个字符
nX:删除光标前n个字符
dd:删除光标所在行
ndd:删除光标所在行在内的n行
5 复制
yw:将光标后到字尾的字符复制
nyw:复制n个字符
yy:复制当前行
nyy:复制n行
6 剪切
dd:剪切当前行
(删除同剪切)
7 粘贴
p:粘贴至光标后
8 撤销
u:撤销上一步
Ctrl+r:重做上一步
.:同上
9 跳转至指定行
Ctrl+G:列出光标所在行号
nG:跳转至n行的行首
10 搜索
/word:从光标开始搜索名为word的字符串
?word:从光标前搜索word字符串
n:重复一次搜索,向下搜索名为word的字符串
N:向上继续搜索word字符串
末行模式:w为保存,q为退出,一般wq一同使用。
参考:http://www.cnblogs.com/jiechn/p/4502936.html
参考书目:Linux C与C++一线开发实践