vim使ç¨è¿é¶
vim使ç¨è¿é¶
vim使ç¨è¿é¶
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
智 能 补 全<br />
上 面 的 设 置 表 明 , 只 在 下 拉 菜 单 中 显 示 匹 配 项 目 , 并 且 会 自 动 插 入 所 有 匹 配 项 目 的 相 同 文 本 。<br />
如 果 要 支 持 C++ 的 全 能 补 全 , 需 要 到 vim 主 页 下 载 OmniCppComplete 插 件 , 链 接 如 下 :<br />
http://www.vim.org/scripts/script.php?script_id=1520<br />
下 载 后 , 把 它 解 压 到 你 的 .vim 目 录 ( 在 windows 下 是 vimfiles 目 录 ), 它 会 安 装 以 下 文 件 :<br />
after\ftplugin\cpp.vim<br />
autoload\omni\common\debug.vim<br />
\utils.vim<br />
autoload\omni\cpp\complete.vim<br />
\includes.vim<br />
\items.vim<br />
\maycomplete.vim<br />
\namespaces.vim<br />
\settings.vim<br />
\tokenizer.vim<br />
\utils.vim<br />
doc\omnicppcomplete.txt<br />
确 保 你 已 关 闭 了 vi 兼 容 模 式 , 并 允 许 进 行 文 件 类 型 检 测 :<br />
set nocp<br />
filetype plugin on<br />
接 下 来 , 使 用 下 面 的 命 令 , 为 C++ 文 件 生 成 标 签 文 件 , 假 定 你 的 文 件 在 src 目 录 树 下 :<br />
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q src<br />
在 对 C++ 文 件 进 行 补 全 时 ,OmniCppComplete 插 件 需 要 tag 文 件 中 包 含 C++ 的 额 外 信 息 , 因 此 上 面 的<br />
ctags 命 令 不 同 于 以 前 我 们 所 使 用 的 , 它 专 门 为 C++ 语 言 生 成 一 些 额 外 的 信 息 , 上 述 选 项 的 含 义 如<br />
下 :<br />
--c++-kinds=+p : 为 C++ 文 件 增 加 函 数 原 型 的 标 签<br />
--fields=+iaS : 在 标 签 文 件 中 加 入 继 承 信 息 (i)、 类 成 员 的 访 问 控 制 信 息 (a)、 以 及 函 数 的 指 纹 (S)<br />
--extra=+q : 为 标 签 增 加 类 修 饰 符 。 注 意 , 如 果 没 有 此 选 项 , 将 不 能 对 类 成 员 补 全<br />
现 在 , 进 入 vim, 设 置 好 tag 选 项 ( 我 在 前 面 的 文 章 中 介 绍 过 )。 好 极 了 ,vim 能 够 对 C++ 自 动 补 全<br />
了 !<br />
我 写 了 一 个 简 单 的 例 子 , 来 演 示 C++ 的 自 动 补 全 功 能 , 如 下 图 所 示 , 在 输<br />
入 "t." 后 ,OmniCppComplete 插 件 会 自 动 弹 出 struct test1 的 成 员 供 选 择 , 而 在 输 入 "b->" 后 ,<br />
又 会 自 动 弹 出 class base 的 成 员 供 选 择 , 非 常 方 便 , 连 "CTRL-X CTRL-O" 都 不 必 输<br />
入 。OmniCppComplete 插 件 的 缺 省 设 置 比 较 符 合 我 的 习 惯 , 因 此 不 须 对 其 设 置 进 行 调 整 , 如 果 你<br />
需 要 调 整 , 参 阅 OmniCppComplete 的 帮 助 页 。<br />
53