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