vim使ç¨è¿é¶
vim使ç¨è¿é¶
vim使ç¨è¿é¶
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
乱 花 渐 欲 迷 人 眼 - 语 法 高 亮<br />
" mark setting<br />
""""""""""""""""""""""""""""""<br />
nmap hl MarkSet<br />
vmap hl MarkSet<br />
nmap hh MarkClear<br />
vmap hh MarkClear<br />
nmap hr MarkRegex<br />
vmap hr MarkRegex<br />
这 样 , 当 我 输 入 ",hl" 时 , 就 会 把 光 标 下 的 单 词 高 亮 , 在 此 单 词 上 按 ",hh" 会 清 除 该 单 词 的 高 亮 。<br />
如 果 在 高 亮 单 词 外 输 入 ",hh", 会 清 除 所 有 的 高 亮 。<br />
你 也 可 以 使 用 virsual 模 式 选 中 一 段 文 本 , 然 后 按 ",hl", 会 高 亮 你 所 选 中 的 文 本 ; 或 者 你 可 以<br />
用 ",hr" 来 输 入 一 个 正 则 表 达 式 , 这 会 高 亮 所 有 符 合 这 个 正 则 表 达 式 的 文 本 。<br />
你 可 以 在 高 亮 文 本 上 使 用 ",#" 或 ",*" 来 上 下 搜 索 高 亮 文 本 。 在 使 用 了 ",#" 或 ",*" 后 , 就 可 以 直 接<br />
输 入 "#" 或 "*" 来 继 续 查 找 该 高 亮 文 本 , 直 到 你 又 用 "#" 或 "*" 查 找 了 其 它 文 本 。<br />
如 果 你 在 启 动 vim 后 重 新 执 行 了 colorscheme 命 令 , 或 者 载 入 了 会 话 文 件 , 那 么 mark 插 件 的 颜 色 就<br />
会 被 清 掉 , 解 决 的 办 法 是 重 新 source 一 下 mark 插 件 。 或 者 像 我 一 样 , 把 mark 插 件 定 义 的<br />
highlight 组 加 入 到 你 自 己 的 colorscheme 文 件 中 。 例 如 , 把 下 面 的 语 句 加 到 desert_my.vim 及<br />
darkblue_my.vim 中 :<br />
" For mark plugin<br />
hi MarkWord1 ctermbg=Cyan ctermfg=Black guibg=#8CCBEA guifg=Black<br />
hi MarkWord2 ctermbg=Green ctermfg=Black guibg=#A4E57E guifg=Black<br />
hi MarkWord3 ctermbg=Yellow ctermfg=Black guibg=#FFDB72 guifg=Black<br />
hi MarkWord4 ctermbg=Red ctermfg=Black guibg=#FF7272 guifg=Black<br />
hi MarkWord5 ctermbg=Magenta ctermfg=Black guibg=#FFB3FF guifg=Black<br />
hi MarkWord6 ctermbg=Blue ctermfg=Black guibg=#9999FF guifg=Black<br />
不 知 道 为 什 么 , 我 的 vim 7.0 在 切 换 到 其 它 缓 冲 区 然 后 再 切 换 回 来 时 , 原 来 被 标 记 的 文 本 会 失 去<br />
高 亮 。 而 作 者 说 他 并 不 存 在 此 问 题 。 如 果 你 存 在 类 似 的 问 题 , 可 以 打 上 我 所 加 的 补 丁 :<br />
--- easwy/mark.vim 2006-12-01 13:02:18.000000000 +0800<br />
+++ plugin/mark.vim 2007-03-23 10:22:02.000000000 +0800<br />
@@ -440,6 +440,43 @@<br />
endif<br />
endfunction<br />
+" easwy add<br />
+" return the mark string under the cursor. multi-lines marks not supported<br />
+function! RedoMarkWord()<br />
+ " define variables if they don't exist<br />
+ call s:InitMarkVariables()<br />
+<br />
+ let i = 1<br />
+ while i