news 2026/6/11 16:07:24

Vim 实战:在 VS Code、JetBrains、终端里玩转 Vim

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Vim 实战:在 VS Code、JetBrains、终端里玩转 Vim

Vim的精髓不在于抛弃鼠标,而在于用键盘语法思考——删除复制粘贴这些动词与单词段落括号内这些名词组合,形成一套高效的编辑语言。这套肌肉记忆,可以在几乎所有主流IDE中复用。

下面我们分三步走:核心心法环境配置实战进阶

一、Vim核心心法:模式、组合与重复

如果你刚入门,忘掉所有复杂快捷键,先建立这套思维模型:

1.三板斧:模式切换

  • 普通模式(Normal)Vim休息状态,用于导航和操作。按Esc总能回到这。
  • 插入模式(Insert):按i进入,就像普通编辑器一样打字。
  • 可视模式(Visual):按v进入,用于选中文本。按V选整行,Ctrl+v列选。

2.语法公式:动词+名词/介词

这是Vim最优雅的一点,不背快捷键,而是学语法

  • 动词d(删除/剪切)y(复制/抽拉)c(修改/删除并进入插入模式)v(选中)
  • 名词/介词
    • w(单词)s(句子)p(段落)
    • i"(引号内)a((括号整体)t(直到某个字符前)
  • 组合出奇迹
    • daw=删除一个单词(delete a word) ——光标在哪都行,直接删整个词。
    • ci"=修改双引号内的内容(change inside quotes) ——自动清空引号内内容并进入插入模式。
    • yt,=复制从光标到逗号前(yank till comma)

3.重复与撤销

  • .:重复上一次修改(神器!)。比如用dw删了一个词,按.会继续删下一个。
  • u:撤销。
  • Ctrl + r:重做。

二、实战配置:三大环境玩转Vim

在这三大环境里,Vim插件都不是模拟器,而是真正的引擎嵌入,体验非常流畅。

在这三大环境里,Vim插件都不是模拟器,而是真正的引擎嵌入,体验非常流畅。

首先是VS Code (VSCodeVim),其配置文件为settings.json,调用IDE动作需配置vim.handleKeys,最强优势是轻量,在前端和脚本开发中速度很快。

其次是JetBrains IDEs (IdeaVim),配置文件位于~/.ideavimrc,支持映射IDEAction ID来调用IDE动作,最强优势在于深度集成了IDE的重构和调试功能。

最后是原生终端(Vim/Neovim),使用~/.vimrcinit.vim作为配置文件,原生支持所有动作调用(无需额外配置),最强优势是极速响应、支持SSH远程开发以及拥有庞大的插件生态。

1. VS Code:现代前端的首选

安装插件VSCodeVim

  • 解决键位冲突VS Code的快捷键(如Ctrl + p)会覆盖Vim。在settings.json中设置,让某些快捷键回归VS Code本身:

json

"vim.handleKeys":{

"<C-p>":false,//让 Ctrl+p 还是打开命令面板

"<C-s>":false//让 Ctrl+s 还是保存文件

}

  • 多行注释技巧:配置Vimcommentary插件精神。
    1. 进入可视模式V选中多行。
    2. 按下gc即可注释/取消注释。这比用鼠标点按钮快得多。

2. JetBrains IDE (IDEA, PyCharm, WebStorm):重度重构者的利器

安装插件IdeaVim

  • 打通任督二脉:让Vim命令调用IDE的重构功能。这是其他编辑器做不到的。
    • 首先,在IDE中开启Action ID追踪Find Action(Ctrl+Shift+A)搜索IdeaVim: Track Action Ids
    • 然后用鼠标点击菜单栏的"Rename" (重命名),它会弹窗告诉你这个动作的IDRenameElement
    • 最后,在~/.ideavimrc配置文件中映射:

text

"让 <leader>r 触发 IDE 的重命名 (通常 leader 键是空格或 \)

map <leader>r <Action>(RenameElement)

"让 <leader>f 触发 IDE 的代码格式化

map <leader>f <Action>(ReformatCode)

    • 重启IDE后,你在普通模式下按空格+ r,就会弹出IDE那个智能的重命名框。

3.终端(Vim/Neovim):终极掌控者的圣地

在服务器上或本地终端直接使用。

  • 基础配置(~/.vimrc):新建文件,写入:

vim

setnumber"显示行号

setrelativenumber"相对行号,方便用 5j 直接下跳5行

settabstop=4"缩进4空格

setexpandtab" Tab转空格

syntaxon"语法高亮

setmouse=a"鼠标可用(在终端里有时真需要)

  • 插件管理(vim-plug):原生Vim功能很基础,插件是灵魂。安装插件管理器:

vim

"在 ~/.vimrc 中加入

