每天在浏览器里敲代码、写邮件、填表单,最痛苦的就是离开熟悉的Vim键位——输入法一开,效率直接砍半。直到我装上Vi Editing Mode这个轻量浏览器插件,才发现原来所有文本框都能秒变迷你Vim。它不像Vimium那样控制页面导航,而是专攻文本域和输入框,自动为每个textarea/input注入vi命令模式。按一下Escape,边框亮起蓝色阴影,光标立刻进入命令模式:普通移动、视觉选择、行内跳转、复制粘贴、多级撤销重做,甚至支持重复命令。Tab键在命令模式下插入真正的制表符,直到失去焦点才恢复默认行为。相比同类插件,比如Wasavi功能更全但太重,而Vi Editing Mode只做一件事:让输入框拥有最基础的vi操作,不干扰页面本身,也不添加冗余设置。
开箱即用的优雅体验
安装后无需任何配置,打开任意网页——Google搜索框、GitHub issue编辑区、知乎回答栏,甚至系统自带的文本输入组件,通通生效。浏览器原生行为完全保留:插入模式就是普通输入,所有快捷键都和浏览器一致;只有你主动按Escape才进入命令模式,用h/j/k/l移动、dd删除行、yy复制行、p粘贴,而且更贴近真实Vim的是,它支持visual和visual-line模式,可以用v/V选择文本后再进行编辑。最惊艳的是撤销/重做:它追踪命令模式的修改,并且在插入模式退出后把连续输入合并成一个操作(类似Vim的undo point),不会因为手动撤销而打乱历史。唯一的小遗憾是对部分非标准输入类型(如email、time)不支持,以及像微信网页版、飞书这类用自定义组件的应用无法生效。
与同类插件的差异化优势
如果你尝试过Vimium——它主要用来键盘浏览页面,对于文本框只提供基本的插入模式快捷键,无法真正编辑。而Wasavi虽然功能齐全(支持分屏、宏、插入模式映射),但需要在每个文本框上手动激活,且历史记录混乱,偶尔卡死。Vi Editing Mode的设计哲学更克制:不追求全功能Vim,只做“让所有输入框支持最基本的vi键位”。它只有基础的命令集,没有标记、寄存器、自定义映射,但正因为如此,它在任何textarea上都能零延迟运行,内存占用不到2MB。另一个亮点是权限:安装时只请求基础的读取权限,剪贴板权限会在第一次使用y/p时自动请求并永久记住,完全透明。
局限性与适用场景
基于textarea/input的底层限制,光标总显示在字符之间而非字符之上,这导致行尾行为与真实Vim略有差异(可以停留在最后一个字符的后面)。另外,它不会像Vim那样自动滚动到选中文本可见区域。对于需要频繁使用复杂宏、标签或自定义键位的重度Vim用户,这个插件可能不够;但对于日常写代码、做笔记、发帖的“Vim轻度依赖者”,它是目前浏览器里最纯粹、最无感的vi编辑增强方案。相比那些试图接管整个页面的扩展,我更喜欢这种“按需出现、用完即走”的设计。
总结推荐
如果你每天都在浏览器里面对大段文本编辑,又不想离开Vim的肌肉记忆,Vi Editing Mode值得一试。它没有花哨的配置界面,但所有核心功能(命令模式、视觉模式、多级撤销重做、重复命令)都稳定可靠。配合Vimium一起使用,一个管页面导航,一个管文本编辑,堪称浏览器双剑合璧。