当前位置: 首页 > article >正文

Vi 和 Vim 文本编辑器使用指南

目录

基本模式

查找与替换


Vi(Visual)和 Vim(Vi Improved)是两款在 Unix/Linux 系统中广泛使用的文本编辑器。Vim 是 Vi 的改进版本,继承了 Vi 的核心功能,并增加了许多新特性,如语法高亮、多级撤销等。它们都具有强大的文本编辑能力,支持多种模式,能够高效地进行文本的插入、删除、查找、替换等操作。

基本模式

命令模式(普通模式)

进入编辑器后默认处于命令模式。在此模式下,可以使用各种命令来移动光标、删除文本、查找文本等。例如,按“h”键可以使光标向左移动一个字符,按“j”键可以使光标向下移动一行。

常用移动命令:

  • h:光标左移
  • j:光标下移
  • k:光标上移
  • l:光标右移
  • gg:移动到文件的第一行
  • G:移动到文件的最后一行
  • nG:移动到文件的第 n 行(n 为数字)
  • 0:移动到当前行的行首
  • $:移动到当前行的行尾
  • w:光标移动到下一个单词的开头
  • b:光标移动到上一个单词的开头
  • e:光标移动到当前单词的结尾

常用删除命令:

  • x:删除光标所在位置的字符
  • dd:删除光标所在行
  • ndd:删除光标所在行及其下面的 n 行(n 为数字)
  • dw:删除光标所在位置的单词

插入模式

在命令模式下,按“i”键可以进入插入模式。此时,可以在光标所在位置插入文本。例如,将光标移动到文件的某个位置后,按“i”,然后输入“Hello, world!”,这段文本就会被插入到光标所在位置。

其他进入插入模式的方式:

  • a:在光标所在位置的后面插入文本
  • o:在光标所在行的下面插入一行并进入插入模式
  • O:在光标所在行的上面插入一行并进入插入模式

末行模式(命令行模式)

在按“:”键可以进入末行模式。

按“v”键可以进入可视模式

按“u”键可以撤销上一次的操作;按“Ctrl + r”键可以重做上一次被撤销的操作。

  • :w:保存文件
  • :wq:保存文件并退出编辑器
  • :q:退出编辑器(如果文件有未保存的修改,会提示错误)
  • :q!:强制退出编辑器,不保存修改
  • :%s/old/new/g:将文件中所有的“old”替换为“new”(% 表示整个文件,g 表示全局替换)

查找与替换

查找

在命令模式下,按“/”键,然后输入要查找的内容,再按回车键,光标会移动到找到的第一个匹配项。例如,输入“/hello”并回车,光标会移动到文件中第一个“hello”出现的位置。

按“n”键可以查找下一个匹配项,按“N”键可以查找上一个匹配项。

替换

在命令模式下,将光标移动到要替换的字符上,按“r”键,然后输入新的字符,即可替换该字符。例如,光标在字符“a”上,按“r”再输入“b”,“a”就被替换为“b”了。

使用末行模式的替换命令可以批量替换文本,如上文提到的:%s/old/new/g


http://www.kler.cn/a/508820.html

相关文章:

  • 21天学通C++——11多态(引入多态的目的)
  • 【逆境中绽放:万字回顾2024我在挑战中突破自我】
  • PyBroker:利用 Python 和机器学习助力算法交易
  • VSCode 的部署
  • Elasticsearch:Jira 连接器教程第二部分 - 6 个优化技巧
  • Jira中bug的流转流程
  • 线程池面试题目集合
  • LLM - 大模型 ScallingLaws 的 C=6ND 公式推导 教程(1)
  • 1.Spring AI 从入门到实践
  • 2025年应用与API安全展望:挑战与机遇并存
  • 青少年编程与数学 02-007 PostgreSQL数据库应用 05课题、结构化查询语言(SQL)
  • 1.6 阅读k8s源码的准备工作
  • Android 12.0 息屏休眠后立即启动屏保功能实现
  • SpringMVC 实战指南:打造高效 Web 应用的秘籍
  • 外包公司名单一览表(成都)
  • 《C++11》中的显式虚函数重载:深入理解与应用
  • 【数据分析(二)】初探 Pandas
  • Java中线程的学习
  • EI Scopus双检索 | 2025年第四届信息与通信工程国际会议(JCICE 2025)
  • redis.call()和redis.pcall()的区别
  • uniapp 微信小程序 editor 富文本编辑器
  • SpringBoot中Get请求和POST请求接收参数详解
  • STM32--定时器输出pwm知识点_stm32 pwm-CSDN博客
  • Python毕业设计选题:基于django+vue的智能租房系统的设计与实现
  • 彩色图像面积计算一般方法及MATLAB实现
  • 电脑换固态硬盘