Vim编辑器命令模式操作指南

Vim 的命令模式(即 Normal 模式)是 Vim 的核心操作模式,用于执行文本编辑、导航、搜索、保存等操作。以下是命令模式下的常用操作总结:


1. 模式切换

  • 进入命令模式:在任何模式下按 Esc 键(可能需要多次按)。
  • 进入插入模式:从命令模式按 i(插入)、a(行尾插入)、o(下方新建行插入)等。
  • 进入可视模式:按 v(字符选择)、V(行选择)、Ctrl+v(块选择)。

2. 光标移动

命令作用
h j k l左、下、上、右移动
w / W跳到下一个单词开头(小写忽略标点,大写包含标点)
b / B跳到上一个单词开头
e / E跳到单词结尾
0跳到行首
^跳到行首第一个非空字符
$跳到行尾
gg跳到文件第一行
G跳到文件最后一行
5G跳到第 5 行(数字可替换)
Ctrl+f / Ctrl+b向下/向上翻页

3. 文本编辑

命令作用
x删除光标处的字符
dd删除当前行
3dd删除 3 行(数字可替换)
dw删除从光标到单词结尾
d$删除到行尾
D等同于 d$
yy复制当前行
3yy复制 3 行
p粘贴到光标后
P粘贴到光标前
u撤销操作
Ctrl+r重做操作
.重复上一次操作

4. 搜索与替换

命令作用
/keyword向下搜索 keyword(按 n 跳转到下一个匹配项)
?keyword向上搜索 keyword(按 n 跳转到上一个匹配项)
:%s/old/new/g全局替换所有 oldnew
:s/old/new/g替换当前行的 oldnew

5. 保存与退出

命令作用
:w保存文件
:q退出 Vim
:wq:x保存并退出
:q!强制退出(不保存)
:w newfile另存为 newfile

6. 窗口与分屏

命令作用
:split:sp水平分屏
:vsplit:vsp垂直分屏
Ctrl+w + h/j/k/l切换分屏窗口
Ctrl+w + c关闭当前窗口

7. 高级技巧

  • 数字前缀:在命令前加数字可重复操作,如 5j 向下跳 5 行。
  • 组合命令:如 d2w 删除 2 个单词,c$ 删除到行尾并进入插入模式。
  • 标记位置:按 m + 字母(如 ma)标记位置,按 ' + 字母(如 'a)跳转到标记。

示例流程

  1. vim file.txt 打开文件。
  2. jk 移动光标到目标行。
  3. dd 删除该行,按 p 粘贴。
  4. 输入 :wq 保存并退出。

掌握命令模式是高效使用 Vim 的关键,建议逐步练习常用命令!

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

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

相关文章

网络体系结构(OSI,TCP/IP)

网络体系结构 一、设计分层网络模型 简化设计:分层将复杂的大系统分解成小模块,每一层专注处理特定功能模块化:每一层独立,便于开发、调试、更新和维护互操作:不同厂家、不同系统之间可以互相兼容,统一标…

经典 算法

算法 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令。简单来说,算法 就是解决一个问题的具体方法和步骤。在计算机科学中,算法是程序设计的核心,它决定了程序如何执 行特定的…

【Spark】-- DAG 和宽窄依赖的核心

目录 Spark DAG 和宽窄依赖的核心 一、什么是 DAG? 示例:WordCount 程序的 DAG 二、宽依赖与窄依赖 1. 窄依赖 2. 宽依赖 三、DAG 与宽窄依赖的性能优化 1. 减少 Shuffle 操作 2. 合理划分 Stage 3. 使用缓存机制 四、实际案例分析:同行车判断 五、总结 Spark D…

C#中UI线程的切换与后台线程的使用

文章速览 UI线程切换示例 后台线程使用示例 两者对比适用场景Application.Current.Dispatcher.InvokeTask.Factory.StartNew 执行同步性Application.Current.Dispatcher.InvokeTask.Factory.StartNew 一个赞,专属于你的足迹! UI线程切换 在WPF应用程序…

【HTML】个人博客页面

目录 页面视图​编辑 页面代码 解释&#xff1a; HTML (<body>): 使用了更加语义化的HTML5标签&#xff0c;例如<header>, <main>, <article>, <footer>。文章列表使用了<article>包裹&#xff0c;结构清晰。添加了分页导航。使用了Font…

第J1周:ResNet-50算法实战与解析

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊 我的环境 语言环境:Python3.8 编译器:Jupyter Lab 深度学习环境:Pytorchtorch1.12.1cu113 torchvision0.13.1cu113 一、准备工作 二、导入数据 三、划分数据…

养生:健康生活的极简攻略

在追求高效生活的当下&#xff0c;养生也能化繁为简。通过饮食、运动、睡眠与心态的精准调节&#xff0c;就能轻松为健康续航。 饮食上&#xff0c;遵循 “均衡、节制” 原则。早餐用一杯热豆浆搭配水煮蛋和半个苹果&#xff0c;唤醒肠胃活力&#xff1b;午餐以糙米饭为主食&am…

