在Vim中运行脚本时感到烦恼(Windows,Ruby)

我开始使用vim编写我的编程项目(主要是Ruby),而且大多数情况下都可以正常工作,但编译时遇到问题。

比方说,我正在一个Ruby脚本,我想运行它。 我键入:ruby sometging.rb(映射到其他键)。 然后vim打开一个新的cmd.exe窗口并运行“ruby something.rb”。 然后等待我按下ENTERclosures窗口并继续处理脚本。

有没有办法在Windows上configurationvim,以便它始终运行我正在单独的窗口中工作的脚本(总是一样的,如果没有的话=>打开一个),而不要求我用enter来确认。

不知道gvim,但在正常vim你可以把类似的东西

map R <ESC>:tabnew<CR><ESC>:;%!ruby filename.rb<CR>

在你的~/.vimrc文件中,当在命令模式下按下R时,它会在newtab中执行一个Ruby文件。

我没有使用Ruby,但是因为我发现Chip的RunView插件对于运行其他解释语言非常有用。

一旦安装,您可以输入:

 :RunView! <interpreter> 

(在你的情况下, <interpreter>大概是'ruby'),它会打开一个(垂直的,如果你包括! )分割窗口,输出将当前窗口的内容传递给解释器。 每次运行时,新的结果日志都会附加到文件的末尾(日期和时间戳将它们分开)。

如果您有任何问题,我建议您通过Vim邮件列表联系Dr Chip :他非常有帮助(事实上,他编写了RunView的原始版本来响应我在邮件列表中提出的请求 )。

这不完全完美,但我用它来启动Python脚本。

command -nargs=* PY3 !start cmd /K Python.exe "%:p" <args>

它启动一个窗口,保持活着,不会干扰我的VIM窗口。 不幸的是,它不会将其加载到现有的窗口中。