Vi
  由加州大学伯克利分校,Bill Joy 研究开发。文本编辑器有很多,比如图形模式的gedit、kwrite、OpenOffice,文本模式下的编辑器有vi、vim(vi的增强版本)。vi和vim是我们在 Linux中最常用的编辑器。vi或vim是Linux最基本的文本编辑工具,vi或vim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理字符界面中,永远不是图形界面的编辑器能比的。
看完这篇文章,应该对大家的VI学习有一定的帮助吧!
VI学习
①   插入模式 三组六个命令
命令
作用
a
在光标后附加文本
A
在本行行末附加文本
i
在光标前附加文本
I
在本行开始插入文本
o
在光标下插入文本
O
在光标上插入文本
 
②   定位命令
命令
作用
h,←
左移一个字符
j,↓
下移一个字符
k,↑
上移一个字符
l,↓
下移一个字符
$
移至行尾
0
移至行首
H
移至屏幕上端
M
移至屏幕中央
L
移至屏幕下端
 
命令
作用
:set nu
设置行号
:set nonu
取消行号
gg
到第一行
G
到最后一行
nG
到第n行
n
到第n行
 
③   删除命令
命令
作用
x
删除光标所在处字符
nx
删除光标所在处后n个字符
dd
删除光标所在行,ndd删除n行
dG
删除光标所在行到末行的内容
D
删除从光标所在处到行尾的内容
n1,n2d
删除指定方位的行
④   :复制和剪切命令
命令
作用
yy,Y
复制当前行
nyy,nY
复制当前行以下几行
dd
剪切当前行
ndd
剪切当前以下n行
p,P
粘贴在当前光标所在行下或行上
⑤   :替换和取消命令
命令
作用
r
取代光标所在处字符
R
从光标所在处开始替换字符,按ESC结束
u
取消上一部操作
⑥   :搜索和替换命令
命令
作用
/string
向前搜索指定字符串
:set ic
搜索时忽略大小写
n
搜索指定字符串,n下一个N上一个
:%s/old/new/g
全文替换字符
:n1,n2s/old/new/g
在一定范围内替换指定字符串
补充:如:%s/old/new/g将全文的old替换成new 后面的g参数是不提醒直接全部替换。
        :%s/old/new/s 此时的全文替换则会提醒是否替换(交互式)
 
⑦   :保存退出命令
命令
作用
w
保存但不退出
w /etc/new.txt
另存为
q
未修改退出
q!
放弃修改并退出
wq
保存退出
ZZ
等同于:wq
wq!
强行保存退出
补充:wq!为强行保存退出,此命令在编辑没有写权限的文件时可以用到,因为没有写权限wq是不能进行保存的,此时wq!可以强行保存退出,该命令只有目标文件的所有者或者root超级管理员才可以使用!
 
小技巧:
①   :导入文件 :r 文件名
例:在编辑时需要导入/root/chenyi.exe 命令是 :r /root/chenyi.txt
在工作或者学习的使用当中,我们可能在编辑完文件后需要在文件末行加入最后编辑时间此时。此时我们可以利用-r 来导入时间,这样大大减少了我们繁琐的操作!

vi编辑器学习_vim

 
这样岂不是很方便了!
②   :用map定义快捷键
范例:map ^p I# <ESC>
该命令定义了Ctrl+P的快捷键,此功能是不管在什么模式,哪一行,只要按下定义的组合快捷键Ctrl+p 即可进入插入模式,并到光标所在处行首,插入一个#号,使该行变成注释后回到命令模式,只要用map定义好快捷键,也能大大减少我们工作中繁琐的操作。

vi编辑器学习_文本_02

此时Ctrl+p即可快速的在行首加上一个#号并且回到命令模式! 
怎么快速删除行首的#呢 做个快捷键就能省事
map ^R 0x 定义Ctrl+R
<0的作用是到行首 x是删除光标所在字符>
 

 范例:map ^E http://itchenyi.blog.51cto.com/<ESC>

该命令定义了Ctrl+E的快捷键,大家看了上面的范例便也知道该命令的作用,我们需要插入邮箱或者什么注释。按一下组合键就能插入了!

vi编辑器学习_vi编辑器_03

vi编辑器学习_vim_04

^这个尖角符号不是shift+6产生的,举个例子吧:
Ctrl+v 出现^符号在按需要连接的快捷键即可

Ctrl+v+p 则出现^p 不是我啰嗦!!这是细节!

③   :定义ab

vi编辑器学习_linux_05

vi编辑器学习_vi编辑器_06

给vi做别名
alias vi=’/usr/bin/vim’
修改vim配置文件 该配置文件在每个用户的宿主目录,
~/.vimrc 该配置文件默认缺省为空,可自定义
 

vi编辑器学习_linux_07

这样每每用vim进行编辑时即可自行加载,几个命令有什么用,各位友友自己琢磨吧
给大家介绍了几个小技巧。如果都掌握了,其实对工作的效率还是很有帮助的!