前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vi 的那些事

vi 的那些事

作者头像
小徐
发布2019-08-05 14:55:22
5940
发布2019-08-05 14:55:22
举报
文章被收录于专栏:GreenplumGreenplum

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 (数字 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」:屏幕往"前"移动半页。

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

按数字「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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 河马coding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 11.15 vi命令
    • 11.15.1 命令介绍
      • 11.15.2 参数说明
        • 11.15.2.1 全部参数详解
        • 11.15.2.2 不同模式下的命令详解
        • 11.15.2.3 移动光标的操作
        • 11.15.2.4 删除文字操作
        • 11.15.2.5 复制操作
        • 11.15.2.6 替换操作
        • 11.15.2.7 回复到上一次操作
        • 11.15.2.8 更改操作
        • 11.15.2.9 跳到制定的行
      • 11.15.3 常用命令
        • 11.15.3.1 打开一个文件
        • 11.15.3.2 打开多个文件
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档