命令模式
ESC+: 等待用户输入命令
:w 保存
:w filename 另存为filename
:wq! 保存退出
:q! 不保存退出
:wq! filename 保存为filename并退出
插入模式
i 在光标之前插入;
a 在光标之后插入;
I 在光标所在行的行首插入;
A 在光标所在行的行末插入;
o 在光标所在的行的上面插入一行;
O 在光标所在的行的下面插入一行;
s 删除光标后的一个字符,然后进入插入模式;
S 删除光标所在的行,然后进入插入模式;
r 替换当前字符
R 替换当前字符及其后的字符,直至按ESC键
ncw或nCW 修改指定数目的字
nCC 修改指定数目的行
删除操作
x 删除一个字符;
#x 删除几个字符,#表示数字,比如3x;
dw 删除一个单词;
#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;
dd 删除一行;
#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;
d$ 删除光标到行尾的内容;
J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;
恢复修改及恢复删除操作
u 撤消修改或删除操作,按ESC键返回Command(命令)模式,然后按u键来撤消删除以前的删除或修改,如果想撤消多个以前的修改或删除操作,多按几次u
可视模式(按ESC键,然后按v就进入可视模式(只有vim有可视功能,vi没有))
复制和粘贴操作
我们想把一个文档的第三行复制下来,然后帖到第五行的后面,我们应该怎么做呢?
第一种方法:
先把第三行删除,把光标移动到第三行处,然后用dd动作,接着再按一下shift+p键。这样就把刚才删除的第三行帖在原处了。
接着我们再用k键移动光标到第五行,然后再按一下p键,这样就把第三行的内容又帖到第五行的后面了;
第二种方法;
进入可视模式,按ESC键,然后按v键。选中第三行的内容,然后按y键复制;再移动指针到第五行,最后按p键;
复制和粘贴操作,是命令模式、插入模式及可视模式的综合运用;要常用ESC键;更为重要的在命令模式下移动光标;
行号
我们想把一个文档的第三行复制下来,然后帖到第五行的后面,我们应该怎么做呢?
第一种方法:
先把第三行删除,把光标移动到第三行处,然后用dd动作,接着再按一下shift+p键。这样就把刚才删除的第三行帖在原处了。
接着我们再用k键移动光标到第五行,然后再按一下p键,这样就把第三行的内容又帖到第五行的后面了;
第二种方法;
进入可视模式,按ESC键,然后按v键。选中第三行的内容,然后按y键复制;再移动指针到第五行,最后按p键;
复制和粘贴操作,是命令模式、插入模式及可视模式的综合运用;要常用ESC键;更为重要的在命令模式下移动光标;
查找功能
我们想把一个文档的第三行复制下来,然后帖到第五行的后面,我们应该怎么做呢?
第一种方法:
先把第三行删除,把光标移动到第三行处,然后用dd动作,接着再按一下shift+p键。这样就把刚才删除的第三行帖在原处了。
接着我们再用k键移动光标到第五行,然后再按一下p键,这样就把第三行的内容又帖到第五行的后面了;
第二种方法;
进入可视模式,按ESC键,然后按v键。选中第三行的内容,然后按y键复制;再移动指针到第五行,最后按p键;
复制和粘贴操作,是命令模式、插入模式及可视模式的综合运用;要常用ESC键;更为重要的在命令模式下移动光标;
替换功能
按ESC键进入命令模式
:s /SEARCH/REPLACE/g
注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;
:%s /SEARCH/REPLACE
注:把文档中所有SEARCH替换成REPLACE;
:#,# s /SEARCH/REPLACE/g 注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;
注:在这之中,g表示全局查找;我们注意到,就是没有替换的地方,也会把SEARCH高亮显示;
例:比如我们有一篇文档要修改;
我们把光标所在的行,把所有单词the,替换成THE,应该是:
:s /the/THE/g
我们把整篇文档的所有的the都替换成THE,应该是:
:%s /the/THE
我们仅仅是把第1行到第10行中的the,替换成THE,应该是;
:1,10 s /the/THE/g
移动光标类命令
k、j、h、l 上、下、左、右光标移动命令
h : 光标左移一个字符
l : 光标右移一个字符
space: 光标右移一个字符
Backspace: 光标左移一个字符
k或Ctrl+p: 光标上移一行
j或Ctrl+n : 光标下移一行
Enter : 光标下移一行
w或W : 光标右移一个字至字首
b或B : 光标左移一个字至字首
e或E : 光标右移一个字至字尾
) : 光标移至句尾
( : 光标移至句首
}: 光标移至段落开头
{: 光标移至段落结尾
nG: 光标移至第n行首
n+: 光标下移n行
n-: 光标上移n行
n$: 光标移至第n行尾
H : 光标移至屏幕顶行
M : 光标移至屏幕中间行
L : 光标移至屏幕最后行
0: (注意是数字零)光标移至当前行首
$: 光标移至当前行尾
屏幕翻滚类命令
Ctrl+u: 向文件首翻半屏
Ctrl+d: 向文件尾翻半屏
Ctrl+f: 向文件尾翻一屏
Ctrl+b: 向文件首翻一屏
nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。