当前位置:  开发笔记 > 编程语言 > 正文

正在运行:在后台使用gVim制作

如何解决《正在运行:在后台使用gVim制作》经验,为你挑选了4个好方法。

我在windows中使用gVim来编辑我的代码(主要是C++).我使用:make in gVim来编译项目,但这是一个阻塞操作,这阻止我在编译完成之前使用gVim.我该怎么做:异步制作并仍然可以将错误读回Vim并跳转到源代码中的错误?如果我实时看到制作过程,奖励积分.现在:make将输出重定向到一个文件,因此我无法看到make的进度.



1> Mykola Golub..:

我做的是

:!gvim -c 'MyMake'

(其中MyMake是自定义命令,可以切换到适当的dir,make和copen 20.)

当我在另一个窗口进行构建时,我正在完成我的工作.

其他选项:
您可以从shell或vim(:!make&)中将make progress重定向到某个文件.然后通过使用

:cfile make_result_file

:cw
 or
:copen 20 

获得与您使用相同的结果:make



2> noahlz..:

看看@ tpope的dispatch.vim

https://github.com/tpope/vim-dispatch#readme

视频预告片:http://vimeo.com/63116209



3> idbrii..:

看看我的AsyncCommand插件.它只包含执行某些操作所需的vim语法并使用--remote加载它.我上传了包含AsyncMake命令的AsyncCommand 2.0 .

将脚本添加到您的脚本中.vim/plugin,您可以使用:AsyncMake或构建脚本:AsyncMake target.完成后,错误将在您的quickfix中打开.


回应评论以获得更易读的代码:

要看到在Windows上生成结果,如果你有Cygwin的/unxutils /东西与尾部在你的路径,然后在asynccommand.vim,变化

call Async_Impl(tool_cmd, vim_cmd)

call Async_Impl(tool_cmd, vim_cmd)
call Async_Impl("tail -f ". temp_file, "")

这应该更改所有异步命令以打开输出的第二个命令窗口.



4> Rook..:

尝试使用

:!start make

(关于":help!start"的更多信息) - 这样vim就不必等待过程开始完成 - 你可以继续编辑).


:!如果您只是想生成一个make过程,那么make make工作正常.我希望使用gvim的in build功能,它将错误读入vim,你可以通过双击它跳转到源代码中的错误.
推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有