博客
关于我
vi使用时的注意事项
阅读量:324 次
发布时间:2019-03-04

本文共 1770 字,大约阅读时间需要 5 分钟。

1. vi 的基本概念

vi 可以分为三种操作状态:命令模式(Command mode)插入模式(Insert mode)底线命令模式(Last line mode)。每种模式有不同的功能,理解它们的区别对使用 vi 是非常重要的。

(1) Command mode

在 Command mode 下,您可以控制屏幕光标的移动,字符或光标的删除,移动复制某段文本及进入 Insert mode,或者切换到 Last line mode。

(2) Insert mode

在 Insert mode 下,您可以输入文字数据。要切换到 Insert mode,只需在 Command mode 下按下 iao 键。

  • i:插入,从光标所在位置开始输入文字。
  • a:插入,光标所在位置的下一行开始输入文字。
  • o:插入,光标所在位置的新行开始输入文字。

(3) Last line mode

在 Last line mode 下,您可以执行文件操作,如存储文件、离开编辑器或设置编辑环境(如寻找字符串、列出行号等)。


2. vi 的基本操作

(1) 如何进入 vi?

在终端或 shell 提示符下输入以下命令即可进入 vi:

vi testfile

进入 vi 后,默认处于 Command mode。如果想输入文字,需切换至 Insert mode。

(2) 如何切换至 Insert mode 编辑文件?

在 Command mode 下,按下以下任一键即可进入 Insert mode:

  • i:插入从光标所在位置开始输入文字。
  • a:插入,光标所在位置的下一行开始输入文字。
  • o:插入,光标所在位置的新行开始输入文字。

(3) 如何离开 vi 及存文件?

在 Command mode 下,执行以下命令即可离开 vi:

  • :w filename:将文章存入指定文件。
  • :wq:存入文件后离开 vi。
  • :q!:强制离开 vi,放弃编辑。

3. Command mode 功能键列表

(1) 常用移动光标键

  • h, j, k, l:左、下、上、右移动一格。
  • Ctrl+B/Ctrl+F:屏幕往后/前移动一页。
  • Ctrl+U/Ctrl+D:屏幕往后/前移动半页。
  • 0:移到当前行开头。
  • G:移到当前文件末尾。
  • w:移到下一个单词开头。
  • e:移到下一个单词结尾。
  • b:移到上一个单词开头。
  • $:移到当前行末尾。
  • ^:移到当前行第一个非空字符。
  • #:移到特定列位置(如 #51 表示第 51 列)。

(2) 删除文字

  • x:删除光标后一个字符。
  • #x:按次数删除后续字符(如 6x 删除 6 个字符)。
  • X:删除光标前一个字符。
  • #X:按次数删除前面字符(如 20X 删除 20 个字符)。
  • dd:删除当前行。
  • #dd:按次数删除行(如 6dd 删除 6 行)。

(3) 复制

  • yw:将光标处到末尾复制到缓冲区。
  • p:将缓冲区内容粘贴到光标位置。
  • yy:复制当前行。
  • #yy:按次数复制行(如 6yy 复制 6 行)。
  • ap:将缓冲区内容粘贴。

(4) 取代

  • r:替换光标处的字符。
  • R:替换直到按回车。

(5) 复原

  • u:撤销上一次操作。
  • ::重复上一次操作。

(6) 更改

  • cw:更改光标处的字符到末尾。
  • c#w:按次数更改字符(如 c3w 更改 3 个字符)。

(7) 跳至指定行

  • Ctrl+G:显示光标所在行的行号。
  • #G:跳至指定行(如 15G 跳至第 15 行)。

4. Last line mode 下指令简介

在 Last line mode 下,输入以下命令:

(1) 列出行号

  • set nu:在每行前添加行号。

(2) 跳至指定行

  • #:输入行号后按回车跳至该行。

(3) 寻找字符串

  • /关键字:按 / 输入要寻找的字符串,按 n 往下寻找。
  • ?关键字:按 ? 输入要寻找的字符串,按 n 往上寻找。

(4) 取代字符串

  • $s/原字符串/替换字符串/g:按次数替换字符串。
  • %s/原字符串/替换字符串/c:替换时需确认。

(5) 存文件

  • w:存入当前文件。
  • #w filename:存入指定文件(如 #30w 存入第 30 行到 filename)。

(6) 离开

  • q:离开 vi。
  • qw:离开时存入文件。
  • q!:强制离开 vi。

转载地址:http://djwh.baihongyu.com/

你可能感兴趣的文章
PCB生产流程详解-ChatGPT4o作答
查看>>
PCB设计十条黄金法则
查看>>
SpringSecurity框架介绍
查看>>
PCI Express学习篇:Power Management(二)
查看>>
pcie握手机制_【博文连载】PCIe扫盲——Ack/Nak 机制详解(一)
查看>>
pcm转wav的方法及代码示例
查看>>
PC史上最悲剧的16次失败
查看>>
PC端恶意代码分析Lab1.1-5.1,从零基础到精通,收藏这篇就够了!
查看>>
PC端稳定性测试探索
查看>>
PC端编辑 但能在PC端模拟移动端预览的富文本编辑器
查看>>
PDB文件:每个开发人员都必须知道的
查看>>
springMVC学习(二)
查看>>
Pdfkit页眉和页脚
查看>>
PDF中的Pandoc语法突出显示不起作用
查看>>
pdf从结构新建书签_在PDF文件中怎样创建书签
查看>>
pdf做成翻页电子书_第一弹:常见BOOX电子书阅读器问题解答,这些技能你都会吗?...
查看>>
PDF工具箱-分割提取合并
查看>>
pdf打印骑缝章
查看>>
PDF文字识/编辑?这个工具真的很强大!
查看>>
pdf文档出现乱码如何修改
查看>>