我可以在执行时使用cppcheck:wq在Vim编辑器中用于c/c ++

Ram*_*Ram 2 vim cppcheck

我想覆盖wq/q/w!/ w/q!用户定义的命令及其功能.

示例:

如果我使用:wq退出,该命令应该对该特定的c/c ++文件进行静态代码检查并退出.

在这种情况下请帮帮我.

提前致谢.

Xav*_* T. 6

针对您的问题的内置解决方案在Vim中称为"自动命令".

这是一种在特定时间调用命令的方法,如打开,保存或关闭缓冲区.

有关:help autocmd完整列表,请参阅

在您的情况下,您应该添加到.vimrc以下命令

autocmd BufWritePre *.cpp,*.hpp !cppcheck %

  • BufWritePre意思是"在写缓冲区之前"(你也可以使用BufWriteBufWritePost)
  • *.cpp,*.hpp表示仅在保存cpp或hpp文件时应用auto命令.如果需要,您可以添加c和h文件.
  • % 表示'当前缓冲区的路径'
  • cppcheck 必须在你的道路上

您没有覆盖'w'的defaut行为,但您使用'hooks'来添加自定义命令.