日期:2014-05-16  浏览次数:20729 次

程序员必知必会----linux常用命令之二【vim】

程序员必知必会----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中,注释使用双引号

?

?

?

?

?