news 2026/4/19 11:30:02

4、Vi编辑器简单编辑操作全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
4、Vi编辑器简单编辑操作全解析

Vi编辑器简单编辑操作全解析

在文本编辑中,Vi编辑器以其强大的功能和高效的操作方式受到广泛青睐。本文将详细介绍Vi编辑器中插入、追加、修改、删除、移动和复制文本等常见操作,帮助你更好地掌握Vi编辑器的使用技巧。

1. 插入文本

若要在句子开头插入 “With a screen editor”,可按以下步骤操作:
| 按键操作 | 结果 |
| — | — |
| 2k | 移动光标到要插入文本的行(使用 k 命令将光标上移两行) |
| iWith a | 进入插入模式并开始插入 “With a” |
| screen editor | 继续插入 “screen editor” |
| ESC | 结束插入并返回命令模式 |

2. 追加文本

使用追加命令 “a” 可在文件的任意位置追加文本。它与插入命令 “i” 类似,但文本会插入到光标之后。按下 “i” 进入插入模式时,光标在输入文本前不会移动;而按下 “a” 进入插入模式时,光标会向右移动一个空格。

3. 修改文本

使用修改命令 “c” 可替换文件中的任意文本。为告知 “c” 命令要修改的文本范围,需将其与移动命令结合使用。常见的组合及示例如下:
- cw:从光标位置到单词末尾。
- c2b:向后两个单词。
- c$:到行尾。
- c0:到行首。

以将 “With an editor you can scroll the page,” 中的 “an” 改为 “a screen” 为例:
| 按键操作 | 结果 |
| — | — |
| w | 移动光标到要编辑的位置(“an”) |
| cw | 标记要修改的单词,末尾会显示 $ |
| a screen | 输入替换文本,然后按 ESC 返回命令模式 |

此外,“cc” 命令可替换整行,“C” 命令可从当前光标位置替换到行尾。“r” 命令可替换单个字符,无需按 ESC 即可返回命令模式。

graph TD; A[开始] --> B[定位光标]; B --> C{选择修改方式}; C -->|cw| D[修改单词]; C -->|cc| E[修改整行]; C -->|C| F[修改到行尾]; C -->|r| G[修改单个字符]; D --> H[输入替换文本]; E --> H; F --> H; G --> H; H --> I[按ESC返回命令模式]; I --> J[结束];
4. Vi命令的通用形式

多数Vi命令遵循通用模式:(命令)(数字)(文本对象) 或 (数字)(命令)(文本对象)。其中,数字和命令是可选的。若无数字和命令,则为移动命令;添加数字则为多次移动;将命令(c、d 或 y)与文本对象结合则为编辑命令。

5. 改变大小写

使用波浪号 “~” 命令可改变字母的大小写。将光标定位到要改变大小写的字母上,按下 “~”,字母大小写会改变,光标会移到下一个字符。在较旧版本的Vi中,无法为 “~” 指定数字前缀或文本对象,而现代版本支持数字前缀。

6. 删除文本

使用删除命令 “d” 可删除文件中的任意文本,同样需指定文本对象。常见的删除操作如下:
-单词删除
- dw:从光标位置开始删除一个单词,包括单词后的空格。
- de:只删除到单词末尾,保留单词间的空格。
- dE:删除到单词末尾,包括标点符号。
- db:向后删除一个单词。
- d$ 或 D:删除到行尾。
- d0:删除到行首。

以删除 “Screen editors are are very popular,” 中的一个 “are” 为例:
| 按键操作 | 结果 |
| — | — |
| 2w | 移动光标到要删除的单词 “are” |
| dw | 删除该单词 |

  • 行删除

    • dd:删除光标所在的整行。
    • 2dd:删除两行。
  • 字符删除

    • x:删除光标所在的单个字符。
    • X:删除光标前的单个字符。
    • 5x:删除光标下及右侧的五个字符。

