用vi 也很久了,但是一些常用的命令老是记不住,特整理一下,把自己要用的记录下来。
(一)按 Esc 键后的命令
i :在光标所在字符前插入字符
a :从光标所在字符后插入字符(按a后光标会跳到下一个字符上并从下一字符前开始插入)
s :删除光标所在字符,并从此位置开始插入字符
x :删除光标所在字符
a :从光标所在位置后面开始添加内容,光标后的内容随新增字符向后移动。
A :从光标所在列最后面的地方开始添加内容。 (到行尾并可编辑)
i :从光标所在位置前面开始插入内容,光标后的内容随新增内容向后移动。
I : 从光标所在列的第一个非空白字符前面开始插入内容。 (到行首并可编辑)
0 :光标到行首
$ 就是 (shift+4):光标到行尾
dd :删除光标所在行
ndd :从光标所在行开始往下删除n行
o :在光标所在列下新增一列并进入输入模式。
O :在光标所在列上方新增一列并进入输入模式。
h :把光标向左移动
j :把光标向下移动
k :把光标向上移动
l :把光标向右移动
H(shift+h):返回首行
G(shift+g):到最末行
Ctrl+g :查看光标所在行的时代信息
nyy,然后再把光标移到某行,p :复制n行,并把内容粘贴到光标所在行的下面
nyy,然后再把光标移到某行,P(shift+p) :复制n行,并把内容粘贴到光标所在行的上面
(n 为0时则相当于yy,即复制一行;
复制时,从光标所在的行开始算起,即光标所在的行即为开始复制的第一行)
不想费劲看多少行或复制大量行时,可以使用标签来替代
光标移到起始行,输入ma
光标移到结束行,输入mb
光标移到粘贴行,输入mc
然后键入:,在命令行模式下:'a,'b co 'c
(就把从起始行a开始到结束行b这部分内容复制到了c标识的后面,
把co 改成m 则是移动,即剪切)
(二)
按 Esc 键后,然后再键入 : 进入命令行模式
set nu :显示行号
wq :保存并退出
q! :不保存并退出
nd :删除第n行
n,md :删除第n至m行
n,m co k :复制第n行到第m行的内容,并粘贴到第k行的后面
a,b m k :把第n行到第m行的内容剪切到第k行的后面
n :直接跳到第n行处
u :撤消上一个编辑操作
ctrl+r :还原被撤消的编辑操作。
(三)
按 Esc 键后,然后再键入 / 进入查找模式
如: /abc 查找文章中abc的位置
n :向下查找
N :向上查找
完全的可参考:
http://hi.baidu.com/chenlang1988/item/7a432f05a3fdc0c891571844