Answers:
试用Vim 的quickrun插件。该页面包含指向github的链接,该链接是最新版本,也是我使用的版本。
使用此插件相对于doing的优势是:!
,命令的输出将被收集并显示在拆分窗口中。
另外,默认情况下,当您要求插件执行命令时,该插件将挂起您的vim实例,但是可以将其配置为异步运行该命令,这就是我要做的。阅读文档以获取更多详细信息。
我使用一个已编译了Python解释器的vim。
我提供具有此功能的python文件:
def pyterm(filename="", interactive=1):
cmd = "%s %s %s " % (PYTHON, "-i" if interactive else "", filename)
if "DISPLAY" in os.environ:
return run_config(os.environ.get("XTERM"), cmd)
else:
return os.system(cmd)
并将其映射到键盘快捷键:
nmap ;ru :update<CR>:python pyterm(vim.current.buffer.name, 0)<CR>
nmap ;ri :update<CR>:python pyterm(vim.current.buffer.name, 1)<CR>
我以前设置了一些环境变量来确定要使用gvim的确切终端,或者如果不在X中则在同一终端中运行。
然后,我通常只需在Python缓冲区中键入“; ri”即可运行它(通常是对其进行测试)。
Vim可用于在当前文件上使用gnu make进行编译-即使该文件没有Makefile(有关更多详细信息,请参见此处):
:make %:r
这样,vim可让您访问编译器()列表中的quickfix错误反馈:help quickfix
- :cn
下一个错误,:cp
上一个错误,:cw
新窗口列出的错误。
如果您还没有gnu make,那么可以设置makeprg变量(如果您正在编译C ++,请更改为g ++):
:se makeprg=gcc\ -o\ %<\ %
然后用VIM make命令来编译当前文件并获得的quickfix vim的错误列表:
:make
编辑:如果您还想从vim中运行已编译的可执行文件,则可以执行('!'执行,'%:r'是不带后缀的文件名):
:!./%:r
!gcc file.c && ./a.out
这将编译您的C文件,并运行可执行文件,要求在vim窗口中全部输入。
.vimrc
,我映射Command + Shift + R
到:map <D-R> :exe '!gcc %:p' <bar> exe '!'.getcwd().'/a.out'<cr>
关于编译源代码的特殊情况。
如果您有可以编译python的东西,请进行makeprg
相应设置。
:!gcc % && ./a.out