我可以很容易地将vim窗口一分为二(左和右)。
如何将vim配置为:
- 在左侧窗口中编辑CoffeeScript
- 在右侧窗口中查看编译后的JavaScript结果
- 在状态行查看错误消息
当我在左侧窗口中键入时,右侧窗口和状态行应该更新JIT。
例如:
========================================================================
alert "hello" | alert("hello");
alert "world | alert;
|
========================================================================
missing ", starting on line 2
就像http://coffeescript.org/
->Try CoffeeScript
。
我不仅仅使用vim,我还使用了GNU屏幕、GNU源代码高亮显示和GNU手表的组合。但是,您需要具有垂直分割补丁的屏幕版本。
启动screen
后,我将按Ctrl+ACtrl+C创建第二个shell,然后按Ctrl+AShift+\trl+A选项卡切换到新的拆分,按<kbd:Ctrl+A>Ctrl+A将拆分切换到新shell。在那个外壳中,我运行:
$ mkdir compiled
$ coffee -w -c -o compiled/ *.coffee &
这将在监视模式下运行coffee
,监视源文件(*.coffee)或文件夹的更改,并自动重新编译更改后的*.coffe文件,并将生成的.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重新绘制屏幕可以解决问题。
希望这能有所帮助。
vimrc配置
set autoread
aug coffee
au!
au BufNewFile,BufRead *.coffee setf coffee.python
au FileType coffee.python setl makeprg=coffee -c %
au FileType coffee.python setl errorformat=Error: In %f\, %m on line %l,
Error: In %f\, Parse error on line %l: %m,
SyntaxError: In %f\, %m,
%-G%.%#
au BufWritePost *.coffee silent! make! | copen | redraw!
aug END
注意:如果您喜欢JIT
,请尝试CursorHold,而不是BufWritePost。
打开文件
$ vim -O code.{coffee,js}
run ex命令
:w