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

相关推荐
xiaoye-duck25 分钟前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_741484811 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS1 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿2 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
做运维的阿瑞3 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲3 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
彧azz3 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试
susplus4 小时前
【ARM 裸机开发 (IMX6ULL-mini)】GNU工具、Makefile 工程构建、链接脚本详解|C 语言点灯 + 蜂鸣器驱动
linux·arm·makefile·imx6ull
Shadow(⊙o⊙)4 小时前
Linux进阶知识1.0
linux·运维·服务器
>Andre<5 小时前
UFS5.0标准中文全译·卷一:范围、术语与架构
android·linux·嵌入式硬件