Vim documentation: pi_logipat

译者: Willis http://vimcdoc.sf.net Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM> Copyright: (c) 2004-2015 by Charles E. Campbell *logiPat-copyright* The VIM LICENSE applies to LogiPat.vim and LogiPat.txt (see |copyright|) except use "LogiPat" instead of "Vim" No warranty, express or implied. Use At-Your-Own-Risk. ============================================================================== 1. 内容 *logiPat* *logiPat-contents* 1. 内容.....................: |logiPat-contents| 2. LogiPat 手册.............: |logiPat-manual| 3. LogiPat 示例.............: |logiPat-examples| 4. 警告.....................: |logiPat-caveat| 5. LogiPat 历史.............: |logiPat-history| ============================================================================== 2. LogiPat 手册 *logiPat-manual* *logiPat-man* *logiPat-arg* *logiPat-input* *logiPat-pattern* *logiPat-operators* 布尔逻辑模式的组成是 operators ! = 非 | = 逻辑或 & = 逻辑与 grouping ( ... ) patterns "pattern" :LogiPat {布尔逻辑模式} *:LogiPat* :LogiPat 是一个接受布尔逻辑参数的命令 (|logiPat-arg|)。 :LP {布尔逻辑模式} *:LP* :LP 是 :LogiPat 的简写命令版本 :LPE {布尔逻辑模式} *:LPE* 不执行搜索,但进行布尔逻辑模式到正规表达式的转换,并在屏幕上回 显。 :LogiPatFlags {搜索标志位} *LogiPat-flags* :LogiPatFlags {search flags} LogiPat 使用 |search()| 命令。:LogiPatFlags 命令可用来指定传递 给 search() 调用的标志位。 :LPF {搜索标志位} *:LPF* :LPF 是 :LogiPatFlags 的简写版本。 :let pat=LogiPat({布尔逻辑模式}) *LogiPat()* 如果直接调用 LogiPat(),不执行搜索,但进行布尔逻辑模式到正规表 达式的转换并返回之。 要在模式里指定 " 而不是用作模式的定界,给双引号加倍。 ============================================================================== 3. LogiPat 示例 *logiPat-examples* LogiPat 接受布尔逻辑参数,产生正规表达式来实现选择。下面提供一系列的例 子 : > :LogiPat "abc" < 会搜索包含字符串 :abc: 的行 > :LogiPat "ab""cd" < 会搜索包含字符串 :ab"c: 的行 > :LogiPat !"abc" < 会搜索不包含字符串 :abc: 的行 > :LogiPat "abc"|"def" < 会搜索包含字符串 :abc: 或 :def: 的行 > :LogiPat !("abc"|"def") < 会搜索既不包含字符串 :abc: 也不包含 :def: 的行 > :LogiPat "abc"&"def" < 会搜索同时包含字符串 :abc: 和 :def: 的行 > :let pat= LogiPat('!"abc"') < 会返回正规表达式,可用来匹配所有不包含 :abc: 的行。双倍的引号 是必要的,它可以把正常的匹配传递给 LogiPat,并把这种模式和布尔 逻辑的操作符区别开来。 ============================================================================== 4. 警告 *logiPat-caveat* "not" 操作符可能比较脆弱;也就是,它并不总是能和 & (逻辑与) 和 | (逻 辑或) 操作符合作得很好。请先试试你的模式,可能的话用 :set hls,以确保 匹配符合你的期望。 ============================================================================== 3. LogiPat 历史 (英文) *logiPat-history* v4 Jun 22, 2015 * LogiPat has been picked up by Bram M for standard plugin distribution; hence the name change v3 Sep 25, 2006 * LP_Or() fixed; it now encapsulates its output in \%(...\) parentheses Dec 12, 2011 * |:LPE| added * "" is mapped to a single " and left inside patterns v2 May 31, 2005 * LPF and LogiPatFlags commands weren't working v1 May 23, 2005 * initial release ============================================================================== vim:tw=78:ts=8:ft=help