您的位置:首页 > 运维架构 > Linux

Linux01-Linux文本编辑器vim编辑器深入详解22

2014-04-21 21:56 555 查看
一、vim编辑器

1、文本编辑器,字处理器;
2、vi:Visual Interface;
3、vim:VI iMproved,是vi的增强功能;
4、全屏编辑器:vi、vim、nano;
5、vim模式:
编辑模式(命令模式);
输入模式;
末行模式;
6、模式转换:
a)编辑-->输入:
i:在当前光标所在字符的前面,转换为输入模式;
a:在当前光标所在字符的后面,转换为输入模式;
o:在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式;
A:在当前光标所在行的行尾,转换为输入模式;
O:在当前光标所在行的上方,新建一行,并转为输入模式;
b)输入-->编辑:
ESC:还原到编辑模式;
c)编辑-->末行
输入:号;
d)末行-->编辑:
ESC,ESC;

二、vim的功能
1、打开文件功能,使用格式:# vim /path/to/somefile:
a)vim +n FILENAME:打开文件,并定位于第n行;
b)vim + FILENAME:打开文件,定位至最后一行;
c)vim +/PATTERN FILENAME:打开文件,定位至第一次被PATTERN匹配到的行的行首;
2、关闭文件:
a)末行模式下关闭文件:
:q 退出不保存;
:wq=:x 保存退出;
:q! 不保存退出;
:w 保存;
:w! 强行保存;
b)编辑模式下退出:
ZZ 保存并退出;
3、移动光标(编辑模式下):
a)逐字符移动:
h 向左
l 向右
j 向下
k 向上
#h 移动#个字符;
b)按单词为单位移动
w 移至下一个单词词首;
e 跳至当前或下一个单词词尾;
b 跳至当前或前一个单词词首;
#w 跳#个单词;
c)行内跳转
0 跳至行首,绝对行首;
^ 跳至第一个非空白字符;
$ 跳至行尾,绝对行尾;
d)行间跳转
#G 跳转至第#行;
G 跳转至最后一行;
末行模式下,直接给出行号即可;
4、翻屏
a)Ctrl+f 向下翻一屏;
b)Ctrl+b 向上翻一屏;
c)Ctrl+d 向下翻半屏;
d)Ctrl+u 向上翻半屏;
5、删除单个字符
a)x :删除光标所在处的单个字符;
b)#x :删除光标所在处及向后的共#个字符;
6、删除命令
a)d命令跟跳转命令组合使用;
b)#dw,#de,#db
c)dd :删除当前光标所在行;
d)#dd :删除包括当前光标所在行内的#行;
e)末行模式下,StartADD,EndADDd :表示删除从StartADD到EndADD的行;
. :表示当前行;
$:最后一行;
+#:向下的#行;
三、vim粘贴
1、删除的内容会被保存在缓冲区中,最后一次删除的内容可以被粘贴;
2、p:如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面;
3、P:如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面;
四、复制命令y
1、用法同d命令相同;
五、修改:先删除内容,在转换为输入模式
1、c:用法同d命令,如:c$;
六、替换
1、r:替换单个或多个字符;
2、R:替换模式;
七、撤消编辑操作
1、u:撤消前一次的编辑操作,连续u命令可撤消此前的n次操作;
2、#u:直接撤消最近#次编辑操作;
八、撤消最近一次的撤消
1、Ctrl+r:撤消最近一次撤消的内容(还原);
九、重复前一次编辑操作
1、. :重复前一次的编辑操作;
十、可视化模式
1、v :按字符选取;
2、V :按矩形选取;
十一、查找
1、/PATTERN:从上往下查找;
2、?PATTERN:从下往上查找;
十二、查找并替换
1、在末行模式下使用s命令;
2、ADDR1,ADDR2s@PATTERN@string@gi,如:(末行模式下):.,100s@he@HE@g;
a)1,$=%:表示全文;
练习:
将/etc/yum.repos.d/CentOS-Base.repo文件中的http://mirror.centos.org替换为http://172.16.0.1/yum;
参考答案:(末行模式):%s@mirror.centos.org@172.16.0.1/yum@g
十三、使用vim编辑多个文件
1、vim FILE1 FILE2 FILE3
a):next 切换至下一个文件
b):prev 切换至前一个文件
c):last 切换至最后一个文件
d):first 切换至第一个文件
2、退出
a):q 退出单个文件
b):qa 全部退出
十四、分屏显示一个文件
1、Ctrl+w-->s: 水平拆分窗口
2、Ctrl+w-->v: 垂直拆分窗口
3、在窗口间切换光标:
a)Ctrl+w-->ARROW
b):qa 关闭所有窗口
十五、分窗口编辑多个文件
1、vim -o FileName1 FileName2 ...: 水平分割显示
2、vim -O FileName1 FILEName2 ...: 垂直分割显示
十六、将当前文件中部分内容另存为另外一个文件
1、末行模式下使用w命令
a):w 保存文件
b):ADDR1,ADDR2w /path/to/somewhere
十七、将另外一个文件的内容填充在当前文件中
1、:r /path/to/somefile
十八、跟shell交互
1、:! COMMAND
十九、高级话题
1、显示或取消显示行号
a):set number(简写,set nu),显示行号
b):set nonu,取消显示行号
2、显示忽略或区分字符大小写
a):set ignorecase(简写,set ic),忽略大小写
b):set noic,取消忽略大小写
3、设定自动缩进
a):set autoindent(简写,set ai),自动缩进
b):set noai,取消自动缩进
4、查找到的文本高亮显示或取消
a):set hlsearch,高亮显示
b):set nohlsearch,取消高亮显示
5、语法高亮
a):syntax on,开启语法高亮
b):syntax off,关闭语法高亮
二十、配置文件
以上十九的设定只在当前生效,但可以在配置文件中配置:
1、/etc/vimrc,全局生效;
2、~/.vimrc,只在自己家目录下生效(如果没有可创建此文件);
二十一、系统内的vim教程:vimtutor 。

本文出自 “Jessen Liu的博文” 博客,请务必保留此出处http://zkhylt.blog.51cto.com/3638719/1399893
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: