`
Acmey
  • 浏览: 52714 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Vi使用指南

阅读更多
相信用过Linux的朋友一定不会对vi陌生吧,它是Linux环境中使用最为普遍的全屏幕编文本辑器。但由于我们一般用户最初接触的都是微软的产品,它和DOS下的EDIT和Windows下的记事本的使用方法不尽相似,所以另初学Linux朋友觉得vi很难用,甚至无从下手,下面我就向大家介绍vi的使用方法。

  首先需要说明的是,vi分为两种状态,即命令状态和编辑状态,在命令状态下,所键入的字符系统均作命令来处理,如:q代表退出,而编辑状态则是用来输入文字资料的。当你进入vi时,会首先进入命令状态。现在对vi也有了基本的认识,如果你有兴趣请接着往向看。

  要进入vi,直接在系统提示符下键入vi <文件名>,当你键入的文件名是已有文件时,则系统自动打开此文件,否则将建立一个新文件。这时你将会看到屏幕左边会出现波浪线~,这就代表该行是空的,没有任何文字,这时系统正在命令状态,怎样切换到编辑状态输入文字呢?按键盘上的Insert键即可,这时我们就可以像使用其它的编辑器一样进行文字的编辑了,功能键也和其它编辑器差不多,下面就是一些功能键的说明,是不是很简单?




  ===========================================================
  说明                功能键
  ===========================================================
  移动光标到所在行的最前面      Home
  移动光标到所在行的最后面      End
  向下翻一页             Page Down
  向上翻一页             Page Up
  删除光标所在位置字符        Delete
  删除光标所在位置前面的字符     Backspace
  移动光标              ←↑↓→
  ===========================================================

  另外,vi还支持粘贴与复制,不过用键盘来做实在很麻烦,现在哪台电脑没有鼠标呢?和Windows中一样,从你要复制的开始位置拖动鼠标到结束位置,这块区域就反白了,再将光标移到你要粘贴的位置,按鼠标中键即可完成粘贴(如果你的鼠标是两个键的,同时按左右键即可模拟三键鼠标的中键),这比Windos里方便吧。也许有的朋友会问,如何进行查找呢?下面我们按键盘上的Esc键切换到命令状态,输入“?<你要查找的字符串>”(不带引号)就执行向下查找操作,而“/<你要查找的字符串>”表示向上查找,键盘上的n表示重复一次,而N表示反方向重复一次。

无论是否退出 vi,均可保存所做的工作。按 ESC 键,确定 vi 是否处于命令模式。

操作   键入

保存,但不退出 vi   :w

保存并退出 vi   :wq

退出 vi,但不保存更改   :q!

用其他文件名保存   :w filename

在现有文件中保存并覆盖该文件   :w! filename


  说了半天,可能你的文件已经编辑完成了,但如何存盘呢?现在我们还是保持在命令状态,按:w按后回车即完成了存盘工作,而退出vi返回到Linux的命令是:q,这两个命令也可以组合使用,如:wq代表存盘退出。

  好了,说了半天,可能你的头已经大了,上面讲到的那些只是vi中最常用的功能,至于其它的功能你可以在使用中慢慢体会。顺便说一句,不要强记那些命令,它们看起来多而毫无规律,多用几次自然就熟练了,现在我觉得比Windows中的记事本方便多了。

移动光标类命令

h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字j至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾

屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行

删除命令


ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本
搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics