工具和方法

vi快速上手

2020-03-21  本文已影响0人  最爱烤面筋

摘要

vi 编辑器是最常用的文档创建和编辑工具,初学者应该学会简单应用vi ,学会在vi 中做简单的修改、删除、插入、搜索及替换作业;如果您是新手,不妨看看本文,或许这篇文档能让您在最短的时间内学会vi的简单操作;

目录

1.  关于文本编辑器;

2.  vi 编辑器;

3.  vi 编辑器的使用方法;

3.1  如何调用vi 

3.2  vi 的三种命令模式; 

3.3  文件的保存和退出; 

3.4  光标移动; 

3.5  插入模式(文本的插入); 

3.6  文本内容的删除操作; 

3.7  恢复修改及恢复删除操作; 

3.8  可视模式; 

3.9  复制和粘帖的操作; 

3.10  关于行号; 

3.11  查找和替换功能; 

3.11.1  查找; 

3.11.2  替换; 

4.  关于本文;

1.关于文本编辑器

文本编辑器有很多,比如图形模式的gedit、kwrite、OpenOffice ... ... ,文本模式下的编辑器有vi、vim(vi的增强版本)和nano ... ... vi和vim是我们在Linux中最常用的编辑器。我们有必要介绍一下vi(vim)最简单的用法,以让Linux入门级用户在最短的时间内学会使用它。

nano 工具和DOS操作系统下的edit操作相似,使用简单,我们不作介绍了,如果您有兴趣,不妨尝试一下;

vi是“Visual interface”的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。

vi不是一个排版程序,它不像Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。

vi是全屏幕文本编辑器,它没有菜单,只有命令。

2.  vi编辑器

为什么要学会简单应用vi?

vi或vim是Linux最基本的文本编辑工具,vi或vim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理中,永远不是图形界面的编辑器能比的。当您没有安装X-windows桌面环境或桌面环境崩溃时,我们仍需要字符模式下的编辑器vi;

vi或vim 编辑器在创建和编辑简单文档最高效的工具;

3.  vi编辑器的使用方法;

3.1如何调用vi

在纯文本模式下,以普通用户mianjin登录时,系统的界面是:

[mianjin@localhost  mianjin]

进入vi编辑器的操作格式为:

[mianjin@localhost  mianjin]$ vi  [path]/filename

具体在用户主目录下创建lx的文本文件的操作是:

[mianjin@localhost  mianjin]$vi  lx         //进入编辑模式,光标停在第一行的首位上

3.2  vi的三种命令模式;

Command(命令)模式,用于输入命令;

Insert(插入)模式,用于插入文本;

Visual(编辑)模式,用于视化的的高亮并选定正文;

在系统提示符后输入vi和想要编辑(或建立)的文件名,便可进入vi。如果只输入vi,而不带有文件名,也可以进入vi。然后先创建文件的内容,在退出vi时,只需在退出命令后输入文件名即可。

进入vi之后,首先进入的就是编辑模式,进入编辑模式后vi等待编辑命令输入而不是文本输入,也就是说,这时输入的字母都将作为编辑命令来解释。

进入编辑模式后光标停在屏幕的第一行首位上,其余各行的行首均有一个“~”符号,表示该行为空行。最后一行是状态行,显示出当前正在编辑的文件名及其状态。如果是[New File],则表示该文件是一个新建的文件。如果输入vi带有文件名后,文件已在系统中存在的话,则在屏幕上显示出该文件的内容,并且光标停在第一行的首位,在状态行显示出该文件的文件名,行数和字符数。

在编辑模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入插入模式。在插入模式下,用户输入的任何字符都被vi当作文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式,按ESC键即可。

在编辑模式下,用户按“:”键即可进入命令模式,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为命令模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的。末行命令执行完成后,vi自动回到编辑模式。如图3.1所示。

若在命令模式下输入命令过程中改变了主意,可用退格键(backspace)将输入的命令全部删除之后,再按一下退格键,即可使vi回到编辑模式。

图3.1  vi三种模式之间的转换示意图

3.3文件的保存和退出;

Command 模式是vi或vim的默认模式,如果我们处于其它命令模式时,要通过ESC键切换过来。

当我们按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令;

:w  保存;

:w  filename 另存为filename;

:wq! 保存退出;

:wq! filename 注:以filename为文件名保存后退出;

:q! 不保存退出;

:x 应该是保存并退出 ,功能和:wq!相同

3.4光标移动;

当我们按ESC进入Command模式后,我们可以用下面的一些键位来移动光标;

j 向下移动一行;

k 向上移动一行;

h 向左移动一个字符;

l 向右移动一个字符;

ctrl+b  向上移动一屏;

ctrl+f  向下移动一屏;

向上箭头向上移动;

向下箭头向下移动;

向左箭头向左移动;

向右箭头向右移动;

