gotowqj 2014-01-15
进入:vi filename
编辑:
a:在光标后 A:在本行末
i:在光标前 I:在本行开始
o:在光标下 O:在光标上
定位:
$:移至行尾
0:移至行首 数字零
H:移至屏幕上端
M:移至屏幕中央
L:移至屏幕下端
上下左右:
h:向左
j:向下
k:向上
l:向右
:set nu :设置行号
:set nonu :取消行号
gg :到第一行
G :到最后一行
nG :到第n行
:n :到第n行
删除:
x :删除光标所在处字符
nx :删除光标所在处后n个字符
dd :删除光标所在行
dG :删除光标所在行到末尾的内容
D :删除光标所在处到行尾
:n1,n2d :删除指定范围的行
复制和剪切:
yy :复制当前行
nyy :复制当前行以下n行
dd :剪切当前行
ndd :剪切当前行以下n行
p :粘贴
替换和取消:
r :取代光标所在处字符
u :取消上一步操作
搜索和替换命令:
/string :搜索指定字符串
:set ic :搜索时忽略大小写
n :下一个出现的位置
:%s/old/new/g :全文替换指定字符串
:n1,n2s/old/new/g :在n1行到n2行范围内替换指定字符串
保存和退出:
ESC:退出编辑模式,回到命令模式
:w :保存修改,不退出
:w new_filename :另存为
:wq :保存退出
ZZ :保存修改并退出
:q! :不保存修改退出
:wq! :强制保存修改并退出,文件是只读的时候可以使用该命令强制保存(文件所有者)
不退出vi执行命令:
:!命令
例子 (:!ls -al)
连续行注释:
:n1,n2s/^/#/g :添加注释#
:n1,n2s/^#//g :去除注释#
:n1,n2s/^\/\///g :去除注释//
定义快捷键:
:map ^P I#<ESC> :Ctrl+P 给本行行首加#
^P ===>Ctrl+V+P
:map ^B 0x :Ctrl+B 去除本行行首第一个字符
:unmap ^B :取消该快捷键
ab替换:
:ab myemali [email protected]
在vi中,当输入myemail+空格后,会自动替换为[email protected]
:unab myemail :取消
注:定义快捷键和ab替换都是当前有效,退出vi就没用了,如要永久生效,可以配置到~/.vimrc中,注释使用双引号