【问题标题】:VimL Script language: are there any implementations in other languages? [closed]VimL 脚本语言:有其他语言的实现吗? [关闭]
【发布时间】:2009-01-28 00:14:45
【问题描述】:

问题:我最喜欢 Vim 的一个方面是它的灵活性。我最不喜欢的一种是 VimL 脚本语言本身。我知道每个人对语言和编辑器都有自己的偏好,所以我想当然地认为不是每个人都同意我的观点。

问题: 如果您是 Vim 用户,并且如果您对使用 VimL 扩展 vim 有类似的不满,有什么替代方案你有没有为了扩展 Vim 而避免使用默认语言?我正在寻找可能超出我已经尝试过的帮助的想法,包括但不限于:

  • 使用对 python、ruby 和 perl 的附加支持重新编译 vim(很好,但是当我在其他人的机器上运行 vim 而没有添加支持时它没有帮助)
  • 永远不要编写一行 VimL 脚本,而只需下载预先存在的附加组件(很好,当且仅当现有的东西完全按照您的意愿行事时,如果您必须进行更改并最终不得不查看更多 VimL 脚本)

免责声明:请注意,这不是对 VimL 脚本或任何人偏好的抨击。如果它对您有用,那就太好了!我只是询问那些发现需要替代方案以及满足他们需求的方法的人。

更新:此问题已更新,要求提供对特定工具的具体参考。不需要讨论、辩论、投票或扩展讨论。如果有特定的工具,请随时参考。

【问题讨论】:

  • 你知道,我不知道为什么你的问题被关闭为“不具建设性”。我可能不太关心 VimL,但这对某人(除了你)来说可能是一个建设性的问题。
  • 你不能吃完所有的蛋糕,然后因为没有蛋糕可以吃而感到沮丧。如果您想用另一种语言编写脚本,它将具有外部依赖性,并且不会在每台计算机上的每个 Vim 安装上都有效。您可以使用 VimL 编写,也可以使用不同的语言编写,使其更不兼容。即使 Vim 添加了对另一种语言的支持,您仍然需要使用足够新的 Vim 版本来支持它。即使是 VimL 脚本也不一定能在每个版本的 Vim 或每个操作系统上正确运行。
  • @still_dreaming_1 点很好。尽管如此,在 SO 上提出一个(表面上不可能的)问题的好处是,人们很可能会对答案感到惊讶。例如,github.com/luke-gru/riml 似乎实际上可能提供了一种可编译为 VimL 的替代语法。如果不是为了 SO,发现该工具的存在需要更长的时间。
  • @dreftymac 我希望我能多次 + 你的评论。这是我在 SO 上看到的最好的东西,不是我自己写的。

标签: vim scripting plugins extensibility


【解决方案1】:

我喜欢vim,但讨厌VimL。所以我一直在尝试emacsevil 插件。这是一种类似于vim 的模式,但具有emacs 插件和emacs-lisp 作为脚本语言的所有优点。多半是胜利。 (它不是 100% 像 vim ——例如,$ 不像 vim 中那样是一个特殊的行列——但足够接近。)

【讨论】:

  • +1 因为 3 个讨厌 emacs 的人对你投了反对票。大家好,这只是一个有效的文本编辑器!
  • 如果你喜欢 lisp,看看timl,一个编译成 vimL 的 lisp。还有riml,它借用了Ruby的语法并编译为vimL。
  • @weakish 您介意将您的评论转换为答案吗?我想对你的回答投赞成票并相信你的回答,因为 riml 正是这个问题正在寻找的东西。
  • @dreftymac 不能。该问题已关闭。
  • @weakish 被提名重新开放。
【解决方案2】:

很可能适合您的开发生态系统。即你可能会在 vim 本身之外使用的语言,因为它有有用的支持库

我个人在这个trac插件中使用了+python

http://www.vim.org/scripts/script.php?script_id=2147

在广泛使用和学习这个很棒的调试器脚本之后......

http://www.vim.org/scripts/script.php?script_id=1929

至于在其他机器上工作,通常你只是在没有小工作的情况下生活。但如果需要,您可以随时将 netrw 用于 scp 等。

但实际上它是你想学习和可以使用的任何东西

【讨论】:

    【解决方案3】:

    如果我们忽略您提到的那些,没有其他选择。

    • 在 Vim 中,您可以使用 VimL
    • 如果您希望使用 Python/Perl/Ruby 进行编程,您可以为自己找到一个预制的二进制文件,或者构建 Vim 以包含对它的支持,然后像许多人一样使用其中一个
    • 您可以下载插件,如您所说,但越来越多的插件需要对上述之一的支持(通常在 *nix 盒子上找到,所以这真的不是什么大问题)
    • 您可以使用上述任何一种,或 Vim 之外的其他 *nix 工具,但这与 Vim 不再有任何关系

    我认为这涵盖了它。

    【讨论】:

      猜你喜欢
      • 2012-10-20
      • 2013-06-19
      • 2011-03-12
      • 2010-11-13
      • 2011-03-03
      • 2010-12-02
      • 1970-01-01
      • 2023-03-29
      • 2012-10-02
      相关资源
      最近更新 更多