环境:MacOS,gcc,Vim7.2
我知道我可以在Emacs中做到这一点。编译代码并运行它。 我想知道我怎么能在vi中做到这一点? 我不想从vi切换到终端很多。 谢谢! :)
答案 0 :(得分:6)
通过键入!
,您可以顺便执行任何shell命令。
您可以键入:编写命令,然后编写:
:!make
答案 1 :(得分:5)
vim确实有一个内置的:make 命令,但它必须与编译器相关联。一些例子是:
GNU gcc编译器:
set makeprg=gcc\ -o\ %<\ %
英特尔Fortran编译器:
set makeprg=ifort\ %\ -o\ %<
答案 2 :(得分:4)
Vi直接理解命令make
,因此您只需输入:
:make
答案 3 :(得分:1)
我喜欢将shell命令映射到leader + key。例如,(我的领导密钥为,
(逗号),默认情况下为\
我认为:
:map <leader>m :!make && ./program<CR>
然后,按,m
(逗号然后是m)在shell上执行make && ./program
(<CR>
是回车)一旦命令终止,您将得到提示按下返回,你的重点将回到vim。
您可能喜欢的另一个工作流程是使用<Control>+Z
暂停vim,在shell上运行命令,然后运行fg
以切换回后台程序。
答案 4 :(得分:1)
为了通过调用:make
来编译,你需要在该目录中有一个Makefile。