文本编辑工具vi——用法介绍

vi是Linux下标准的文本编辑程序,也是Linux系统命令行下最经常使用的文本文件可视化编辑器,类似于DOS命令edit。那什么是可视化呢?其实就是让用户在编辑文本文件的时候可以看见它们。这听起来似乎很普通,但是在命令行的字符界面下,可视化编辑确实起了很大的作用。

vi是Linux下默认的编辑器,几乎所有的Linux/UNIX系统都捆绑了vi。这表示只要你学会了vi这个编辑工具,就可以在任何Linux/UNIX系统上使用它,而且vi程序非常小,只有几百kb。因此只要熟练了vi操作,你就可以做任何想做的事情。

vi编辑程序有两种工作模式,即命令模式和文本输入模式。在命令模式下,输入的字符呗解释为vi命令,就是这些命令组合形成了vi的强大功能,通过vi命令可以转换到文本输入模式;在文本输入模式下,输入的字符作为正在编辑的未能将的正文的内容来接受,如果按Esc键则切换到vi命令模式。

下面通过分类的方式,逐个介绍vi的一系列命令的含义和用法。

1)Linux命令换行下用vi打开文件的命令选项,其详细说明如表1所示。

表1 用vi打开文件的命令选项及其说明
vi使用的选项说明
vi filename打开或者新建有一个文件夹,并将光标置于第一行首部
vi -r filename回复上次vi打开时崩溃的文件
vi -R filename把指定的文件以只读方式放入编辑器中
vi + filename打开文件并将光标置于最后一行首部
vi +n filename打开文件,并将光标置于第n行的首部
vi +/pattern filename打开文件,并将光标置于第 一个与pattern匹配的位置
vi -c command filename在对文件进行编辑前,先执行指定的命令

 2)vi命令模式下的命令选项,主要分为移动光标类命令、屏幕翻滚类命令、插入与删除文本类命令、搜索与替换类命令以及保存和退出类命令。这些分别在下面一次说明。

移动光标类命令及其说明如表2所示:

表2 移动光标类命令及其说明
按的键或者输入的字符说明
h光标左移一个字符
l光标右移一个字符
Backspace键光标左移一个字符
k或者Ctr+p光标上移一个字符
j或者Ctr+n光标下移一个字符
Enter键

光标下移一行

w或W光标右移一个字到字首
b或B光标左移一个字到字首
e或E光标右移一个字到字尾
nG光标移动到第n行首部
n+光标下移n行
n-光标上移n行
n$相对于当前光标所在行,光标再向后移动n行到行尾
H光标移至当前屏幕的顶行
M光标移至当前屏幕的中间行
L光标移至当前屏幕的最低行
0将光标移至当前行首
$将光标移至当前行尾
:$将光标移动到文件最后一行的行首

屏幕翻滚类命令及其说明如表3:

表3 屏幕翻滚类命令及其说明
按的键或输入的字符说明
Ctr+u相对于当前屏幕,向文件首翻半屏
Ctr+d相对于当前屏幕,向文件尾翻半屏
Ctr+b相对于当前屏幕,向文件首翻半屏
Ctr+f相对于当前屏幕,向文件尾翻半屏
nz+Enter将文件的第n行滚至屏幕顶部,如果不指定n值,将当前行滚至屏幕顶部

插入与删除文本类命令及其说明如表4所示:

表4 插入与删除文本类命令及其说明
按的键或输入的字符说明
Esc返回命令行模式
i在光标前输入文字
a在光标后输入文字
o在当前行之下新开一行
O在当前行之上新开一行
r替换光标所在的字符,输入r命令之后,在键盘上输入需要替换的新字符即可完成替换
x删除光标所在的字符
dd删除光标所在的行。删除后的内容自动保存在剪贴板
yy将光标所在的行复制到剪贴板,如果在“yy”前加入数字,可复制多行
p将剪贴板的内容复制到光标后
P将剪贴板的内容复制到光标前
yw将光标所在的单词复制到剪贴板

搜索及替换类命令及其说明如表5所示:

表5 搜索及替换类命令及其说明
按的键或输入的字符说明
/abc在文件中线前查找字符串abc
?abc在文件中向后查找字符串abc
n在同一方向重复上次的搜索命令
N在相反方向重复上次的搜索命令
:s/a1/a2/g将当前光标所在的行中所有a1均用a2替换
:n1,n2s/a1/a2/g将文件第n1至第n2行中所有a1均用a2替换
:g/a1/a2/g将文件中所有的a1均用a2替换
:set nu给文件的每行加上行号

保存和退出类命令及其说明如表6所示:

表6 保存和退出类命令及其说明
按的键或输入的字符说明
:wq保存并退出vi编辑器,“:wq!”表示不保存强制退出
:q不保存就退出vi编辑器,“q!”表示不保存,强制退出
:w保存但是不退出vi编辑器,“:w!”表示强制保存,“:w filename”表示将修改保存到“filename”中。相当于另存文件
x!保存文件,退出vi编辑器,更通用的另一个vi命令

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值