五.Linux基础之使用vi(vim)文本编辑器

使用Vi文本编辑器

vi是一个功能强大的全屏幕文本编辑工具,一直以来都作为类UNIX操作系统的默认文本编辑器。vim是vi文本编辑器(简称vi编辑器)的增强版本,在vi编辑器的基础上扩展了很多实用的功能,但是也习惯将vim称为vi。为了方便实用可以设置一个别名,将vi指向vim。

vi编辑器的工作模式

在vi编辑器中可以使用三种不同的工作模式,即
命令模式、输入模式和末行模式
在不同的模式中能够对文件进行的操作也不同。

  • ▶命令模式:启动vi编辑器后默认进入命令模式。改模式中主要完成如光标移动,字符串查找,以及删除,复制,粘贴文件内容等相关操作。

  • ▶输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正进行修改或添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“–INSERT–”的状态提示信息。

  • ▶末行模式:该模式可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后会出现冒号“:”提示符。

三种模式切换:在命令模式→按“:”冒号→进入末行模式
按“a、i、o”可以进入输入模式
在输入模式、末行模式均可按Esc键返回命令模式。

命令模式的基本操作

执行单独的“vi”命令即可进入vi编辑器的命令模式,还会显示相关版本信息。但常见的使用方法是指定要编辑的文件名作为参数,若该文件不存在,则vi根据改文件名称打开一个新的空文件。

  • 模式切换:

    在命令模式中,按a、i、o等键切换至输入模式,同时确定插入点的位置和方式,以便录入文件内容。需要返回命令模式时,按Esc键即可。
    常见的几个切换键:
    ▶a:在当前光标之后插入内容。
    ▶A:在光标所在行的末尾(行尾)插入内容。
    ▶i:在当前光标之前插入内容。
    ▶I(大写i):在光标所在行的开头(行首)插入内容
    ▶o:在光标所在行的后面插入一个新行。
    ▶O:在光标所在行的前面插入一个新行。

  • 移动光标

    ▶光标的方向移动。直接按↑、↓、←、→四个方向键完成相应的光标移动。

    ▶翻页移动
    按Pag Down键或Ctrl + F组合键向下翻动一整页内容。
    按 Pag Up 键或 Ctrl + B 组合键向上翻动一整页内容。

    ▶行内快速跳转:
    按Home键或^键、数字0键将光标快速的跳转到本行的行首
    按End键或$键将光标快速跳转到本行的行尾

    ▶行间快速跳转:
    使用按键命令1G或gg可条转到文本内容的第一行
    使用按键命令G可跳转到文件最后一行。
    使用按键命令#G可跳转到文本的第#行(其中“#”号用具体的数字替换)。
    为了便于查看行间的跳转效果,在这里学习如何在vi编辑器里显示行号。
    切换到末行模式并执行“:set nu”显示行号,执行“set nonu”取消显示行号。

  • 复制、粘贴和删除
    ▶删除操作
    按x键或Delete键删除光标处的单个字符。
    使用按键命令dd删除当前光标所在行,使用#dd的形式还可以删除从光标处开始的#行内容(其中“#”号用具体的数字替换)
    使用按键命令d^删除当前光标之前到行首的所有字符。
    使用按键命令d$删除当前光标处到行尾的所有字符。

    ▶复制操作
    使用按键命令yy复制当前行整行的内容到剪贴板。
    使用#yy的形式还可以复制从光标开始的#行内容(其中“#”号用具体的数字替换)。复制的内容需要粘贴后才能使用。

    ▶粘贴操作
    在vi编辑器中,前一次删除或复制的内容将会保存到剪切板缓存区中,按p键即可将缓存区中的内容粘贴到光标位置处之后,按P键则会粘贴到光标位置处之前。

  • 查找文件内容
    在命令模式中,按/键可以输入指定的字符串,从当前光标处开始向后进行查找(按?键则向前查找)。完成查找后可以按n、N键在不同的查找结果中进行选择。被查找的字符串高亮显示,光标会自动移至第一个查找结果。

  • 撤销编辑及保存和退出
    在对文件进行编辑时,有时候需要对一些失误的编辑操作进行撤销,这时可以使用按键命令u、U键。

    ▶u键命令用于取消最近一次的操作并恢复操作结果,可以多次重复按u键恢复多步操作。

    ▶U键命令用于取消对当前行做的所有编辑。

    ▶当需要保存当前文件内容vi编辑器时,可以使用按键命令ZZ。

末行模式中的基本操作

在命令模式按 :键可以切换到末行模式,vi编辑器的最后一行会显示“:”提示符,用户可以在该提示符后输入特定的末行命令,如保存文件、退出编辑器、打开新文件、读取其他文件内容及字符串替换等丰富的功能操作。

  • 保存文件及退出vi编辑器
    ▶保存
    :w
    若要另存为其他文件,则需要制定新的文件名,必要时还需要指定文件路径。例:“:w /root/newfile” --该操作将把打钱编辑的文件另存到/root目录下,文件名为newfile

    ▶退出编辑器
    :q

    ▶若文件已经修改,则使用q是无法保存的,这时需要使用强制退出
    :q! --不保存强制退出

    ▶若要保存既要退出则可使用
    :wq 或 :x --实现

  • 打开新文件或读入其他文件内容
    ▶打开新的文件进行编辑
    在当前vi编辑器中,执行“:e 新的文件”形式的末行命令可以编辑新文件。
    例:e ~/123.txt --此操作将直接打开当前用户宿主目录中的123.txt进行编辑

    ▶在当前文件中读入其他文件内容。
    执行“:r 其它文件”形式的末行命令可以读入(Read)其他文件中的内容,并将其复制到当前光标所在位置。
    例:r /etc/123.txt --此操作将把文件/etc/123.txt中的内容复制到当前文件中。

  • 替换文件内容

    ▶%:在整个文件中进行查找并替换

    ▶n,m:在指定行数范围内的文件内容进行查找并替换

    ▶末尾的“-g”也是可选内容,不写时只对每一行的第一个匹配结果生效,写上时对替换范围内的每一行的所有匹配结果都生效。
    例:对第5行到15行的initdefault替换为DEFAULT
    :5,15 sub /initdefault/DEFAULT/g
    例:对整个文档范围的initdefault替换为DEFAULT
    :% sub /initdefault/DEFAULT/g

在vi编辑器的末行模式中,能够将文件中的特定的字符串替换成新的内容,当需要大批量修改同一内容时,使用替换功能将大大提高效率。
格式如下:
:【替换范围】 sub /旧的内容/新的内容【/g】
在上述替换格式中,主要关键字为sub(Substitute,替换)也可简写为s。替换范围是可选部分,默认对当前行内容进行替换。一般表示为以下两种形式:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值