8

我真的很喜欢 Code::Blocks 的构建系统和调试能力——也就是说,我真的很喜欢使用 gcc/gdb 的包装器,而不是从 Makefiles 或命令行中使用它们。问题是,由于多年使用 VIM,我的大脑已经受损(或者有些人可能会说被宠坏了),以至于我无法在标准的 Windows 文本编辑器中进行编辑。

因此,我将 Code::Blocks 设置为使用 VIM 作为.cpp/ .c/*.h 的文件处理程序,以及 VIM 的 --server-name 和 --remote-tab 选项可以右键单击我的 C 中的文件: :B 项目窗口并选择使用文件扩展名处理程序打开它们,它们会在单个 VIM 窗口中作为新选项卡弹出 - 然后我切换回 C::B,按 F9 构建和运行等。

我想改进我的工作流程,所以问题有两个:

  1. 当我双击项目文件列表中的文件而不是右键单击-> 使用文件扩展名处理程序打开时,我可以让 C::B 默认打开 VIM 吗?

  2. 我可以在 VIM 中做一些绑定,让我点击一个按钮并让 Code::Blocks 构建/运行/调试我的项目吗?

WRT 2,我知道 C::B 具有用于重建项目的命令行选项,但这与打开 C::B 窗口并查看编译日志/监视窗口不同。我还注意到 C::B 有一个非常基本的 DDE 接口——我可以使用 VIM 发送 DDE 命令吗?也许有一个简单的 SendKeys 插件我还没有找到我可以破解工作?

或者,是否有像 C::B 这样的轻量级最小 IDE 可以让使用外部编辑器变得非常容易?我不准备运行 Eclipse,在 Visual Studio 中使用 Microsoft 的编译器让我作呕。

任何帮助表示赞赏。

谢谢,约翰

4

1 回答 1

3
  1. 经过一番挖掘,我不得不得出结论,答案是否定的。Open 选项仅用于在 C::B 中打开。
  2. Vim 支持使用内置命令构建项目。如果你有 C::B 生成你的Makefile(它应该是 - 我从来没有达到我想要的方式),然后确保 Vim 的工作目录(:cd),然后你可以简单地键入:make和 Vim,默认情况下会make调用当前目录。您可以:set makeprg运行任何您需要的脚本,包括运行任何配置脚本。我也将此添加到我的.vimrc

    :map <F8> :make<CR>
    :imap <F8> <Esc>:make<CR>a
    :vmap <F8> <Esc>:make<CR>a
    

    它非常适合我的目的,同时:make也将 GCC 输出中的错误和警告放入检查窗口。:cn导航到包含下一个错误的文件。

于 2009-09-13T02:42:56.723 回答