分页: 1 / 2

Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-06 10:49
afphoenix
我是一个搞ACM的,经常要编译写好的(小)程序。
比如我在编辑一个 ttt.cpp
写好了按 F9
就直接运行

代码: 全选

 g++ -Wall -g ttt.cpp -o ttt.o
请问各位大大,这要怎么实现? :em11
不用自动识别文件类型,只要把F9绑定就好了

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-06 10:59
dieyushi

代码: 全选

map <silent> <F9> :!g++ %:r.c* -o %:r -Wall  -g&& ./%:r<cr>

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-06 11:10
O_O_BOT
irc <iol> say: :help map

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-06 11:16
O_O_BOT
用makefile把

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-06 11:28
ask_me
把下面的配置加进~/.vimrc

代码: 全选

"===============Compile the C++ file==========
map <F9> :call CompileRunGplusplus()<CR>
func! CompileRunGplusplus()
exec "w" 
exec "!g++ -Wall % -o %<"
exec "! ./%<"
endfunc 

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-06 11:49
dwl301
ask_me 写了:把下面的配置加进~/.vimrc

代码: 全选

"===============Compile the C++ file==========
map <F9> :call CompileRunGplusplus()<CR>
func! CompileRunGplusplus()
exec "w" 
exec "!g++ -Wall % -o %<"
exec "! ./%<"
endfunc 
恩恩,太好了。。。。原先没考虑到用map。。。 :em11

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-06 12:18
afphoenix
多谢楼上几位~我回去试试 :em05

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-06 12:20
afphoenix
我要是想映射

Ctrl+F9呢?

是不是

代码: 全选

^F9
?
还是

代码: 全选

C-F9
?

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-06 15:00
Strange
我要是想映射
Ctrl+F9呢?

代码: 全选

:map <c-f9>
不过个人觉得还是写makefile,f9绑定到make上比较合理

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-06 17:06
afphoenix
那岂不是每个程序都要写一个makefile?
...我们写的都是些小程序~一天写四五个那种 :em06
一个一个makefile太麻烦了

嗯,还有问题,如果在vim中调用了shell命令,那么vim会一直等待命令结束再继续,能不能让vim调用之后不理他继续编辑? :em11

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-07 8:15
afphoenix
顶起顶起~ :em11

请大家看看我在10楼(就是楼上 :em06 )的问题

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-07 8:49
Strange
make支持通配符,写写好就可以自动编译这个目录下所有c文件

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-07 8:56
eexpress
有make,记得ctrl-enter就编译的。现在不见了。我都奇怪。
make支持一个系列的文件,相关的编译啊。而且不重复编译的。

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-07 9:17
afphoenix
欢迎大家提供更好的方法~ :em04
对ee说的很好奇~10楼的问题,自己解决了,虽然不那么完美吧...

Re: Vim 如何实现像codeblocks一样的按F9直接编译运行?

发表于 : 2009-08-08 2:59
ChloeRei
make是正道,趁文件少的时候手写练练

:em09 以后自动生成没得练……