【问题标题】:How to display code output in current gvim window?如何在当前 gvim 窗口中显示代码输出?
【发布时间】:2016-05-04 17:34:36
【问题描述】:

我正在(慢慢地)自学如何编程,并且我使用 gVim 作为我的文本编辑器。所以,我有一个问题,我想知道 gVim 是否有这个功能。所以,假设我正在用 Java 编写 Hello World。

我可以在 vim 中编写程序,按 esc,然后键入(使用我的模式匹配技能):

:!javac %

(这将打开一个 vimrun 窗口,编译代码并列出所有错误)

然后:

:!java hello (or whatever the class is named)

然后会弹出一个新窗口并显示代码的输出。所以我想要做的是显示任何编译错误,然后输出,在当前 vim 窗口中,而不打开新窗口。因此,如果可能的话,我想在蓝色曲线中显示代码(因为缺乏正确术语的知识)。经过广泛的谷歌搜索,我能找到的最接近我想要的是

:read !java hello

这会将输出粘贴到代码下方。但这不是我想要的相当。那么是否可以显示任何编译错误和代码输出,特别是我想要的位置?

再次感谢

【问题讨论】:

    标签: vim


    【解决方案1】:

    最简单的方法是使用Apache Ant(Java 构建工具,Java 相当于make)。来自here

    在您的 .vimrc 中添加以下行:

    autocmd BufRead *.java set efm=%A\ %#[javac]\ %f:%l:\ %m,%-Z\ %#[javac]\ %p^,%-C%.%#
    autocmd BufRead set makeprg=ant\ -find\ build.xml
    

    然后为您的项目创建一个build.xml 文件,然后您可以使用:make(或:make run,或任何其他目标)在适当的目标上运行Ant。如何构建build.xml 有点超出问题的范围,但您可以关注Ant Hello World tutorial,这应该足以让您入门。

    :make 命令将执行 make 工具(在本例中为 Ant),并将输出放入 Vim 中的一个特殊窗口。在编译器输出的情况下,您也可以在一行上按 Enter 以跳转到相应的代码行。 (不确定,我不记得用 Java 做过)。

    解决此问题的另一种方法是使用ConqueShell 插件,它允许您在 Vim 窗口中运行终端程序并与之交互。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-22
      • 1970-01-01
      • 1970-01-01
      • 2014-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多