输入Vim将模式Vim编辑带入浏览器文本字段
输入Vim,由Takashi Kokubun (k0kubun)开发,将Vim模式编辑带入Chrome中的文本字段。该应用程序将普通、插入、视觉和视觉行模式映射到输入框、文本区域和可编辑内容元素,提供动作、操作符、文本对象和每个元素的撤消栈,以便用户可以在不离开主行的情况下进行编辑。视觉反馈使用块光标、模式徽章和待处理命令显示;搜索和可选的剪贴板同步将编辑扩展到丰富的网页编辑器。它适合精通Vim的开发人员、作家和高级用户。
它为输入字段带来了什么级别的 Vim 编辑?
Input Vim 在网页输入中提供了几乎完整的模式编辑层,目标是 <input>、<textarea> 和 contenteditable 元素。核心部分包括:普通/插入/可视/可视行模式,一套运动集,包括单词和文档移动,可组合的操作符,如删除/更改/复制,以及用于精确选择的高级文本对象。这些功能使用户能够在不离开键盘的情况下执行多步骤编辑。
它在换行文本和光标移动方面表现如何?
该应用通过使用基于自定义画布的行测量系统来解决浏览器文本区域中的常见光标问题,该系统在文本软换行时修正垂直运动,例如 j 和 k。每个元素的撤销和重做独立于浏览器的本机历史,因此字段内的编辑可以可预测地回滚,而不影响周围页面状态。该扩展使用原生 JavaScript 编写,没有任何依赖,以保持运行时开销低。
它如何避免与页面快捷键和系统冲突?
Input Vim 防止网站劫持 Escape 键以保护普通模式的输入,并提供了一个网站排除设置,以便用户可以在特定域上禁用该扩展。可视反馈通过 Shadow DOM 渲染,以最小化与页面 CSS 的样式冲突。一个可选的剪贴板同步设置在需要这种行为时将复制和粘贴与操作系统剪贴板链接。
谁适合这个工作流程,它在哪里集成?
该应用面向经验丰富的 Vim 用户,他们编辑网页表单、聊天输入和 CMS 字段,并希望在各个网站上保持一致的主行编辑。深度的 contenteditable 支持使其能够在现代网页应用程序中运行,例如 Notion 和 GitHub。开发者 k0kubun 在开发工具和开源项目方面的背景解释了对可预测文本模型行为的关注,而不是浏览器导航重映射。
一个专注于 Vim 用户的工具,适合接受学习曲线的人
Input Vim 是一个实用的选项,适合已经精通 Vim 的用户,他们希望在与网页表单交互时保持模式编辑。权衡是它假设用户具备 Vim 的肌肉记忆,因此新手需要经历相当长的适应期,并且一些定制的网页组件可能不会完美运行。首先在备用输入中尝试,以适应绑定,然后再广泛启用。