vi 的那些事

11.15 vi命令

11.15.1命令介绍

vi此命令主要对系统上文件进行编辑,此命令分为命令模式、插入模式、末行模式

11.15.2参数说明

11.15.2.1全部参数详解

a:在当前字符后添加文本

A:在行末添加文本

i:在当前字符前插入文本

I:在行首插入文本

o:在当前行后面插入一空行

O:在当前行前面插入一空行

:wq保存并推出

:w将制定的文件保存起来

:q!不保存而强制退出

:w!:在命令模式下,执行强制存盘操作

:q:在命令模式下,执行退出vi操作

:q!:在命令模式下,执行强制退出vi操作

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

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

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

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

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

11.15.2.2不同模式下的命令详解11.15.2.2.1命令模式常用命令

向右移动--> l

向左移动--> h

向下移动--> j

向上移动--> k

删除光标所在位置的字符--> x

删除光标所在的行--> dd(敲d两次)

保存当前修改并退出--> ZZ

撤销上一步操作--> u

移动光标到行首--> 0(数字)

移动光标到行末--> $

移动光标到当前页最顶行--> H

移动光标到当前页最底行--> L

向前翻一页(Page Up)--> Ctrl + f

向后翻一页(Page Down)--> Ctrl + b

复制当前行的数据--> yy

粘贴已经复制的数据--> p

把当前行第一次出现的old字符串替换成new字符串--> :s/old/new

把当前行出现的所有old字符串替换陈gnew字符串--> :s/old/new/g

把文件中出现的所有old字符串替换陈gnew字符串--> :%s/old/new/g

退出并保存--> ZZ

11.15.2.2.2插入模式常用命令

在光标左侧输入正文[常用] --> i

在光标右侧输入正文[常用] --> a

在光标所在行的下一行增添新行--> o

在光标所在行的上一行增添新行--> O

在光标所在行的开头输入正文--> I

在光标所在行的末尾输入正文--> A

11.15.2.2.3末行模式

保存文件[常用] --> w

将当前文件的内容保存到file文件--> w file

保存文件并退出vi编辑器[常用] --> wq

读取file文件的内容,插入当前光标所在行的后面--> r file

退出vi编辑器(如果当前文件有改动,则无法退出)--> q

强制退出vi编辑器(不保存修改)[常用] --> q!

11.15.2.3移动光标的操作

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

按「ctrl」+「b」:屏幕往"后"移动一页。

按「ctrl」+「f」:屏幕往"前"移动一页。

按「ctrl」+「u」:屏幕往"后"移动半页。

按「ctrl」+「d」:屏幕往"前"移动半页。

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

按数字「gg」:移到文章的开头。

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

按「$」:移动到光标所在行的"行尾"。

按「^」:移动到光标所在行的"行首"

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

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

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

按「dG」:光标回到首行快速删除所有内容

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

11.15.2.4删除文字操作

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

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

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

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

「dd」:删除光标所在行。

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

11.15.2.5复制操作

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

「#yw」:复制#个字到缓冲区

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

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

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

11.15.2.6替换操作

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

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

11.15.2.7回复到上一次操作

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

11.15.2.8更改操作

「cw」:更改光标所在处的字到字尾处

「c#w」:例如,「c3w」表示更改3个字

11.15.2.9跳到制定的行

「ctrl」+「g」列出光标所在行的行号。

「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

11.15.3常用命令

11.15.3.1打开一个文件

# vi test.log

11.15.3.2打开多个文件

# vi test1.log test2.log

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180701G0LQIX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券