如何映射功能键来编译我的程序?

use*_*553 5 vim

在VIM中,我想映射说功能键Fn,用于编译当前打开的C/C++文件.那可能吗 ?如果是,请指导我.

Joh*_*web 5

这当然是可能的,也是我喜欢的工作方式.

我有以下内容.vimrc:

nnoremap    <F5>   :make<CR>
Run Code Online (Sandbox Code Playgroud)

这将调用'makeprg',默认为'make'.然后,您可以在Vim的Quickfix模式中使用结果来处理编译错误,警告,这些(使用正确的设置)将光标直接传递到代码中的错误位置.

如果您只想编译当前文件,可以将其设置'makeprg''make',例如编译器,然后是当前文件:

:set makeprg=g++\ %
Run Code Online (Sandbox Code Playgroud)

[但是你需要添加编译器标志,例如包含路径等]

如果您使用的是可选的编译系统,如Boost构建,SCons的,等等,然后我虚心建议使用Makeshift来设定'makeprg'你.

Vim中的帮助主题可以帮助您:

  • nnoremap不需要`<CU>`.它可能是x*map和v*map,但在正常模式下,:启动没有范围的空命令. (2认同)

Ben*_*oit 2

对的,这是可能的。你有 Makefile 吗?然后将其插入到您的 vimrc 中:

\n\n
nnoremap <f1> :make<return>\n
Run Code Online (Sandbox Code Playgroud)\n\n

这会重新映射 F1 键以调用 vim 的内部命令 \xe2\x80\x9cmake\xe2\x80\x9d,如果您在 Linux 计算机上运行,​​该命令将调用 gnu Make。

\n\n

如需更多帮助,请运行:help :make:help :nnoremap

\n