vim使ç¨è¿é¶
vim使ç¨è¿é¶
vim使ç¨è¿é¶
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
开 启 文 件 类 型 检 测<br />
" Only do this when not done yet for this buffer<br />
if exists("b:did_ftplugin")<br />
finish<br />
endif<br />
这 类 似 于 C 语 言 头 文 件 中 的 "#ifndef XXX | #define XXX" 的 语 句 , 可 以 防 止 该 插 件 被 执 行 多 次 。<br />
因 此 , 把 这 个 插 件 拷 贝 到 $HOME/.vim/plugin 中 ( 这 个 目 录 在 runtimepath 中 排 在 最 前 面 ), 它 将<br />
先 于 vim 的 缺 省 插 件 被 加 载 ; 而 它 加 载 后 ,vim 的 缺 省 文 件 类 型 插 件 就 不 会 再 被 加 载 了 。 这 就 达 到<br />
了 我 们 修 改 设 置 的 目 的 。<br />
不 过 我 们 通 常 不 用 这 种 方 法 。 如 果 这 样 做 , 一 旦 vim 的 缺 省 插 件 做 了 改 变 , 我 们 也 要 更 新 我 们 改<br />
过 的 插 件 才 行 。 我 们 可 以 在 载 入 全 局 插 件 以 后 否 决 一 些 设 置 。 在 Unix 上 , 我 们 可 以 把 我 们 的 设<br />
置 放 在 ~/.vim/after/ftplugin/ 目 录 中 , 这 个 目 录 中 的 脚 本 会 在 vim 的 缺 省 脚 本 后 执 行 。 这 样 就<br />
可 以 修 改 配 置 , 或 增 加 我 们 自 己 的 定 义 。<br />
举 个 例 子 , 在 多 人 一 起 开 发 项 目 时 , 为 了 使 代 码 风 格 尽 量 保 持 一 致 , 一 般 不 允 许 在 代 码 使 用 TAB<br />
符 , 而 以 4 个 空 格 代 之 。 我 们 可 以 编 辑 一 个 文 件 , 包 含 下 面 的 内 容 :<br />
set shiftwidth=4<br />
set expandtab<br />
把 这 个 文 件 保 存 为 ~/.vim/after/ftplugin/c.vim。 这 样 , 每 次 在 编 辑 c 文 件 时 , 它 的 自 动 缩 进 为<br />
4 个 空 格 ; 当 你 在 插 入 模 式 下 使 用 CTRL-D、CTRL-T 缩 进 时 , 它 也 会 调 整 4 个 空 格 的 缩 进 ; 当 你 按<br />
TAB 键 时 , 它 将 会 插 入 8 个 空 格 ...... 如 果 你 想 上 面 的 设 置 对 h 文 件 也 生 效 的 话 , 需 要 把 它 另 存 一<br />
份 :~/.vim/after/ftplugin/cpp.vim, 因 为 h 文 件 的 文 件 类 型 被 设 为 cpp。<br />
我 们 知 道 ,vim 在 设 置 文 件 类 型 时 , 会 触 发 FileType 自 动 命 令 , 因 此 , 上 面 的 例 子 可 以 用 下 面 的<br />
自 动 命 令 来 实 现 :<br />
autocmd FileType c,cpp set shiftwidth=4 | set expandtab<br />
把 这 个 命 令 放 在 你 的 vimrc 中 , 可 以 起 到 和 上 例 同 样 的 效 果 。<br />
vim 的 语 法 高 亮 功 能 , 也 要 用 到 文 件 类 型 , 来 对 不 同 的 关 键 字 进 行 染 色 。 这 我 们 将 在 下 一 篇 文 章<br />
中 介 绍 。<br />
[ 参 考 文 档 ]<br />
• vim 手 册<br />
• vim 中 文 手 册<br />