程序员必知必会----linux常用命令之一【基础命令】
程序员必知必会----linux常用命令之二【vim】
程序员必知必会----linux常用命令之三【用户管理】
程序员必知必会----linux常用命令之四【软件包管理】
程序员必知必会----linux常用命令之五【进程管理】
程序员必知必会----linux常用命令之六【文本分析】
程序员必知必会----linux常用命令之七【shell编程】
?
进入: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 hanqunfeng@nq.com
在vi中,当输入myemail+空格后,会自动替换为hanqunfeng@nq.com
:unab myemail :取消
?
注:定义快捷键和ab替换都是当前有效,退出vi就没用了,如要永久生效,可以配置到~/.vimrc中,注释使用双引号
?
?
?
?
?