vim - 如何在 vim 中即时编译 CoffeeScript?

标签 vim coffeescript

我可以轻松地将 vim 窗口一分为二(左和右)。

如何配置 vim:

  • 在左侧窗口中编辑 CoffeeScript
  • 在右侧窗口中查看编译后的 JavaScript 结果
  • 在状态行查看错误消息

当我在左侧窗口中输入内容时,右侧窗口和状态行应该更新 JIT。

例如:

========================================================================
alert "hello"                | alert("hello");
alert "world                 | alert;
                             |
========================================================================
missing ", starting on line 2

就像http://coffeescript.org/ -> 尝试 CoffeeScript

最佳答案

我不仅仅使用 vim,我还结合使用了 GNU screen、GNU source-highlight 和 GNU watch。但是,您需要拥有具有垂直分割补丁的屏幕版本。

启动后screen ,我将按 Ctrl+ACtrl+C 创建第二个 shell,然后使用 Ctrl+AShift+\ 创建垂直分割,然后 Ctrl+ATab 切换到新分割,然后 Ctrl+ACtrl+ A 将拆分交换到新 shell。在该 shell 中,我运行:

$ mkdir compiled
$ coffee -w -c -o compiled/ *.coffee &

这将运行 coffee在监视模式下,监视源文件 (*.coffee) 或文件夹的更改,并自动重新编译更改的 *.coffee 文件并将生成的 .js 文件放置在 compiled 中文件夹。

现在,我将运行 $ watch --color -n 1 colorize compiled/main.js显示我感兴趣的编译文件的内容,启用 ANSI 彩色输出。

我称之为 colorize 的脚本文件只是 source-highlight 的包装自动检测源文件的语言并应用适当的语法突出显示。

然后我使用 Ctrl+ACtrl+Tab 移回到第一个分区,并启动 vim main.coffee并开始编辑。

当我编辑 CoffeeScript 文件时,编译后的更改会显示在右侧。

错误有点棘手,因为它们是从后台吐出的 coffee -w工作。他们会出现,但有时 watch命令会覆盖错误,有时错误会弄乱屏幕。发生这种情况时,快速 Ctrl+L 告诉 bash 重绘屏幕即可修复问题。

希望对您有帮助。

关于vim - 如何在 vim 中即时编译 CoffeeScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9176902/

相关文章:

vim - 是否可以将外部命令的输出传递给 `:tabnew` ?

Vim - 删除直到找到一个模式,但方向相反

Vim 语言特定的语法验证器?

javascript - 如何使这个示例功能适应Backbone?

javascript - 使用 Rivet.js 和 Coffeescript 迭代选定字段的模型

javascript - 如何覆盖参数的默认值?

vim - 跳[前进到下一行的字母

vim - 有人可以给我指出一个很好的适用于 Windows 的 Vi(或 Vim)应用程序吗?

javascript - Coffeescript重写功能

javascript - 通过 ajax 附加内容时 CoffeeScript 不起作用