callplug#begin('~/.vim/plugged')

Plug'preservim/nerdtree'"文件树

Plug'vim-airline/vim-airline'"底部状态栏美化

Plug'neoclide/coc.nvim',{'branch':'release'}"代码补全 (LSP)

callplug#end()

然后打开Vim,输入:PlugInstall,插件会自动装好。

三、进阶技巧:从会用高效

掌握基础后,这几个技巧能让你的效率再上一个台阶:

  1. .的妙用
    • 想给10行代码结尾加分号?在行尾按A;加一个分号,然后按j下移一行,再按.。重复9.。省去了移动光标的麻烦。
  2. 宏录制(Macro):批量处理重复的复杂操作。
    • qa开始录制(存入寄存器a)。
    • 执行一次你要的操作(比如0到行首,dw删一个词,j下移)。
    • q结束录制。
    • 100@aVim就会自动把接下来的100行都执行这个操作。
  3. 文件内快速搜索
    • *:搜索光标下的单词,并高亮所有匹配项。
    • n/N:跳到下一个/上一个匹配项。
    • :%s/old/new/g:全局替换,不加g只换每行第一个,加g换整行所有。
  4. 多窗口与分屏
    • :sp:水平分屏;:vsp:垂直分屏。
    • Ctrl + w + h/j/k/l:在不同屏幕之间穿梭移动焦点。

总结

不要试图一天背完所有键位。建议:

  1. 强制关闭鼠标:从今天起,写代码有意识不动鼠标。
  2. 增量学习:这周只练dy配合w/$,下周练ci(da"
  3. 可视化反馈:在VS CodeIDEA里用Vim,你能看到插入模式的光标变化(块状变细线),更有安全感。

当你发现自己在用Ctrl+右箭头移动光标时会下意识按w,你的Vim实战之路就真正开始了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 5:44:51

告别重复造轮子:用快马AI一键生成高效Token管理工具库

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 请生成一个专注于提升Token管理效率的独立工具模块代码。核心功能需求&#xff1a;1、Token生成器&#xff1a;支持可配置的JWT生成&#xff0c;包括密钥、过期时间、签发者、自定…

作者头像 李华
网站建设 2026/6/6 19:43:34

靠谱的设计思考培训机构怎么选?查看资质验证三要素——国际授权、实战师资、名企背书

近年来&#xff0c;设计思考作为一套以人为本的创新方法论&#xff0c;在国内企业、高校乃至个人学习者中受到越来越多的关注。随之而来的是&#xff0c;各类设计思考培训机构如雨后春笋般涌现。然而&#xff0c;课程质量参差不齐、证书含金量难以辨别、“国际认证”头衔真假难…

作者头像 李华
网站建设 2026/6/6 19:41:00

如何选择远心镜头内同轴光源和外同轴光源

机器视觉领域&#xff0c;成像硬件的选择直接影响成像质量&#xff0c;而镜头与光源的搭配更是关键中的关键。许多工程师在实际项目中常面临一个难题&#xff1a;远心镜头内同轴光源和外同轴光源到底如何选择&#xff1f; 今天我们将从原理、效果、适用场景&#xff0c;为你对比…

作者头像 李华
网站建设 2026/6/8 8:25:40

2026年6月展台设计搭建公司推荐:五大排行专业评测性价比高价格

摘要当企业加速全球化参展布局&#xff0c;展台设计搭建已从单一的空间装饰升级为品牌战略落地的关键环节。决策者面临的核心焦虑在于&#xff1a;如何在信息过载、服务商水平参差的市场中&#xff0c;精准筛选出既能理解品牌诉求、又能高效执行海外落地的合作伙伴。根据国际展…

作者头像 李华
网站建设 2026/6/8 16:10:16

从‘大泥球’到‘乐高积木’:实战复盘我们团队如何一步步将单体应用拆成微服务(含踩坑记录)

从“大泥球”到“乐高积木”&#xff1a;一个技术团队的微服务拆分实战手记引言&#xff1a;我们为何要拆解这个“庞然大物”三年前&#xff0c;当我第一次打开我们的核心业务系统时&#xff0c;映入眼帘的是一个超过200万行代码的庞然大物。编译需要45分钟&#xff0c;启动耗时…

作者头像 李华
网站建设 2026/6/8 18:09:03

ICEF认知操作系统:四类约束全维度全覆盖,是全谱系系统化约束体系

引言&#xff1a;分析icef认知操作系统的约束机制和在提示词工程中的层级和功能特征 第一部分 提示词工程四大约束体系全品类技术汇总 一、提示词工程全分类技术基础提示技术零样本提示(Zero-shot)&#xff1a;无示例直接下发指令&#xff0c;依赖模型原生知识库少样本提示(Few…

作者头像 李华