我们编辑一个文件时,对于j、k、l和h键,还能在这些动作命令的前面加上数字,比如 3j,表示向下移动3行。

3.5插入模式(文本的插入);

i  在光标之前插入;

a  在光标之后插入;

I 在光标所在行的行首插入;

A  在光标所在行的行末插入;

o  在光标所在的行的上面插入一行;

O  在光标所在的行的下面插入一行;

s  删除光标后的一个字符,然后进入插入模式;

S  删除光标所在的行,然后进入插入模式;

3.6文本内容的删除操作;

x 一个字符;

#x 删除几个字符,#表示数字,比如3x;

dw 删除一个单词;

#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;

dd 删除一行;

#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;

d$ 删除光标到行尾的内容;

J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;

3.7恢复修改及恢复删除操作;

u  撤消修改或删除操作;

按ESC键返回Command(命令)模式,然后按u键来撤消删除以前的删除或修改;如果您想撤消多个以前的修改或删除操作,请按多按几次u。这和Word的撤消操作没有太大的区别;

3.8可视模式;

在最新的Linux发行版本中,vi提供了可视模式,因为这个功能是vim才有的。如果您用的vi没有这个功能,就换成vim就有了。打开可视模式,按ESC键,然后按v就进入可视模式;

可视模式为我们提供了极为友好的选取文本范围,以高亮显示;在屏幕的最下方显示有;

-- 可视 --或--VISUAL--

如图3.1所示:

图3.1可视模式界面

进入可视模式,我们就可以用前面所说的命令行模式中的光标移动指令,可以进行文本范围的选取。

选取文本范围有何用?

我们可以对某部份删除作业,按d键就删除了我们选中的内容。

选中内容后,我们按y就表示复制;按d表示删除;

值得一提是的删除的同时,也表示复制。我们返回到命令模式,然后移动光标到某个位置,然后按shift+p键,就把刚才删除的内容贴上了。我们先在这里提一句,在后文,我们还得详细说说。

退出可视模式,还是用ESC键;

3.9复制和粘帖的操作;

其实删除也带有剪切的意思,当我们删除文字时,可以把光标移动到某处,然后按shift+p键就把内容贴在原处,然后再移动光标到某处,然后再按p或shift+p又能贴上;

p 在光标之后粘帖;

shift+p 在光标之前粘帖

来举一例:

比如我们想把一个文档的第三行复制下来,然后帖到第五行的后面,我们应该怎么做呢?

有两种方法;

第一种方法:

先把第三行删除,把光标移动到第三行处,然后用dd动作,接着再按一下shift+p键。这样就把刚才删除的第三行帖在原处了。

接着我们再用k键移动光标到第五行,然后再按一下p键,这样就把第三行的内容又帖到第五行的后面了;

第二种方法;

进入可视模式,按ESC键,然后按v键。移动鼠标指针,选中第三行的内容,然后按y键复制;再移动指针到第五行,最后按p键;

所以复制和粘贴操作,是命令模式、插入模式及可视模式的综合运用;我们要学会各种模式之间的切换,要常用ESC键;更为重要的学会在命令模式下移动光标;

3.10关于行号;

有时我们配置一个程序运行时,会出现配置文件X行出现错误 。这时我们要用到行号相关的操作;

为所有内容添加行号;

按ESC键,然后输入:

:set number

光标所处位置

在屏幕的右下角,有类似如下的;

         57,8          27%

在这之中,57表示第57行,8表示第8个字符;

3.11查找和替换功能;

3.11.1查找;

首先,我们要进入ESC键,进入命令模式;我们输入/或?就进入查找模式了;

/SEARCH  注:正向查找,按n键把光标移动到下一个符合条件的地方;

?SEARCH  注:反向查找,按shift+n 键,把光标移动到下一个符合条件的

举一例:比如我想在一个文件中找到swap单词,我应该如下做;

首先按ESC键,进入命令模式,然后输入;

/swap 或?swap

3.11.2替换;

按ESC键进入命令模式;

:s /SEARCH/REPLACE/g  注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;

:%s /SEARCH/REPLACE  注:把文档中所有SEARCH替换成REPLACE;

:#,# s /SEARCH/REPLACE/g  注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;

注:在这之中,g表示全局查找;我们注意到,就是没有替换的地方,也会把SEARCH高亮显示;

举例说明:

比如我们有一篇文档要修改;

我们把光标所在的行,把所有单词the,替换成THE,应该是:

:s /the/THE/g

我们把整篇文档的所有的the都替换成THE,应该是:

:%s /the/THE

我们仅仅是把第1行到第10行中的the,替换成THE,应该是;

:1,10  s /the/THE/g

4.关于本文;

我写本文的目的是让新手在最短的时间内用vi或vim创建、编辑和修改文件,所以说这篇文档并不是vi手册。本也没有涉及更为高级的vi用法。如果想了解的更多,请查找man和help;

上一篇下一篇

猜你喜欢

热点阅读