想成为一个高效的DBA,离不开熟练使用vi编辑器,尤其是准备OCM考试的人员更为如此。另外,在Linux系统中,通过鼠标左键选中的文字,再 通过按住鼠标中间滚动条来粘贴功能也是需要掌握的小技巧。我接触Linux七年后,该技巧也是通过一次偶然的提问而得知的,Linux的这个功能起码提升 我考试速度15%以上。因考过试的人知道考的不仅是熟练程度,更是对效率和速度的考验。
使用vi文本编辑器
配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由 管理方式。vi是一个功能强大的全屏幕文本编辑工具,vim是vi编辑器的增强版本,在vi编辑器的基础上扩展了很多实用的功能,但是习惯上也将vim称 作vi。
vi编辑器的工作模式:
命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成光标移动、字符串查找、以及删除、复制、粘贴文件内容等操作。
输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件进行修改,或者添加新的内容。出于输入模式时,编辑器最后一行会出现“--insert--”的状态提示信息。
末行模式:该模式可以设置vi编辑环境、保存文件、退出编辑器,以及对文件女儿进行查找、替换等操作。出于末行模式,最后一行会出现":"提示符。
一、vi打开编辑文件
vi <filePathAndName>(示例:vi test.conf, vi /tmp/test.conf,...)
如果指定的filePathAndName存在则会自动载入该文件内容,如果不存在则会自动创建。注:每行前显示波浪符号的表示该行为空行。
二、模式切换:在命令模式中,使用a、A、i、I、o、O等按键快速切入输入模式,返回命令模式按Esc按键即可。进入末行模式在命令模式按":"即可。
三、vi编辑指令
1、屏幕翻页
Ctrl+u: 向上翻半屏
Ctrl+f: 向上翻一屏
Ctrl+d: 向下翻半屏
Ctrl+b: 向下翻一屏
2、移动光标指令
移动光标普遍使用的是方向键,考虑兼容问题,vi定义太多的方向指令,下面只是一小小部分(常用的几个):
space: 光标右移一个字符
Backspace: 光标左移一个字符
Enter: 光标下移一行
nG: 光标移至第n行首
n+: 光标下移n行
n-: 光标上移n行
n$: 光标移至第n行尾
0: 光标移至当前行首
$: 光标移至当前行尾
3、插入删除指令
常用插入、删除指令如下:
i:在当前光标前插入,光标后文本向后移
a:从当前光标后插入,光标后文本后移
I:在光标所在行首插入(第一个非空白字符前)
A:从光标所在行末插入
o: 在光标所在行下面新增一行(并进入输入模式)
O: 在光标所在行上方新增一行(并进入输入模式)
x: 删除光标所在字符,等同于[Delete]功能键
X: 删除光标前字符,相当与[Backspace]
dd: 删除光标所在的行
yy:复制当前行正行内容到剪切板
#yy:#是具体数字,可以复制从光标处开始的#行内容
p:粘贴剪切板中的内容到当前光标位置之后
P:粘贴剪切板中的内容到当前光标位置之前
r: 修改光标所在字符
R: 替换当前字符及其后的字符,直到按 [ESC]
s: 从当前光标位置处开始,以输入的文本替代指定数目的字符
S: 删除指定数目的行,并以所输入文本代替之
do: 删至行首
d$: 删至行尾
四、vi查找、保存和退出
退出输入模式,先按一下[ESC]键(有时要多按两下),然后执行:
按/键——输入指定的字符串,从当前光标处向下查找。
按?键——输入指定的字符串,从当前光标处向上查找。
查找完按n、N键在不同的查找结果中进行选择。
按u——取消最近一次操作,可按多次,类似撤销。
按U——取消当前行所做的所有编辑。:w ——保存当前文件
:wq —— 存盘退出(与指令 :x 功能相同)
:q —— 直接退出,如已修改会提示是否保存
:q! ——不保存直接退出
五、打开新文件或读入其它文件内容
在当前vi编辑器中,执行":e 新的文件"形式的末行命令可以编辑新文件。
在当前vi编辑器中,执行":r 其他文件"形式的末行命令读入其他文件的内容,将其复制到当前光标的所在位置。
在当前vi编辑器中,执行":r !命令"形式的莫行模式,可以将其他命令的输出粘贴至文本文件光标所在位置。
在末行模式执行"set number"命令可显示行号,执行"set nonu"取消显示行号。
六、vim编辑器有用的参数
-o file1 file2;将同时打开两个文件,上下显示,使用ctrl+w切换文件。
-O file1 file2;将同时打开两个文件,左右显示,使用ctrl+ww切换文件。
七、查找和替换
? / n N
:s/old/new/
:N,M s/old/new/
:%s/old/new/g %所有行 g全局
另存
:N,M w file.txt
可视化模式v
d 删除 y复制
八、配置文件位置
/etc/vimrc
让vimtutor命令显示正常
cd /usr/share/vim/vim72/tutor
mv tutor.zh.euc tutor.zh.euc.bak
iconv -f GBK -t utf-8 tutor.zh.euc.bak -o tutor.zh.euc
vimtutor
--------------------------------------分割线 --------------------------------------
把VIM打造成一个简单实用的IDE http://www.linuxidc.com/Linux/2011-06/37032.htm
Vim学习指南 http://www.linuxidc.com/Linux/2013-08/89096.htm
快速学会 Vi编辑器 http://www.linuxidc.com/Linux/2013-08/88586.htm
强大的Vim 编辑器 http://www.linuxidc.com/Linux/2013-07/87544.htm
在CentOS 6.2上搭建Vim开发环境 http://www.linuxidc.com/Linux/2013-07/87363.htm
CentOS 5.4 安装高亮Vim编辑工具 http://www.linuxidc.com/Linux/2013-06/86508.htm
Vim技巧分享:C语言设置 http://www.linuxidc.com/Linux/2012-12/77124.htm
Ubuntu中设置Vim的行号 http://www.linuxidc.com/Linux/2012-12/75485.htm
Vim编辑器使用基础教程 http://www.linuxidc.com/Linux/2013-05/84031.htm
本文转自 IT阿飞 51CTO博客,原文链接:http://blog.51cto.com/itafei/1731592