迁移 Visual Studio Code 设置和扩展到 VSCodium

本文同步发布在个人博客 迁移 Visual Studio Code 设置和扩展到 VSCodium - 萑澈的寒舍https://hs.cnies.org/archives/vscodium-migrateVisual Studio Code&#xff08;以下简称 VS Code&#xff09;无疑是当下最常用的代码编辑器。尽管微软的 VS Code 源代码采用 MIT 协议开…

力扣654题:最大二叉树(递归)

小学生一枚&#xff0c;自学信奥中&#xff0c;没参加培训机构&#xff0c;所以命名不规范、代码不优美是在所难免的&#xff0c;欢迎指正。 标签&#xff1a; 二叉树、递归 语言&#xff1a; C 题目&#xff1a; 给定一个不重复的整数数组 nums 。最大二叉树可以用下面的算…

离散制造企业WMS+MES+QMS+条码管理系统高保真原型全解析

在离散型制造企业的生产过程中&#xff0c;库存管理混乱、生产进度不透明、质检流程繁琐等问题常常成为制约企业发展的瓶颈。为了帮助企业实现全流程数字化管控&#xff0c;我们精心打造了一款基于离散型制造企业&#xff08;涵盖单件生产、批量生产、混合生产模式&#xff09;…

Linux操作系统--进程间通信(system V共享内存)

目录 1.system V共享内存 2.共享内存数据结构 3.共享内存函数 4.实例代码&#xff1a; 1.system V共享内存 共享内存区是最快的IPC(进程间通信)形式。一旦这样的内存映射到共享它的进程地址空间&#xff0c;这些进程间数据传递不再涉及到内核&#xff0c;换句话说是进程不再…

【C++】类与对象

目录 1、类的定义 2、类的访问限定符及封装 3、类的实例化 4、类和对象的大小 5、this 指针 6、类的六个默认成员函数 构造函数 析构函数 拷贝构造函数 赋值重载函数 取地址运算符的重载函数 7、运算符重载 8、const 成员函数 9、 static 成员 10、友元 11、…

现代简约中式通用,民国画报风,中国风PPT模版8套一组分享

中国风PPT模版分享&#xff1a;中国风PPT模版分享https://pan.quark.cn/s/abbf75507c5f 第1套PPT模版&#xff1a;棕色调中式窗棂封面&#xff0c;水墨山水背景配白梅与灯笼流苏&#xff0c;适用于教学课件目录设计&#xff0c;展现浓郁的书卷气息。 第2套PPT模版&#xff1a;米…

django扩展练习记录

一、Django 中使用 django-apscheduler 实现定时任务 可以方便地管理周期性任务&#xff08;如每天清理缓存、定时发送邮件等&#xff09; 1. 安装 pip install django-apscheduler -i https://pypi.tuna.tsinghua.edu.cn/simple #0.7.02.添加到应用&#xff0c;python m…

Guided Filtering相关记录

一、背景介绍 以前折腾保边滤波时候&#xff0c;刷了一些Guided Filtering相关资料。这里主要是对它们做个算法效果复现和资料简单整理。 二、Guided Filtering 1、基本原理 原版Guided Filtering的提出&#xff0c;主要是为了改善双边滤波做保边平滑滤波器时候的梯度翻转伪影…

知识图谱系列(2):知识图谱的技术架构与组成要素

1. 引言 知识图谱作为一种强大的知识表示和组织方式,已经在搜索引擎、推荐系统、智能问答等多个领域展现出巨大的价值。在之前的上一篇文章中,我们介绍了知识图谱的基础概念与发展历程,了解了知识图谱的定义、核心特征、发展历史以及在AI发展中的地位与作用。 要深入理解和…

操作系统|| 虚拟内存页置换算法

题目 写一个程序来实现 FIFO 和 LRU 页置换算法。首先&#xff0c;产生一个随机的页面引用序列&#xff0c;页面数从 0~9。将这个序列应用到每个算法并记录发生的页错误的次数。实现这个算法时要将页帧的数量设为可变。假设使用请求调页。可以参考所示的抽象类。 抽象类&…

开发与AI融合的Windsurf编辑器

Windsurf编辑器是开发人员和人工智能真正融合在一起的地方&#xff0c;提供了一种感觉像文字魔术的编码体验。 手册&#xff1a;Windsurf - Getting Started 下载链接&#xff1a;Download Windsurf Editor for Windows | Windsurf (formerly Codeium) 下载安装 从上面的下载…

【Java】网络编程(Socket)

网络编程 Socket 我们开发的网络应用程序位于应用层&#xff0c;TCP和UDP属于传输层协议&#xff0c;在应用层如何使用传输层的服务呢&#xff1f;在应用层和传输层之间&#xff0c;则使用套接字Socket来进行分离 套接字就像是传输层为应用层开的一个小口&#xff0c;应用程…

【教程】Docker方式本地部署Overleaf

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 目录 背景说明 下载仓库 初始化配置 修改监听IP和端口 自定义网站名称 修改数据存放位置 更换Docker源 更换Docker存储位置 启动Overleaf 创…