Linux文本编辑跳到指定行,Linux 命令每日一练:vi命令

Linux中vi 命令 —>可以理解记忆为:visual insert(即可视化插入)—> 是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。

507d2d7d91321b113efeaa8422286162.png

vi编辑器支持命令模式(command mode)和编辑模式(edit mode);默认情况下,打开vi编辑器后自动进入命令模式。

命令模式

可以完成对文件的操作命令,可以控制屏幕光标的移动,字符、字或行的删除,移动复制某区段以及进入编辑模式。

编辑模式

只有在edit mode下,才可以做文字输入。

从命令模式 —-> 编辑模式 使用“A”、“a”、“O”、“o”、“I”、“i”键。

按「a」进入编辑模式后,是从当前光标闪烁位置的下一个位置开始输入文字;

按「A」进入编辑模式后,在行末添加文本;

按「i」进入编辑模式后,是从当前光标闪烁位置开始输入文件;

按「I」进入编辑模式后, 在行首插入文本;

按「o」进入编辑模式后,是插入新的一行,在当前行后面插入一空行。

按「O」进入编辑模式后,是插入新的一行,在当前行前面插入一空行。

从编辑模式 —-> 命令模式 使用“Esc”键。

命令格式:

vi [选项]… [文件/文件列表]……

命令参数:

+:从指定行号的行开始显示文本内容;

-b:以二进制模式打开文件,用于编辑二进制文件和可执行文件;

-c:在完成对第一个文件编辑任务后,执行给出的指令;

-d:以diff模式打开文件,当多个文件编辑时,显示文件差异部分;

-l:使用lisp模式,打开“lisp”和“showmatch”;

-m:取消写文件功能,重设“write”选项;

-M:关闭修改功能;

-n:不实用缓存功能;

-o:指定同时打开指定数目的文件;

-R:以只读方式打开文件;

-s:安静模式,不现实指令的任何错误信息。

实例演练及总结:

如果vi命令后面接一个不存在的文件名,执行语句时则创建这个不存在的文件。

b6722e4a91f9112e4dbb6f30f08a85f4.png

c599e331e8659ba6a5fe964cd9bab9ce.png

说明:关于退出vi编辑器及保存文件

在退出「编辑模式」之后的「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,如果输入的是:

1) : w filename (对操作的文件会以指定的文件名filename另存为)

2) :w! (对操作的文件强制保存并退出vi编辑器)

3) : wq (对操作的文件保存并退出vi编辑器)

4) : q (对操作的文件不进行保存并退出vi编辑器)

5): q! (对操作的文件不进行并强制退出vi编辑器)

6): ZZ (命令模式下保存当前文件所做的修改后并退出vi编辑器)

vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入。并将常用内置命令分为如下几大类以方便查找使用:

移动光标

vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母h、j、k、l来分别控制光标左、下、上、右移一格。

按Ctrl+b:屏幕往”后”移动一页。

按Ctrl+f:屏幕往”前”移动一页。

按Ctrl+u:屏幕往”后”移动半页。

按Ctrl+d:屏幕往”前”移动半页。

按数字0:移到文章的开头。

按G:移动到文章的最后。

按$:移动到光标所在行的”行尾”。

按^:移动到光标所在行的”行首” 。

按w:光标跳到下个字的开头 。

按e:光标跳到下个字的字尾 。

按b:光标回到上个字的开头 。

按#l:光标移到该行的第#个位置,如:5l,56l。

按#:15:光标移到15行。

按:e文件名:在命令模式下,打开并编辑指定名称的文件;

按:n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;

按:f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;

删除文字

按x:每按一次,删除光标所在位置的”后面”一个字符。

按#x:例如,6x表示删除光标所在位置的”后面”6个字符。

按X:大写的X,每按一次,删除光标所在位置的”前面”一个字符。

按#X:例如,20X表示删除光标所在位置的”前面”20个字符。

按dd:删除光标所在行。

按#dd:从光标所在行开始删除#行。

按D:删除从当前光标到光标所在行尾的全部字符;

复制

按yw:将光标所在之处到字尾的字符复制到缓冲区中。

按#yw:复制#个字到缓冲区

按yy:复制光标所在行到缓冲区。

按#yy:例如,6yy表示拷贝从光标所在的该行”往下数”6行文字。

按p:将缓冲区内的字符贴到光标所在位置。注意:所有与”y”有关的复制命令都必须与”p”配合才能完成复制与粘贴功能。

按P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;

替换

按r:替换光标所在处的字符。

按R:替换光标所到之处的字符,直到按下「Esc」键为止。

a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作;

回到上一次操作

按u:如果您误执行一个命令,可以马上按下u,回到上一个操作。按多次”u”可以执行多次回复。

更改

按 cw:更改光标所在处的字到字尾处。

按c#w:例如,c3w表示更改3个字 。

跳至指定的行

按Ctrl+g:列出光标所在行的行号。

按#G:15G表示移动光标至文章的第15行的行首。

显示行号

set nu: 会在文件中的每一行前面显示出行号

:set number:在命令模式下,用于在最左端显示行号;

:set nonumber:在命令模式下,用于在最左端不显示行号;

:行号: 光标跳转到指定行的行首;

:$: 光标跳转到最后一行的行首;

查找、匹配

/keyword:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

?keyword:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

待后面更加熟练之后继续进行详细总结,敬请期待…..

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值