*pi_logipat.txt*	逻辑模式				Jun 22, 2015

				译者: 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