若误删了文本,可通过以下方法恢复:
- 若刚删除且未执行其他命令,可按 “u” 撤销上一个命令。
- 按 “U” 可将行恢复到未修改的原始状态。
- 若要恢复最近删除的行,可使用 “p” 命令。若知道要恢复的是第几个删除的内容,可使用 “”3p” (恢复第3个删除的内容)。

7. 移动文本

在Vi中,移动文本的操作类似于 “剪切粘贴”。先删除文本,其会临时保存在特殊缓冲区,然后移动到新位置,使用 “p” 命令将文本放置到新位置。“p” 命令将文本放在光标之后,“P” 命令将文本放在光标之前。

例如,将 “You can move text by deleting it and then,” 中的 “like a “cut and paste,”” 移动到下一行:
| 按键操作 | 结果 |
| — | — |
| dd | 删除该行,文本存入缓冲区 |
| p | 将删除的行恢复到光标下一行 |

需注意,删除文本后,必须在执行下一个修改或删除命令前恢复,否则删除的文本将丢失。

8. 交换两个字母

使用 “xp” (删除字符并放在光标后)可交换两个字母。例如,将 “mvoe” 中的 “vo” 交换,将光标放在 “v” 上,按下 “x” 再按下 “p”。目前Vi中没有直接交换单词的命令。

9. 复制文本

使用 “y” (复制)和 “p” (粘贴)命令可复制文件中的任意文本。复制命令可与任意移动命令结合,如 “yw”(复制一个单词)、“y$”(复制到行尾)、“4yy”(复制四行)。“yy” 或 “Y” 可复制整行。

例如,要将 “With a screen editor you can” 复制到后续行:
| 按键操作 | 结果 |
| — | — |
| yy | 将该行复制到缓冲区 |
| 2j | 移动光标到要粘贴的位置 |
| P | 粘贴复制的文本 |

通过掌握这些基本操作,你可以更高效地使用Vi编辑器进行文本编辑。不断练习和应用这些技巧,将能大幅提升你的编辑效率。

Vi编辑器简单编辑操作全解析

10. 一些操作的注意事项和特殊情况

在使用Vi编辑器进行各种操作时,还存在一些需要注意的特殊情况和细节。

10.1 修改命令的不同效果

在使用修改命令时,对于影响小于整行和影响一整行或多行的命令,其操作方式有所不同。像 “cw” 这类影响小于整行的命令,旧文本会在输入新文本覆盖时保留,按下 “ESC” 后多余的旧文本才会消失;而 “cc” 这类影响一整行或多行的命令,会先清除旧文本,留下空白行供输入新文本。

10.2 删除操作的恢复

虽然前面提到了恢复误删文本的方法,但不同类型的删除恢复情况有所差异。“u” 只能撤销最近一个命令,“U” 能将行恢复到原始状态,而 “p” 命令对于恢复不同类型的删除内容也有不同表现。对于删除的行,可通过 “”3p” 等方式恢复指定编号缓冲区的内容;对于删除的单词或行片段,“p” 会恢复最后删除的内容。不过要注意,只有删除的行才会被保存在编号缓冲区,单词和行片段不在此列。

11. 总结与操作流程梳理

为了更清晰地理解和掌握Vi编辑器的这些操作,下面对主要操作进行总结,并给出操作流程梳理。

11.1 操作总结表格
操作类型常用命令说明
插入文本i、a“i” 在光标前插入,“a” 在光标后插入
修改文本cw、cc、C、r、s、S、R不同组合适用于不同范围的文本修改
改变大小写~改变字母大小写
删除文本dw、dd、D、x、X可按单词、行、字符进行删除
移动文本d + p先删除再粘贴
复制文本y + p先复制再粘贴
11.2 操作流程 mermaid 图
graph LR; A[开始编辑] --> B{选择操作类型}; B -->|插入| C[定位光标并按 i 或 a 插入]; B -->|修改| D[选择修改命令如 cw 等]; B -->|改变大小写| E[按 ~ 改变字母大小写]; B -->|删除| F[选择删除命令如 dw 等]; B -->|移动| G[用 d 删除并移动光标后按 p 粘贴]; B -->|复制| H[用 y 复制并移动光标后按 p 粘贴]; C --> I[输入文本并按 ESC 返回命令模式]; D --> I; F --> I; G --> I; H --> I; I --> J[检查编辑结果]; J --> K{是否完成编辑}; K -->|是| L[结束编辑]; K -->|否| B;
12. 常见问题及解决方法

