JavaScript Implementation of VIM

JavaScript Implementation of VIM

本文关键字:VIM of Implementation JavaScript      更新时间:2023-09-26

我正在寻找用Javascript实现的Vi的变体。

不幸的是,我一直在获得配置 Vim 以编写 JavaScript 代码的所有类型的结果。

我发现的唯一有用的结果是JSVI。

问题

:我应该研究其他(也许更现代的)问题吗?

你应该

看看Vim.js一个用Javascript编写的完整Vim,可以在你的浏览器中工作。

  1. 持久 ~/.vimrc
  2. 从 Vim 执行 JavaScript.js
  3. 读取本地文件
  4. 从 Dropbox 读取文件

玩得愉快!

http://coolwanglu.github.io/vim.js/web/vim.html

如果你想要更快的东西,这里有一些麻省理工学院学生做的VI实现:http://web.mit.edu/~georgiou/www/vi/

ACE 编辑器有 vim 键绑定绑定

以及其他流行编辑器的键绑定,但这不是 vim 的完整实现。

ACE 的来源可以在 GitHub 上找到。

试试 CodeMirror。它非常忠实地模拟了 VIM,并支持:

  1. 正常模式下最常见的运动和操作器
  2. 操作员/运动正交性
  3. 视觉模式
  4. 寄存 器
  5. 标志着
  6. 搜索和替换/*g*:substitute
  7. 文本对象

尽管如此,这绝不是Javascript中完整的VIM实现,它只是试图尽可能忠实地模拟最有用的功能。

我正在用javascript编写vi克隆,称为wasavi,用于Chrome/Opera/Firefox扩展。虽然wasavi还不完美,但支持几乎所有的vi/ex命令。

如果您有兴趣,请尝试:http://appsweets.net/wasavi/

源代码托管在 GitHub 上。

检查 vim-in-textarea,以及在线演示。它适用于HTML文本区域,并且不会改变样式或外观。

Vimulator看起来很有趣,尽管它相当有限并且用于教授vim(并且内置了一个相当烦人的延迟):https://github.com/thoughtbot/vimulator

它缺少撤消命令和 Shift-% 命令(用于匹配括号)。它至少具有搜索功能。

至少有两个答案比这个答案更好:http://coolwanglu.github.io/vim.js/web/vim.html和http://codemirror.com。