作为一名经常和终端打交道的开发者,Vim 曾是我最“望而却步”的工具——刚打开时一片漆黑,敲键盘没反应,甚至不知道怎么退出,一度以为它是“反人类”的存在。但当我真正花时间摸清它的逻辑后,才发现它的高效与便捷,尤其是在远程服务器操作、快速编辑代码时,Vim 能让操作效率翻倍。

这篇博客不堆砌复杂命令,只分享日常高频的 Vim 用法,适合刚接触 Vim 的同学,也适合想快速回顾核心操作的开发者,看完就能上手实操,告别“打开Vim就懵圈”的尴尬。

一、为什么要学Vim?

现在有VS Code、WebStorm 等可视化编辑器,为什么还要学 Vim?其实 Vim 的核心优势,恰恰是可视化编辑器无法替代的:

  • 跨平台无门槛:几乎所有 Linux、Unix 系统都默认自带 Vim,远程登录服务器时,没有可视化编辑器,Vim 就是唯一的选择(总不能远程用 VS Code 吧?)。
  • 纯键盘操作,效率拉满:不用频繁切换鼠标和键盘,熟练后编辑、修改、跳转的速度远超鼠标操作,尤其适合大文件编辑、代码修改。
  • 轻量且强大:占用资源极少,启动速度飞快,同时支持插件扩展,可自定义配置,既能满足简单的文本编辑,也能胜任复杂的代码开发。
  • 提升开发逼格:当别人还在鼠标点来点去时,用Vim在键盘行云流水操作终端,仪式感直接拉满(当然,实用才是核心)。

一句话总结:Vim 不是“过时的工具”,而是「终端操作的必备技能」,花少量时间入门,能节省长期的操作成本。

二、Vim 核心基础:先搞懂3个模式(重中之重)

Vim 最核心的逻辑的是「模式切换」——不同模式下,键盘的功能完全不同。Vim 的一切操作,都基于模式

1. 正常模式(Normal Mode):默认模式

打开 Vim 后,默认进入的就是正常模式,也是我们最常用的模式,主要用于「移动光标、执行操作」(比如复制、删除、替换)。

核心特点:不能直接输入文字,敲键盘都是“命令”,比如按 h 不是输入h,而是向左移动光标。

2. 插入模式(Insert Mode):输入文字

当我们需要输入文字时,需要从正常模式切换到插入模式,切换方式很简单:在正常模式下,按 i(insert 的缩写),此时左下角会显示 -- INSERT --,就可以正常输入文字了。

退出插入模式:按 Esc 键,回到正常模式(这是最常用的操作,一定要记牢)。

3. 命令行模式(Command Mode):执行高级命令

在正常模式下,按 :(冒号),就会进入命令行模式,左下角会出现 :,可以输入各种高级命令(比如保存、退出、查找、替换等)。

常用命令:

  • :w:保存当前文件(write)
  • :q:退出 Vim(quit)
  • :wq:保存并退出
  • :q!:强制退出,不保存修改(慎用)
  • /关键词:在文件中查找关键词(按n 下一个,N 上一个)

易错点:打开 Vim 后直接敲键盘没反应,就是因为在正常模式下,没有切换到插入模式;退出时不知道按 Esc 回到正常模式,再输入 :q,导致卡壳。

三、必记高频命令

不用死记硬背所有命令,先掌握这些高频操作,日常编辑、修改文件完全够用,剩下的可以用到时再查。所有命令都默认在「正常模式」下执行。

1. 光标移动(最常用,告别方向键)

Vim 的光标移动不用方向键,用键盘字母键,熟练后比方向键快很多:

  • h:向左移动光标
  • j:向下移动光标
  • k:向上移动光标
  • l:向右移动光标
  • gg:跳转到文件开头
  • G:跳转到文件结尾
  • nG:跳转到第 n 行(比如 10G 就是跳转到第10行)
  • w:跳转到下一个单词的开头
  • b:跳转到上一个单词的开头

2. 文本编辑(复制、删除、替换)

  • 复制yy(复制当前行);nyy(复制当前行及以下 n 行,比如 3yy 复制3行)
  • 粘贴p(粘贴到光标下方);P(粘贴到光标上方)
  • 删除dd(删除当前行);ndd(删除当前行及以下 n 行);x(删除光标所在位置的字符)
  • 撤销/重做u(撤销上一步操作);Ctrl + r(重做撤销的操作)
  • 替换r(替换光标所在的单个字符,按r 后再按要替换的字符);:%s/旧内容/新内容/g(全局替换,比如 :%s/hello/world/g 把所有hello换成world)

3. 插入模式快速切换(提升效率)

除了 i 进入插入模式,还有几个更便捷的切换方式,按需使用:

  • i:在光标所在位置插入
  • I:在当前行的开头插入
  • a:在光标所在位置的后面插入
  • A:在当前行的结尾插入
  • o:在当前行的下方新建一行并插入
  • O:在当前行的上方新建一行并插入

四、总结

Vim 不是一个“一蹴而就”的工具,它的门槛在于「模式切换」和「命令记忆」,但只要掌握了3个核心模式和高频命令,就能快速上手,满足日常终端编辑需求。

对于开发者来说,Vim 是一个“越用越香”的工具——刚开始可能觉得麻烦,但熟练后,会发现它能节省大量的操作时间,尤其是在远程服务器操作时,Vim 绝对是一个得力助手。

作者

884705373@qq.com

相关文章

QLoRA微调原理详解:与LoRA的性能与内存对比

引言:为什么大模型微调需要QLoRA? 在深...

读出全部

关于Norm的解析

可以说,如果没有残差连接和 Layer No...

读出全部

从 SGD 到 AdamW 的优化器

写在前面 在上一篇文章中,我们讨论了如何用数...

读出全部