Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VIM的JavaScript实现_Javascript_Vim - Fatal编程技术网

VIM的JavaScript实现

VIM的JavaScript实现,javascript,vim,Javascript,Vim,我正在寻找用Javascript实现的Vi变体 不幸的是,我已经得到了配置Vim以编写JavaScript代码的所有类型的结果 我发现唯一有用的结果是JSVI 问:我还应该研究其他(可能更现代的)功能吗?编辑器具有vim键绑定以及来自其他流行编辑器的键绑定,但这不是vim的完整实现 ACE的源代码可以在上找到。我正在为Chrome/Opera/Firefox扩展用名为wasavi的javascript编写vi克隆。 虽然wasavi还不完善,但它支持几乎所有vi/ex命令 如果您感兴趣,请尝试:

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

不幸的是,我已经得到了配置Vim以编写JavaScript代码的所有类型的结果

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

问:我还应该研究其他(可能更现代的)功能吗?

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


ACE的源代码可以在上找到。

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

如果您感兴趣,请尝试:


源代码托管在。

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

您应该看看Vim.js,它是用Javascript编写的完整Vim,在您的浏览器中工作

  • 持久性~/.vimrc
  • 从Vim.js执行JavaScript
  • 读取本地文件
  • 从Dropbox读取文件
  • 玩得开心

    如果你想要更快的东西,这里有一个由麻省理工学院学生制作的VI实现: 试试看。它非常忠实地模拟VIM,并支持:

  • 正常模式下最常见的运动和操纵器
  • 算子/运动正交性
  • 视觉模式
  • 登记册
  • 标记
  • 搜索和替换
    /
    *
    g*
    :替换
  • 文本对象

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

    Vimulator看起来很有趣,尽管它非常有限,并且用于教授VIM(并且内置了一个相当烦人的延迟):

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

    至少有两个答案比这个更好: 和
    .

    有很多,而且都是垃圾。你为什么不在谷歌上问问呢?你会比随机邀请陌生人为你搜索谷歌更快得到更多的结果。你到底为什么想要jsc vim?@romani,因为谷歌搜索通常指向StackOverflow,而且很难从谷歌搜索中知道哪些实现是好的,比如x_vi_r的答案中的vim.js(尽管我很难通过谷歌找到它)。看起来不错,但甚至不支持/搜索文本——VIM中导航的主要方式(无论如何,对我来说)。尽管如此,可能还是值得的。我们可以随时添加适合的功能子集。HJKL导航至少起到了作用。+1这看起来很棒,肯定应该提高投票率。看起来不错,但速度太慢。新版本在缓存数据后启动得非常快。新的“Emterpeter”版本第一次使用1.6MB,而旧版本使用1.6MB“streamlinejs”版本第一次使用2.3MB。当数据已经缓存时,两者都使用大约16KB。对于我的计算机,旧版本在缓存时大约需要6秒启动,新版本只需要大约1秒启动。