2009-07-06 65 views
19

我一直在尝试最近使用:make进行试验,但我不喜欢vim必须先切换到显示shell输出,并且需要一个输入按键,然后它显示我认为是基于'errorformat'收集的错误的清单,我也需要按enter键确认。我宁愿只是短暂的“OK”消息,不需要按键确认,或者如果有任何错误,vim将打开:cwindow是否有可能调用:make in vim in linux而不显示shell

+1

您的问题是[Running:make gVim在后台]的副本(http://stackoverflow.com/questions/666453/running-make-from-gvim-in-background/666578#666578)。 – 2009-07-06 22:00:06

+0

这个问题显然是关于在**前景**中运行`make`,并直接跳转到`make`完成后发现的第一个错误,没有麻烦和提示,这会不必要地减慢开发速度。 (`make`往往需要一毫秒才能打到第一个错误并停止,那为什么要在后台运行呢?) – Tino 2017-12-23 13:45:23

回答

1

尝试:

:silent make 

要运行make后自动打开窗口,你可以把这个到您的.vimrc

autocmd QuickFixCmdPost * :copen 
+3

我已经尝试过了:silent make但是它只是让vim窗口变成全黑(vim的命令行和laststatus仍然显示)所以我必须调用:make来让缓冲区再次显示在窗口中。 – Sam 2009-07-06 20:34:34

2

可以映射例如F9来使用gcc为小不需要库,链接等的C片段:

map <F9> :!gcc -o %< % <enter><CR><C-w> 

这将生成文件foo.c的二进制foo。我知道这不是你想要的,但是这并不显示任何shell,并且对于小c代码片段很有用。

-3

尝试

map <F9> :make<CR> 

这也许应该解决您的问题。

+0

不适用于我。制造运行,但它不是沉默。 :-( – 2012-09-07 09:52:26

12

我使用的下一行只是为了确切目的,你写道:

nnoremap <leader>m :silent make\|redraw!\|cc<CR> 

cc到底显示第一个错误或No errors消息,如果是这种情况。