25.06.2015 Views

vim使用进阶

vim使用进阶

vim使用进阶

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

指 随 意 动 , 移 动 如 飞 ( 二 )<br />

zo – 打 开 光 标 下 的 折 叠<br />

zO – 循 环 打 开 光 标 下 的 折 叠 , 也 就 是 说 , 如 果 存 在 多 级 折 叠 , 每 一 级 都 会 被 打 开<br />

zc – 关 闭 光 标 下 的 折 叠<br />

zC – 循 环 关 闭 光 标 下 的 折 叠<br />

更 多 的 命 令 , 请 参 阅 手 册 (:help folding)。<br />

vim 提 供 了 一 些 命 令 在 折 叠 间 快 速 移 动 :<br />

[z – 到 当 前 打 开 折 叠 的 开 始<br />

]z – 到 当 前 打 开 折 叠 的 结 束<br />

zj – 向 下 移 动 到 下 一 个 折 叠 的 开 始 处<br />

zk – 向 上 移 动 到 上 一 个 折 叠 的 结 束 处<br />

我 通 常 不 喜 欢 把 文 本 折 叠 起 来 , 因 为 我 更 喜 欢 一 目 了 然 的 看 到 全 部 文 本 。 你 可 以 根 据 自 己 的 喜 好<br />

来 决 定 是 否 启 用 折 叠 。<br />

多 说 一 点 , 手 动 创 建 的 折 叠 是 可 以 保 存 在 session 文 件 中 的 , 这 样 下 次 进 入 vim 时 可 以 载 入 之 前 创<br />

建 的 折 叠 , 参 见 :help 'sessionoptions'。<br />

[ 在 程 序 中 移 动 ]<br />

vim 的 作 者 是 一 个 程 序 员 , 这 就 不 难 理 解 为 什 么 vim 提 供 了 众 多 在 程 序 中 移 动 的 命 令 。 这 里 面 既 包<br />

括 我 们 前 面 的 文 章 中 介 绍 过 的 利 用 tag 文 件 及 cscope 在 标 签 间 跳 转 , 也 包 括 众 多 在 函 数 、 注 释 、<br />

预 处 理 指 令 、 程 序 段 , 及 其 它 程 序 元 素 中 移 动 的 命 令 。<br />

本 文 不 再 详 细 介 绍 这 些 命 令 , 作 为 程 序 员 , 一 定 要 熟 读 usr_29.txt! 这 些 命 令 , 可 以 帮 助 你 在 程<br />

序 中 得 心 应 手 的 移 动 。<br />

在 这 里 介 绍 两 个 插 件 , 增 强 了 在 程 序 中 移 动 的 功 能 , 一 个 是 a.vim, 另 外 一 个 是 matchit。<br />

a.vim 的 功 能 非 常 简 单 , 它 帮 助 你 在 源 文 件 和 头 文 件 间 进 行 切 换 , 这 个 简 单 的 功 能 , 却 非 常 实<br />

用 , 至 少 它 为 我 节 省 了 很 多 时 间 。<br />

下 载 a.vim 后 , 把 它 放 到 你 的 .vim/plugin 目 录 就 可 以 了 。<br />

假 设 你 正 在 浏 览 C 语 言 的 源 文 件 , 这 时 想 修 改 它 对 应 的 头 文 件 , 只 需 要 输 入 ":A" 命 令 , 就 切 换 到<br />

头 文 件 了 ( 需 要 源 文 件 和 头 文 件 在 同 一 目 录 中 )。a.vim 插 件 还 定 义 了 其 它 一 些 命 令 和 快 捷 键 ,<br />

参 见 它 的 帮 助 手 册 。<br />

在 vim 中 ,"%" 命 令 跳 转 到 与 当 前 项 目 相 匹 配 的 项 目 。 例 如 , 当 光 标 位 置 在 "{" 时 , 按 下 %, 光 标 就<br />

跳 转 到 对 应 的 "}"( :help %)。<br />

但 vim 提 供 的 % 命 令 , 只 能 在 括 号 , 或 者 C 注 释 的 开 始 和 结 束 ( /* */), 或 者 C 编 译 预 处 理 指 令 间 进<br />

行 跳 转 。 对 于 其 它 程 序 结 构 , 例 如 HTML,% 命 令 不 能 从 标 记 , 跳 转 到 对 应 的 标 记 。<br />

Matchit 插 件 则 扩 展 了 % 命 令 的 功 能 , 使 % 命 令 可 以 对 其 它 程 序 语 言 的 开 始 和 结 束 标 记 间 进 行 跳<br />

转 。<br />

下 载 后 , 把 这 个 插 件 放 到 你 的 .vim/plugin 目 录 , 你 就 可 以 用 % 在 各 种 开 始 / 结 束 标 记 间 跳 转 了 ,<br />

目 前 , 它 可 以 支 持 Ada, ASP with VBS, Csh, DTD, Essbase, Fortran, HTML, JSP (same as<br />

HTML), LaTeX, Lua, Pascal, SGML, Shell, Tcsh, Vim, XML 等 语 言 。<br />

[ 插 入 模 式 下 的 移 动 ]<br />

上 面 介 绍 的 移 动 命 令 , 都 是 在 normal 模 式 下 使 用 的 , 如 果 想 在 insert 模 式 下 移 动 , 阅 读 :help<br />

ins-special-special。<br />

67

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!