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

ops/2025/1/19 16:49:26/

目录

基本模式

查找与替换


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.ppmy.cn/ops/151428.html

相关文章

2.slf4j入口

文章目录 一、故事引入二、原理探究三、SLF4JServiceProvider四、总结 一、故事引入 故事要从下面这段代码说起 public class App {private static final Logger logger LoggerFactory.getLogger(App.class);public static void main( String[] args ) throws Exception {lo…

【视觉惯性SLAM:十六、 ORB-SLAM3 中的多地图系统】

16.1 多地图的基本概念 多地图系统是机器人和计算机视觉领域中的一种关键技术,尤其在 SLAM 系统中具有重要意义。单一地图通常用于表示机器人或相机在环境中的位置和构建的空间结构,但单一地图在以下情况下可能无法满足需求: 大规模场景建图…

浅谈云计算22 | Kubernetes容器编排引擎

Kubernetes容器编排引擎 一、Kubernetes管理对象1.1 Kubernetes组件和架构1.2 主要管理对象类型 二、Kubernetes 服务2.1 服务的作用与原理2.2 服务类型 三、Kubernetes网络管理3.1 网络模型与目标3.2 网络组件3.2.1 kube-proxy3.2.2 网络插件 3.3 网络通信流程 四、Kubernetes…

【HarmonyOS NAPI 深度探索4】安装开发环境(Node.js、C++ 编译器、node-gyp)

【HarmonyOS NAPI 深度探索4】安装开发环境(Node.js、C 编译器、node-gyp) 要使用 N-API 开发原生模块,第一步就是配置好开发环境。虽然HarmonyOS Next中提供了DevEco-Studio一站式IDE,可以直接帮助我们完成开发环境的搭建&#…

Shell脚本一键推送到钉钉告警并@指定人

1. Shell脚本 cat /opt/monitor/device/device.sh #!/bin/bash# 域名列表文件绝对路径text_file"/opt/monitor/device/device.txt"#PG数据库密码环境变量 export PGPASSWORD8888888888888888#结果为0代表正常设备,非0代表有异常设备 sql_cmd"select count(1…

通用仓库管理系统开发书 Pyside6 + Sqlite3

通用仓库管理系统开发说明书(包含供应商和客户管理) 1. 项目概述 1.1 项目背景 随着企业规模的扩大和业务的复杂化,仓库管理变得越来越重要。为了提高仓库管理的效率和准确性,开发一个通用的仓库管理系统显得尤为重要。该系统将…

Apple Vision Pro 距离视网膜显示还有多远

本文介绍了视网膜屏幕的概念和人眼视敏度极限,以及头戴显示设备在视场角和角分辨率之间的权衡设计。文章还提到了苹果公司的新产品Apple Vision Pro的设计规范和视觉效果。 Retina display 是苹果公司针对其高分辨率屏幕技术的一种营销术语。这个术语最早由乔布斯在 2010 年 6…

Android File Transfer for mac

本身就是免费的,直接从官网下载即可,可以直接从官网进行下载,也可以从CSDN中进行下载。2种下载方式,选择一种就行。 有时候同步超过4G文件,页面显示就卡了,但是底层还在复制,多等一会记性了。 …