Vi(及其改进版 Vim)是 Linux 中常用的文本编辑器,虽然入门有一定门槛,但熟练掌握后效率极高。以下是常见指令分类整理:


1. 模式切换

  • 普通模式(命令模式):启动后的默认模式,按 Esc 返回。
  • 插入模式:输入文本(从普通模式进入):
    • i:当前光标前插入
    • a:当前光标后插入
    • o:下一行插入
    • I:行首插入
    • A:行尾插入
  • 可视模式:选择文本(普通模式下):
    • v:字符选择
    • V:行选择
    • Ctrl+v:块选择

2. 光标移动(普通模式)

  • 基本移动
    • h/j/k/l:左/下/上/右
    • w:跳到下一个单词开头
    • b:跳到上一个单词开头
    • 0:行首,^:行首非空字符
    • $:行尾
  • 翻页
    • Ctrl+f:下一页
    • Ctrl+b:上一页
  • 跳转
    • gg:文件开头
    • G:文件末尾
    • :nnG:跳到第 n 行(如 :1010G

3. 编辑操作

  • 删除
    • x:删除当前字符
    • dd:删除当前行
    • dw:删除到单词末尾
    • d$:删除到行尾
  • 复制/粘贴
    • yy:复制当前行
    • p:粘贴到光标后
    • P:粘贴到光标前
  • 撤销/重做
    • u:撤销
    • Ctrl+r:重做

4. 查找与替换

  • 查找
    • /keyword:向下搜索 keyword
    • ?keyword:向上搜索
    • n:下一个匹配项,N:上一个
  • 替换
    • :%s/old/new/g:全局替换
    • :s/old/new/g:当前行替换
    • c 确认(如 :%s/old/new/gc

5. 保存与退出(命令模式)

  • :w:保存
  • :wq:x:保存并退出
  • :q!:强制退出不保存
  • :w newfile:另存为新文件

6. 其他实用命令

  • 缩进>>(向右缩进),<<(向左缩进)
  • 显示行号:set number(取消用 :set nonumber
  • 分屏
    • :sp:水平分屏
    • :vsp:垂直分屏
    • Ctrl+w + 方向键:切换分屏

7. 快速技巧

  • 重复操作:在命令前加数字(如 3dd 删除 3 行)
  • 组合命令dG(删除到文件末尾)
  • 录制宏qa 开始录制到寄存器 aq 结束,@a 执行

掌握这些指令后,可以应对大多数编辑场景。建议先熟悉基础移动和编辑操作,再逐步学习高级功能。如需进一步学习,可以运行 vimtutor 命令进入内置教程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/92215.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/92215.shtml
英文地址,请注明出处:http://en.pswp.cn/web/92215.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决远程连接云服务器mysql编号1130问题

连接云服务器mysql失败&#xff0c;可能是因为ip发生改变&#xff0c;被mysql拦截。我自己前后做了两件事。大家赶时间可直接从二开始&#xff0c;不放心的就从一开始到结束一、在云服务器实例中为当前ip配置安全组权限。1.找到当前服务器的实例&#xff0c;进入安全组。为其增…

大数据存储域——HDFS存储系统

摘要本文介绍了HDFS存储系统&#xff0c;包括其组件、工作机制、实战经验总结、使用场景以及与SpringBoot的实战示例和优化设计。HDFS由Client、NameNode、SecondaryNameNode、DataNode等组件构成&#xff0c;通过特定的工作机制实现文件的读取和写入。它适用于多种场景&#x…

jdk动态代理如何实现

口语化答案好的&#xff0c;面试官。jdk 的动态代理主要是依赖Proxy类 和InvocationHandler 接口。jdk 动态代理要求类必须有接口。在进行实现的时候&#xff0c;首先要定义接口&#xff0c;比如MyService&#xff0c;这个接口就是我们的正常功能的实现。但是希望在不更改MySer…

自然语言处理的相关概念与问题

目录 一、学科的产生与发展 1、什么是自然语言&#xff1f; 2、自然语言处理技术的诞生 二、技术挑战 三、基本方法 1、方法概述 理性主义方法 经验主义方法 2、传统的统计学习方法 3、深度学习方法 词向量表示 词向量学习 开源工具 四、应用举例 1、汉语分词 …

Anthropic MCP架构深度解析:下一代AI工具集成协议的设计哲学

本文深入剖析Anthropic提出的模型通信协议(MCP),揭示其如何重构AI与工具生态的交互范式,打造安全高效的智能体基础设施。 引言:AI工具集成的"巴别塔困境" 当前AI生态面临的核心挑战: #mermaid-svg-lSpYBxzxD5oiYwcL {font-family:"trebuchet ms",verd…

【注意】HCIE-Datacom华为数通考试,第四季度将变题!

最近&#xff0c;数据通信圈子可热闹坏啦&#xff01;好几个渠道都证实了&#xff0c;HCIE - Datacom实验考试马上要有大变化咯&#xff01; 这可不是啥小道消息&#xff0c;也不是那种试点的传言&#xff0c;而是从IE内部技术交流会上得到的确切消息。 这边联系了华为认证的好…

MySql 硬核解析系列 一 MySQL的锁机制

MySQL 的锁机制是其并发控制的核心,直接影响数据库的性能、一致性与可用性。本文将从底层原理、锁的分类、实现机制、锁的粒度、锁的兼容性、死锁处理、InnoDB 的行锁实现、MVCC 与锁的关系等多个维度,进行硬核、深度解析,适用于希望深入理解 MySQL 并发控制机制的开发者与 …

7.软件工程

软件生命周期软件生命周期什么是软件工程&#xff1f;以工程化的原则和方法来开发软件&#xff0c;其目的是提高软件生产率、提高软件质量、降低软件成本。软件工程3大组成部分&#xff1a;方法、工具、过程。什么是软件生命周期&#xff1a;经过开发、使用和维护&#xff0c;直…

C 语言结构体与 Java 类的异同点深度解析

在编程语言的发展历程中,C 语言的结构体与 Java 的类扮演着至关重要的角色。作为面向过程编程的经典代表,C 语言的结构体为数据封装提供了基础形式;而 Java 作为纯面向对象语言,类则是其核心语法结构。二者既存在一脉相承的设计思想,又因编程语言范式的差异呈现出显著区别…

C++、STL面试题总结(二)

1. 必须实现拷贝构造函数的场景 核心问题&#xff1a;默认拷贝构造的缺陷 C 默认的拷贝构造函数&#xff08;浅拷贝&#xff09;&#xff0c;会直接拷贝指针 / 引用成员的地址。若类包含引用成员或指向堆内存的指针&#xff0c;浅拷贝会导致 “多个对象共享同一份资源”&…

IntelliJ IDEA2024 错误‘http://start.spring.io/‘的初始化失败,请检查URL、网络和代理设置。

下载新版本的intellij idea2024创建项目时&#xff0c;服务器URL报错误http://start.spring.io/的初始化失败&#xff0c;请检查URL、网络和代理设置。错误消息&#xff1a;Cannot download http://start.spring.io/:Permission denied:getsockopt&#xff0c;具体如下图&#…

从零开始的云计算生活——第三十八天,避坑落井,Docker容器模块

一.故事背景 在综合使用了之前全部的知识完成项目之后&#xff0c;接下来将学习更简单的方法来对之前的命令进行使用&#xff0c;马上进入容器模块 二. Docker概述 Docker简介 Docker&#xff0c;翻译过来就是码头工人 Docker是一个开源的应用容器引擎&#xff0c;让开发者…

Python与自动化运维:构建智能IT基础设施的终极方案

Python与自动化运维:构建智能IT基础设施的终极方案 引言:运维革命的Python引擎 在DevOps理念席卷全球的今天,企业IT基础设施的复杂度呈指数级增长。某跨国银行的数据显示,采用Python构建的自动化运维体系使其服务器部署效率提升400%,故障响应时间缩短至原来的1/8。本文将…

HarmonyOS应用开发环境搭建以及快速入门介绍

下载并安装DevEco Studio&#xff0c;这是华为官方提供的HarmonyOS应用开发IDE。访问华为开发者联盟官网下载对应操作系统的版本。安装完成后&#xff0c;配置HarmonyOS SDK和必要的工具链。 确保计算机满足开发环境要求&#xff0c;包括Windows 10 64位或macOS 10.14及以上操…

RocketMQ与Kafka 消费者组的‌重平衡操作消息顺序性对比

RocketMQ 的重平衡机制本身不会直接影响消息顺序&#xff0c;但消费模式的选择和使用需注意以下细节&#xff1a;重平衡机制RocketMQ消费者组的重平衡策略是每隔20秒从Broker获取消费组的最新消费进度&#xff0c;并根据订阅信息重新分配消息队列。该策略主要影响消息拉取的均衡…

学习 Android(十四)NDK基础

学习 Android&#xff08;十四&#xff09;NDK基础 Android NDK 是一个工具集&#xff0c;可让我们使用 C 和 C 等语言以原生代码实现应用的各个部分。对于特定类型的应用&#xff0c;这可以帮助我们重复使用以这些语言编写的代码库。 接下来&#xff0c;我们将按照以下步骤进行…

宝塔(免费版9.2.0)的docker拉取仓库失败的加速方法

宝塔docker拉取仓库失败 完美加速方法_宝塔docker加速-CSDN博客 版本&#xff1a;免费版 9.2.0 https://docker.1ms.run 其他的试了很多 都不行 最后不要用宝塔的控制面板(很卡)&#xff0c;直接在linux中用命令行&#xff0c;效果就很好了。

文献解读-生境分析亚区域选择+2D_DL+3D_DL-局部晚期食管鳞状细胞癌新辅助化疗免疫治疗反应预测

研究标题&#xff1a;结合亚区域放射组学与多通道二维或三维深度学习模型预测局部晚期食管鳞状细胞癌&#xff08;LA-ESCC&#xff09;患者对新辅助化疗免疫治疗&#xff08;NACI&#xff09;的反应借鉴点&#xff1a;建模思路&#xff08;看流程图理解就够了&#xff09;引言食…

机器学习第四课之决策树

目录 简介 一.决策树算法简介 二. 决策树分类原理 1.ID3算法 1.1 熵值 1.2 信息增益 1.3 案例分析 ​编辑 2.C4.5 2.1 信息增益率 2.2.案例分析 3.CART决策树 3.1基尼值和基尼指数 3.2案例分析 三、决策树剪枝 四、决策树API 五、电信客户流失 六、回归树 七. 回归…

Java面试题和答案大全

一、Java基础知识 1. Java语言特点 题目: 请说明Java语言的主要特点? 答案: 面向对象:Java是纯面向对象的语言,支持封装、继承、多态 平台无关性:一次编译,到处运行(Write Once, Run Anywhere) 简单性:语法简洁,去掉了C++中的指针、多重继承等复杂特性 安全性:提…