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,支持映射 IDE 的 Action ID 来调用 IDE 动作,最强优势在于深度集成了 IDE 的重构和调试功能。

最后是 原生终端 (Vim/Neovim) ,使用 ~/.vimrc 或 init.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 还是保存文件

}

  • 多行注释技巧 :配置 Vim 的 commentary 插件精神。
    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" (重命名),它会弹窗告诉你这个动作的 ID 是 RenameElement。
    • 最后,在 ~/.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

set number " 显示行号

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

set tabstop=4 " 缩进4空格

set expandtab " Tab 转空格

syntax on " 语法高亮

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

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

vim

" 在 ~/.vimrc 中加入

call plug#begin('~/.vim/plugged')

Plug 'preservim/nerdtree' " 文件树

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

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

call plug#end()

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

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

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

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

总结

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

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

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

相关推荐
开开心心_Every3 小时前
多连接方式的屏幕共享工具推荐
运维·服务器·pdf·电脑·excel·tornado·dash
互联网散修8 小时前
鸿蒙实战:图片编辑器——文字功能完全实现
华为·编辑器·harmonyos·图片编辑添加文字
在水一缸9 小时前
深度解析:基于 3D Gaussian Splatting 技术的编辑器实践与原理
计算机视觉·3d·编辑器·aigc·3d建模·nerf·3d编辑器
小贺儿开发1 天前
Unity VideoPlayer 播放控制器
unity·编辑器·播放器·视频·工具·videoplayer·互动
Jun6261 天前
QT(4)-EXCEL操作
开发语言·qt·excel
Kingairy1 天前
vi(vim)常用命令汇总
linux·编辑器·vim
2501_907136821 天前
Excel文件强效安全修复工具-清理安全风险 可修复WPS编辑后Excel无法打开的文件
excel·wps
互联网散修1 天前
鸿蒙实战:图片编辑器——添加文字的UI适配与键盘避让
ui·编辑器·harmonyos
网易Y3编辑器1 天前
AI全流程创游丨网易Y3编辑器Full Mode与Patch Mode双模式架构深度解析
人工智能·架构·编辑器