在使用Vi编辑器过程中,可能会遇到一些常见问题,下面为你提供相应的解决方法。

12.1 误删问题

如前面所述,若误删了文本,可根据删除的时间和类型选择合适的恢复方法。刚删除且未执行其他命令时,按 “u” 撤销;若想恢复行到原始状态,按 “U”;若要恢复最近删除的内容,使用 “p” 命令。

12.2 命令使用错误

如果在输入命令时出现错误,可按 “ESC” 回到命令模式,重新输入正确的命令。同时,要注意命令的大小写,不同大小写的命令可能有不同的功能,如 “x” 删除光标所在字符,“X” 删除光标前的字符。

13. 提升编辑效率的小技巧

为了进一步提升使用Vi编辑器的效率,这里分享一些小技巧。

13.1 快捷键组合

熟练掌握常用的快捷键组合,如 “yy + p” 复制粘贴整行,“dw + p” 移动单词等。通过不断练习,形成肌肉记忆,减少操作时间。

13.2 利用数字前缀

在命令前添加数字前缀可以快速执行多次操作,如 “5x” 删除五个字符,“2dd” 删除两行。合理运用数字前缀能提高编辑的速度。

通过深入学习和不断实践上述内容,你将能够更加熟练和高效地使用Vi编辑器进行文本编辑,无论是简单的文本修改还是复杂的文档处理,都能轻松应对。希望这些内容对你有所帮助,祝你在文本编辑的道路上更加顺畅!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 22:51:57

快手开源AutoThink大模型:动态推理技术提升AI效率

导语 【免费下载链接】KwaiCoder-AutoThink-preview 项目地址: https://ai.gitcode.com/hf_mirrors/Kwaipilot/KwaiCoder-AutoThink-preview 快手Kwaipilot团队正式开源KwaiCoder-AutoThink-preview大模型,通过动态调节推理深度实现效率与性能的平衡&#x…

作者头像 李华
网站建设 2026/4/19 5:04:54

JeecgBoot低代码开发平台:企业级应用快速构建实战指南

还在为传统开发效率低下而烦恼吗?🤔 想了解如何通过Java低代码平台实现70%以上的开发效率提升?今天我们就来深度解析JeecgBoot这款革命性的企业级Web应用开发利器。 【免费下载链接】jeecg-boot 项目地址: https://gitcode.com/gh_mirrors…

作者头像 李华
网站建设 2026/4/15 14:45:41

如何快速掌握郊狼游戏控制器:战败惩罚系统终极指南

如何快速掌握郊狼游戏控制器:战败惩罚系统终极指南 【免费下载链接】DG-Lab-Coyote-Game-Hub 郊狼游戏控制器——战败惩罚 项目地址: https://gitcode.com/gh_mirrors/dg/DG-Lab-Coyote-Game-Hub 想要为你的游戏直播注入全新活力吗?郊狼游戏控制器…

作者头像 李华
网站建设 2026/4/19 8:31:18

xiaozhi-esp32自定义唤醒词终极配置指南:打造专属AI语音助手

xiaozhi-esp32自定义唤醒词终极配置指南:打造专属AI语音助手 【免费下载链接】xiaozhi-esp32 Build your own AI friend 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32 还在为千篇一律的"小爱同学"、"天猫精灵"而烦…

作者头像 李华
网站建设 2026/4/17 16:25:25

AtlasOS深度优化:让你的Windows系统性能飙升

AtlasOS深度优化:让你的Windows系统性能飙升 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atlas1/Atlas …

作者头像 李华