代码拉取完成,页面将自动刷新
<map version="freeplane 1.3.0">
<!--To view this file, download free mind mapping software Freeplane from http://freeplane.sourceforge.net -->
<node TEXT="Part-V-Pattern" ID="ID_1272520573" CREATED="1451538705033" MODIFIED="1451539066259" LINK="Vim编辑器高阶技巧.mm">
<edge STYLE="bezier" COLOR="#7c7c00" WIDTH="thin"/>
<hook NAME="MapStyle">
<map_styles>
<stylenode LOCALIZED_TEXT="styles.root_node">
<font NAME="YaHei Consolas Hybrid"/>
<stylenode LOCALIZED_TEXT="styles.predefined" POSITION="right">
<font NAME="YaHei Consolas Hybrid"/>
<stylenode LOCALIZED_TEXT="default" MAX_WIDTH="600" COLOR="#000000" STYLE="as_parent">
<font NAME="YaHei Consolas Hybrid" SIZE="10" BOLD="false" ITALIC="false"/>
</stylenode>
<stylenode LOCALIZED_TEXT="defaultstyle.details">
<font NAME="YaHei Consolas Hybrid"/>
</stylenode>
<stylenode LOCALIZED_TEXT="defaultstyle.note">
<font NAME="YaHei Consolas Hybrid"/>
</stylenode>
<stylenode LOCALIZED_TEXT="defaultstyle.floating">
<edge STYLE="hide_edge"/>
<cloud COLOR="#f0f0f0" SHAPE="ROUND_RECT"/>
<font NAME="YaHei Consolas Hybrid"/>
</stylenode>
</stylenode>
<stylenode LOCALIZED_TEXT="styles.user-defined" POSITION="right">
<font NAME="YaHei Consolas Hybrid"/>
<stylenode LOCALIZED_TEXT="styles.topic" COLOR="#18898b" STYLE="fork">
<font NAME="YaHei Consolas Hybrid" SIZE="10" BOLD="true"/>
</stylenode>
<stylenode LOCALIZED_TEXT="styles.subtopic" COLOR="#cc3300" STYLE="fork">
<font NAME="YaHei Consolas Hybrid" SIZE="10" BOLD="true"/>
</stylenode>
<stylenode LOCALIZED_TEXT="styles.subsubtopic" COLOR="#669900">
<font NAME="YaHei Consolas Hybrid" SIZE="10" BOLD="true"/>
</stylenode>
<stylenode LOCALIZED_TEXT="styles.important">
<icon BUILTIN="yes"/>
<font NAME="YaHei Consolas Hybrid"/>
</stylenode>
</stylenode>
<stylenode LOCALIZED_TEXT="styles.AutomaticLayout" POSITION="right">
<font NAME="YaHei Consolas Hybrid"/>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level.root" COLOR="#000000">
<font NAME="YaHei Consolas Hybrid" SIZE="18"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,1" COLOR="#0033ff">
<font NAME="YaHei Consolas Hybrid" SIZE="16"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,2" COLOR="#00b439">
<font NAME="YaHei Consolas Hybrid" SIZE="14"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,3" COLOR="#990000">
<font NAME="YaHei Consolas Hybrid" SIZE="12"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,4" COLOR="#111111">
<font NAME="YaHei Consolas Hybrid" SIZE="10"/>
</stylenode>
</stylenode>
</stylenode>
</map_styles>
</hook>
<hook NAME="AutomaticEdgeColor" COUNTER="8"/>
<hook NAME="accessories/plugins/AutomaticLayout.properties" VALUE="ALL"/>
<node TEXT="12-按模式匹配及原义匹配" POSITION="right" ID="ID_1977832817" CREATED="1451538731472" MODIFIED="1451538748532">
<node TEXT="no.72调整查找模式的大小写" ID="ID_34159813" CREATED="1453702934428" MODIFIED="1453702934428">
<node TEXT="全局设置大小写敏感性" ID="ID_1816048800" CREATED="1454050264985" MODIFIED="1454050273469">
<node TEXT="set ignorecase" ID="ID_580495094" CREATED="1454050274585" MODIFIED="1454050285201"/>
</node>
<node TEXT="每次查找时设置大小写敏感性" ID="ID_146866128" CREATED="1454050308376" MODIFIED="1454050323028">
<node TEXT="\c \C" ID="ID_845542305" CREATED="1454050299442" MODIFIED="1454050305591"/>
</node>
<node TEXT="启用更具智能的大小写敏感性设置" ID="ID_298979779" CREATED="1454050331084" MODIFIED="1454050419824"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h /ignorecase
</p>
</body>
</html>
</richcontent>
<node TEXT="set smartcase" ID="ID_1048337231" CREATED="1454050354663" MODIFIED="1454050398774"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
只要在查找模式中使用了大写字母, ignorecase就不再生效
</p>
</body>
</html>
</richcontent>
</node>
<node TEXT="pattern 'ignorecase' 'smartcase' matches
foo off - foo
foo on - foo Foo FOO
Foo on off foo Foo FOO
Foo on on Foo
\cfoo - - foo Foo FOO
foo\C - - foo" ID="ID_1503237909" CREATED="1454050442462" MODIFIED="1454050469694"/>
</node>
</node>
<node TEXT="no.73按正则表达式查找时,使用\v模式开关" ID="ID_652758738" CREATED="1453702934428" MODIFIED="1454050605747"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
与Perl相比,Vim正则表达式的语法风格更接近POSIX
</p>
<p>
patterns/colors.css
</p>
</body>
</html>
</richcontent>
<node TEXT="默认POSIX查找模式" ID="ID_966950861" CREATED="1454050964175" MODIFIED="1454050978412">
<node TEXT="/#\([0-9a-zA-Z]\{6}\|[0-9a-zA-Z]\{3}\)" ID="ID_1739414211" CREATED="1454050614098" MODIFIED="1454050791484"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
3类括号
</p>
<p>
[]缺省具有特殊含义
</p>
<p>
{}需要转义,只需为开括号转义,与之对应的闭括号则不必
</p>
<p>
()会按原义匹配字符(及),开闭都需要转义
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node TEXT="very magic模式" ID="ID_1581368735" CREATED="1454050493027" MODIFIED="1454050896989"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
可以让Vim贴近Perl正则语法;
</p>
<p>
:h \v
</p>
<p>
位于\v后边的所有字符都具有特殊含义
</p>
</body>
</html>
</richcontent>
<node TEXT="/\v#([0-9a-zA-Z]{6}|[0-9a-zA-Z]{3})" ID="ID_1947018032" CREATED="1454050817514" MODIFIED="1454050842448"/>
</node>
<node TEXT="用十六进制字符类进一步优化模式" ID="ID_205812498" CREATED="1454050904702" MODIFIED="1454050920044">
<node TEXT="/\v#(\x{6}|\x{3})" ID="ID_1404418160" CREATED="1454050921177" MODIFIED="1454051002103"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h /character-classes
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node TEXT="保留以备扩展时使用字符" ID="ID_1486662562" CREATED="1454051016062" MODIFIED="1454051041818">
<node TEXT="比如 #" ID="ID_1813497137" CREATED="1454051045265" MODIFIED="1454051057140"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h /\\
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node TEXT="Vim模式语法的传承" ID="ID_425367493" CREATED="1454051081553" MODIFIED="1454051089785">
<node TEXT="\v" ID="ID_1753664497" CREATED="1454051090806" MODIFIED="1454051236576">
<font BOLD="true"/>
</node>
<node TEXT="\V" ID="ID_1805278904" CREATED="1454051095526" MODIFIED="1454051097334"/>
<node TEXT="\m" ID="ID_172404011" CREATED="1454051097989" MODIFIED="1454051099980">
<node TEXT="magic" ID="ID_730035973" CREATED="1454051111900" MODIFIED="1454051114571">
<node TEXT="自动为 . * 以及 [] 赋予特殊含义, 诸如 + ? () {} 未含有特殊含义" ID="ID_1123638423" CREATED="1454051179060" MODIFIED="1454051225821"/>
</node>
</node>
<node TEXT="\M" ID="ID_1636207257" CREATED="1454051100868" MODIFIED="1454051102925">
<node TEXT="nomagic" ID="ID_1969981536" CREATED="1454051116487" MODIFIED="1454051119496">
<node TEXT="类似于\V, 但是 ^ 与 $ 自动具有特殊含义" ID="ID_471202140" CREATED="1454051129706" MODIFIED="1454051158414"/>
</node>
</node>
</node>
</node>
<node TEXT="no.74按原义查找时,使用\V原义开关" ID="ID_975053973" CREATED="1453702934433" MODIFIED="1454051273285"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
patterns/excerpt-also-known-as.txt
</p>
</body>
</html>
</richcontent>
<node TEXT="/a.k.a
/a\.k\.a\.
/\Va.k.a" ID="ID_1302841684" CREATED="1454051278477" MODIFIED="1454051338780"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h /\V
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node TEXT="no.75使用圆括号捕获子匹配" ID="ID_312034506" CREATED="1453702934435" MODIFIED="1454051528465"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
patterns/springtime.txt
</p>
</body>
</html>
</richcontent>
<node TEXT="匹配重复单词正则" ID="ID_904101728" CREATED="1454051394840" MODIFIED="1454051402552">
<node TEXT="/\v<(\w+)\_s+\1>" ID="ID_1671225323" CREATED="1454051365958" MODIFIED="1454051393705"/>
<node TEXT="() \1 - \9" ID="ID_271668409" CREATED="1454051417972" MODIFIED="1454051452654"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h /\_
</p>
<p>
:h 27.8
</p>
</body>
</html>
</richcontent>
</node>
<node TEXT="\0" ID="ID_89180992" CREATED="1454051492713" MODIFIED="1454051500607"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
整个匹配
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node TEXT="no.76 no.93" ID="ID_1133758278" CREATED="1454051508319" MODIFIED="1454051533312"/>
</node>
<node TEXT="no.76界定单词的边界" ID="ID_1851328507" CREATED="1453702934437" MODIFIED="1453702934437">
<node TEXT="/the
/\v<the><CR>" ID="ID_1768226811" CREATED="1454051653160" MODIFIED="1454051931961"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
the problem with these new recruits is that
</p>
<p>
they don't keep their boots clean.
</p>
<p>
<>零宽度元字符, 本身不匹配任何字符, 仅表示单词
</p>
<p>
与围绕此单词的空白字符(或标点符号)之间的边界
</p>
</body>
</html>
</richcontent>
<node TEXT="# 或者 * 间接使用到单词定界符" ID="ID_1701489307" CREATED="1454052429801" MODIFIED="1454052495858"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h *
</p>
</body>
</html>
</richcontent>
</node>
<node TEXT="g# g* 则不会使用单词定界符" ID="ID_737942813" CREATED="1454052467354" MODIFIED="1454052483297"/>
</node>
<node TEXT="使用圆括号但不捕获其内容" ID="ID_598253786" CREATED="1454051969208" MODIFIED="1454051986108">
<node TEXT="/\v(And|D)rew Neil
/\v%(And|D)rew Neil
/\v(%(And|D)rew) (Neil)
:%s//\2, \1/g" ID="ID_879969286" CREATED="1454051988383" MODIFIED="1454052103728"/>
</node>
<node TEXT="\W\ze\w模拟元字符<" ID="ID_393661752" CREATED="1454052135723" MODIFIED="1454052167219">
<node TEXT="\w匹配单词类字符包括字母数字及_" ID="ID_1975252334" CREATED="1454052195251" MODIFIED="1454052215921"/>
</node>
<node TEXT="\w\zs\W模拟元字符>" ID="ID_287683794" CREATED="1454052168591" MODIFIED="1454052185761">
<node TEXT="\W匹配除单词类字符意外的其他字符" ID="ID_417867783" CREATED="1454052218322" MODIFIED="1454052238117"/>
</node>
<node TEXT="在verymagic模式下, <>字符可以被解析为单词定界符,
而在magic,nomagic以及very nomagic模式下, 则需转义" ID="ID_1257378055" CREATED="1454052340341" MODIFIED="1454052396361"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h /\v
</p>
</body>
</html>
</richcontent>
</node>
<node TEXT="no.77" ID="ID_1915545481" CREATED="1454051943912" MODIFIED="1454051946426"/>
</node>
<node TEXT="no.77界定匹配的边界" ID="ID_1072700524" CREATED="1453702934438" MODIFIED="1454052534725"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
hlsearch
</p>
</body>
</html>
</richcontent>
<node TEXT="匹配的边界" ID="ID_1911148423" CREATED="1454052565386" MODIFIED="1454052570029">
<node TEXT="\zs" ID="ID_1742434528" CREATED="1454052559761" MODIFIED="1454052575187"/>
<node TEXT="\ze" ID="ID_307174659" CREATED="1454052576476" MODIFIED="1454052579547"/>
<node TEXT="利用以上两者来收窄匹配的范围" ID="ID_1514447457" CREATED="1454052603785" MODIFIED="1454052646887"/>
</node>
<node TEXT="用例" ID="ID_481151503" CREATED="1454052686300" MODIFIED="1454052691704">
<node TEXT="/\v"[^"]+"<CR>
/\v"\zs[^"]+\ze"<CR>" ID="ID_1724707502" CREATED="1454052692825" MODIFIED="1454052724118"/>
</node>
<node TEXT="环视表达式" ID="ID_1852326929" CREATED="1454052777009" MODIFIED="1454052823702"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h perl-patterns
</p>
</body>
</html>
</richcontent>
<node TEXT="实现上例的perl(\v)方法" ID="ID_1938396865" CREATED="1454052845565" MODIFIED="1454052857731">
<node TEXT="/\v"@<=[^"]+"@=" ID="ID_1674494649" CREATED="1454052858655" MODIFIED="1454052876133"/>
</node>
<node TEXT="肯定型逆序环视 \zs" ID="ID_24276216" CREATED="1454052784455" MODIFIED="1454052800528"/>
<node TEXT="肯定型顺序环视 \ze" ID="ID_187971701" CREATED="1454052801490" MODIFIED="1454052814011"/>
</node>
</node>
<node TEXT="no.78转义问题字符" ID="ID_1295341749" CREATED="1453702934439" MODIFIED="1454052946972"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
patterns/search-url.markdown
</p>
</body>
</html>
</richcontent>
<node TEXT="正向查找时要转义/" ID="ID_692454531" CREATED="1454052910684" MODIFIED="1454052917888">
<node TEXT="/\Vhttp://vimdoc.net/search?q=/\\" ID="ID_1565575434" CREATED="1454052954989" MODIFIED="1454053002047"/>
<node TEXT="/\Vhttp:\/\/vimdoc.net/search?q=\/\\" ID="ID_131667088" CREATED="1454052954989" MODIFIED="1454053052117"/>
</node>
<node TEXT="反向查找时要转义?" ID="ID_1979083901" CREATED="1454052910684" MODIFIED="1454052926169">
<node TEXT="?http://vimdoc.net/search?q=/\\" ID="ID_1836307014" CREATED="1454053070130" MODIFIED="1454053094683"/>
<node TEXT="?http://vimdoc.net/search\?q=/\\" ID="ID_561250780" CREATED="1454053096997" MODIFIED="1454053101093"/>
</node>
<node TEXT="每次都要转义符号\" ID="ID_1819211996" CREATED="1454053122909" MODIFIED="1454053131777">
<node TEXT="/\V/\Vhttp:\/\/vimdoc.net/search?q=\/\\\\" ID="ID_946869240" CREATED="1454053137810" MODIFIED="1454053153025"/>
<node TEXT="?http://vimdoc.net/search\?q=/\\\\" ID="ID_1081394407" CREATED="1454053096997" MODIFIED="1454053168547"/>
</node>
<node TEXT="用编程的方式转义字符" ID="ID_35627609" CREATED="1454053179653" MODIFIED="1454053190576">
<node TEXT="escape({string},{chars})" ID="ID_1962299948" CREATED="1454053202484" MODIFIED="1454053224785"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h escape()
</p>
</body>
</html>
</richcontent>
</node>
<node TEXT="/\V<C-r>=escape(@u, getcmdtype().'\'" ID="ID_893721080" CREATED="1454053259397" MODIFIED="1454053320436"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h getcmdtype()
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node TEXT="no.86" ID="ID_440015325" CREATED="1454053344788" MODIFIED="1454053351851"/>
<node TEXT="no.83 查找域结束符" ID="ID_1875242794" CREATED="1454053383848" MODIFIED="1454053417240">
<node TEXT="/vim/e" ID="ID_845113278" CREATED="1454053394168" MODIFIED="1454053409713"/>
</node>
</node>
</node>
<node TEXT="13-查找" POSITION="right" ID="ID_1201608246" CREATED="1451538750107" MODIFIED="1451538754805">
<node TEXT="no.79结识查找命令" ID="ID_1199722483" CREATED="1453702952184" MODIFIED="1453702952184">
<node TEXT="构造正则表达式" ID="ID_1316615837" CREATED="1454053462715" MODIFIED="1454053469806">
<node TEXT="回溯查找模式" ID="ID_265506509" CREATED="1454053471340" MODIFIED="1454053486848"/>
<node TEXT="在命令行窗口中编辑" ID="ID_536389863" CREATED="1454053488053" MODIFIED="1454053497239"/>
</node>
<node TEXT="/ ? n N" ID="ID_497918577" CREATED="1454053533943" MODIFIED="1454053594731"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h wrapscan
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node TEXT="no.80高亮查找匹配" ID="ID_1727292859" CREATED="1453702952184" MODIFIED="1454053690564"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h :noh
</p>
</body>
</html>
</richcontent>
<node TEXT="se hls!" ID="ID_1988858026" CREATED="1454053667955" MODIFIED="1454053683572"/>
<node TEXT="nnoremap <silent><C-l> "<C-u>nohlsearch<CR><C-l>" ID="ID_458547750" CREATED="1454053698164" MODIFIED="1454053756540"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h CTRL-L
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node TEXT="no.81在执行查找前预览第一处匹配" ID="ID_1234842245" CREATED="1453702952188" MODIFIED="1454053792546"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h incsearch
</p>
</body>
</html>
</richcontent>
<node TEXT="检查是否存在一处匹配" ID="ID_1144574715" CREATED="1454053841846" MODIFIED="1454053852531">
<node TEXT="/carrot<Esc>" ID="ID_1780801377" CREATED="1454053853591" MODIFIED="1454053863197"/>
</node>
<node TEXT="根据预览结果对查找域自动补全" ID="ID_258419424" CREATED="1454053865821" MODIFIED="1454053888125">
<node TEXT="/carr<C-r><C-w>" ID="ID_191457241" CREATED="1454053893996" MODIFIED="1454053918630"/>
<node TEXT="\v模式下稍有瑕疵" ID="ID_539037409" CREATED="1454053960172" MODIFIED="1454053970437">
<node TEXT="/\vcarrcarrot" ID="ID_342561316" CREATED="1454053980864" MODIFIED="1454053996505"/>
</node>
</node>
</node>
<node TEXT="no.82统计当前模式的匹配个数" ID="ID_120400142" CREATED="1453702952189" MODIFIED="1453702952189">
<node TEXT=":%s///gn" ID="ID_1827967662" CREATED="1454054009741" MODIFIED="1454054017978">
<node TEXT="n会抑制替换操作, 只简单统计匹配次数" ID="ID_640898861" CREATED="1454054043802" MODIFIED="1454054079741"/>
</node>
</node>
<node TEXT="no.83将光标偏移到查找匹配进行操作" ID="ID_600351041" CREATED="1453702952194" MODIFIED="1454054116756"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
search/langs.txt
</p>
<p>
:h search-offset
</p>
</body>
</html>
</richcontent>
<node TEXT="/lang/e<CR> auage<Esc> n. n." ID="ID_614840104" CREATED="1454054150127" MODIFIED="1454054186891"/>
<node TEXT="//e" ID="ID_921669792" CREATED="1454054196129" MODIFIED="1454054201818">
<node TEXT="重用查找模式, 并偏移至词尾" ID="ID_204425220" CREATED="1454054205641" MODIFIED="1454054216400"/>
</node>
</node>
<node TEXT="no.84对完整的查找匹配进行操作" ID="ID_1971798214" CREATED="1453702952197" MODIFIED="1454054252749"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
search/tag-heirarchy.rb
</p>
</body>
</html>
</richcontent>
<node TEXT="gU{motion} gU3l 3gUl gUtD" ID="ID_174172959" CREATED="1454054262292" MODIFIED="1454054285754"/>
<node ID="ID_464808086" CREATED="1454054295908" MODIFIED="1454054370640"><richcontent TYPE="NODE">
<html>
<head>
</head>
<body>
<p>
/\vX(ht)?ml\C<CR> <b>gU//e<CR></b> //<CR> . //<CR>.
</p>
</body>
</html>
</richcontent>
</node>
<node TEXT="gUfl" ID="ID_1499792007" CREATED="1454054389506" MODIFIED="1454054414750"/>
<node TEXT="plugin: Kana Natsuno: textobj-lastpat" ID="ID_129044549" CREATED="1454054439175" MODIFIED="1454054531132"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
http://github.com/kana/vim-textobj-lastpat
</p>
</body>
</html>
</richcontent>
<node TEXT="i/文本对象用于操作查找匹配" ID="ID_562543465" CREATED="1454054547021" MODIFIED="1454054560295"/>
<node TEXT="gUi/" ID="ID_558751603" CREATED="1454054533648" MODIFIED="1454054538851"/>
</node>
</node>
<node TEXT="no.85利用查找历史,迭代完成复杂的模式" ID="ID_1877616957" CREATED="1453702952199" MODIFIED="1454054744944"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
search/quoted-strings.txt
</p>
</body>
</html>
</richcontent>
<node TEXT="粗略匹配" ID="ID_1454411377" CREATED="1454054772002" MODIFIED="1454054779722">
<node TEXT="/\v'.+'" ID="ID_346062058" CREATED="1454054883384" MODIFIED="1454054895750"/>
</node>
<node TEXT="逐步求精" ID="ID_17139291" CREATED="1454054780439" MODIFIED="1454054785653">
<node TEXT="/<Up>" ID="ID_1335139854" CREATED="1454055106606" MODIFIED="1454055120671"/>
<node TEXT="/\v'[^'].+'" ID="ID_51646272" CREATED="1454054883384" MODIFIED="1454054918991"/>
</node>
<node TEXT="精益求精" ID="ID_1246629560" CREATED="1454054787762" MODIFIED="1454054791550">
<node TEXT="q/" ID="ID_1478091370" CREATED="1454055102436" MODIFIED="1454055105393"/>
<node TEXT="/\v'([^']|'\w)+'" ID="ID_1943590686" CREATED="1454054926597" MODIFIED="1454054961307"/>
</node>
<node TEXT="画上完美句号" ID="ID_1312140306" CREATED="1454055131920" MODIFIED="1454055139155">
<node TEXT=":%s//"\1"/g" ID="ID_116036240" CREATED="1454055141203" MODIFIED="1454055167454"/>
</node>
</node>
<node TEXT="no.86查找当前高亮选中的文本" ID="ID_539726607" CREATED="1453702952200" MODIFIED="1454055413705"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h visual-search
</p>
<p>
patterns/visual-star.vim
</p>
</body>
</html>
</richcontent>
<node TEXT="plugin visual star search" ID="ID_413762023" CREATED="1454055305726" MODIFIED="1454055351570"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
https://github.com/nelstrom/vim-visual-star-search
</p>
</body>
</html>
</richcontent>
</node>
<node TEXT="xnoremap" ID="ID_42333870" CREATED="1454055374683" MODIFIED="1454055388324"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
:h mapmode-x
</p>
</body>
</html>
</richcontent>
</node>
</node>
</node>
<node TEXT="14-替换" POSITION="right" ID="ID_151211303" CREATED="1451538755584" MODIFIED="1451538761318">
<node TEXT="no.87结识substitute命令" ID="ID_246545772" CREATED="1453702971309" MODIFIED="1454305530484">
<node TEXT=":substitute" ID="ID_868753303" CREATED="1455503861353" MODIFIED="1455503871842">
<node TEXT=":[range]s[ubstitute]/{pattern}/{string}/[flags]" ID="ID_1109065042" CREATED="1455503885250" MODIFIED="1455503915777"/>
</node>
<node TEXT="ranges" ID="ID_813850004" CREATED="1455503984434" MODIFIED="1455503986593">
<node TEXT="no.28" ID="ID_1503861241" CREATED="1455503980074" MODIFIED="1455503983330"/>
</node>
<node TEXT="pattern" ID="ID_477774491" CREATED="1455503988839" MODIFIED="1455503991113">
<node TEXT="chapter.12" ID="ID_63562113" CREATED="1455503932398" MODIFIED="1455503996379"/>
</node>
<node TEXT="flags" ID="ID_387975245" CREATED="1455503972648" MODIFIED="1455503975073">
<node TEXT="g" ID="ID_1601820474" CREATED="1455503999167" MODIFIED="1455504001466">
<node TEXT="当前一整行" ID="ID_1166017845" CREATED="1455504018672" MODIFIED="1455505626314"/>
</node>
<node TEXT="c" ID="ID_1649293945" CREATED="1455504002113" MODIFIED="1455504003925">
<node TEXT="确认或拒绝" ID="ID_1776736058" CREATED="1455504027784" MODIFIED="1455504034892"/>
</node>
<node TEXT="n" ID="ID_152940827" CREATED="1455504004527" MODIFIED="1455504006368">
<node TEXT="抑制替换行为, 仅显示匹配个数" ID="ID_495768091" CREATED="1455504037364" MODIFIED="1455504061685"/>
</node>
<node TEXT="e" ID="ID_814595204" CREATED="1455504007160" MODIFIED="1455504014436">
<node TEXT="屏蔽错误提示" ID="ID_188187649" CREATED="1455504064220" MODIFIED="1455504074877"/>
</node>
<node TEXT="&" ID="ID_1270002084" CREATED="1455504015056" MODIFIED="1455504016201">
<node TEXT="指示Vim重用上一次substitute命令用过的标志位" ID="ID_1110952804" CREATED="1455504077327" MODIFIED="1455504103983"/>
</node>
</node>
<node TEXT="特殊字符" ID="ID_658905518" CREATED="1455504111620" MODIFIED="1455504114753">
<node TEXT="\r" ID="ID_1004312019" CREATED="1455504116021" MODIFIED="1455504120554">
<node TEXT="换行符" ID="ID_1228170545" CREATED="1455504158335" MODIFIED="1455504162561"/>
</node>
<node TEXT="\t" ID="ID_1218683870" CREATED="1455504121338" MODIFIED="1455504123219">
<node TEXT="制表符" ID="ID_1176397160" CREATED="1455504164042" MODIFIED="1455504166830"/>
</node>
<node TEXT="\\" ID="ID_210367614" CREATED="1455504123994" MODIFIED="1455504126017">
<node TEXT="\" ID="ID_855143837" CREATED="1455504168453" MODIFIED="1455504170108"/>
</node>
<node TEXT="\1" ID="ID_783098683" CREATED="1455504127936" MODIFIED="1455504129697">
<node TEXT="第一个子匹配" ID="ID_751710603" CREATED="1455504174283" MODIFIED="1455504182033">
<node TEXT="no.93" ID="ID_324182094" CREATED="1455504295133" MODIFIED="1455504322358"/>
</node>
</node>
<node TEXT="\2" ID="ID_711674110" CREATED="1455504130301" MODIFIED="1455504132543">
<node TEXT="第二个子匹配" ID="ID_810208537" CREATED="1455504174283" MODIFIED="1455504187703"/>
</node>
<node TEXT="\0" ID="ID_1925733365" CREATED="1455504133413" MODIFIED="1455504135472">
<node TEXT="匹配模式的所有内容" ID="ID_1635931876" CREATED="1455504190080" MODIFIED="1455504198554"/>
</node>
<node TEXT="&" ID="ID_1667211971" CREATED="1455504136137" MODIFIED="1455504138080">
<node TEXT="匹配模式的所有内容" ID="ID_1260748185" CREATED="1455504190080" MODIFIED="1455504198554"/>
</node>
<node TEXT="~" ID="ID_1118766014" CREATED="1455504139120" MODIFIED="1455504141951">
<node TEXT="使用上一次调用:substitute时的{string}" ID="ID_117858309" CREATED="1455504208999" MODIFIED="1455504231510">
<node TEXT="no.92" ID="ID_316862942" CREATED="1455504310161" MODIFIED="1455504319430"/>
</node>
</node>
<node TEXT="\={Vim script}" ID="ID_17284587" CREATED="1455504142847" MODIFIED="1455504152577">
<node TEXT="执行{Vim Script}表达式; 并将返回的结果作为替换{string}" ID="ID_1390662065" CREATED="1455504233479" MODIFIED="1455504265844">
<node TEXT="no.94, no.95" ID="ID_648080774" CREATED="1455504278975" MODIFIED="1455504285367"/>
</node>
</node>
</node>
</node>
<node TEXT="no.88在文件范围内查找并替换每一处匹配" ID="ID_218852454" CREATED="1453702971309" MODIFIED="1455504373928"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
substitution/get-rolling.txt
</p>
</body>
</html>
</richcontent>
<node TEXT=":set hlsearch<CR>" ID="ID_1560353738" CREATED="1455504382017" MODIFIED="1455504450189"/>
<node ID="ID_1582760015" CREATED="1455504452691" MODIFIED="1455504452691"><richcontent TYPE="NODE">
<html>
<head>
</head>
<body>
<p>
:s/going/rolling
</p>
</body>
</html>
</richcontent>
</node>
<node TEXT=":s/going/rolling/g" ID="ID_472256812" CREATED="1455504432668" MODIFIED="1455504446742"/>
<node TEXT=":%s/going/rolling/g" ID="ID_1550034756" CREATED="1455504458885" MODIFIED="1455504470586"/>
</node>
<node TEXT="no.89手动控制每一次替换操作" ID="ID_1750871704" CREATED="1453702971314" MODIFIED="1455505662380"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
the_vim_way/1_copy_content.txt
</p>
</body>
</html>
</richcontent>
<node TEXT=":%s/content/copy/gc" ID="ID_335511955" CREATED="1455505641630" MODIFIED="1455505683560"/>
<node TEXT="y/n/a/q/l/^E/^Y" ID="ID_662550965" CREATED="1455505690177" MODIFIED="1455505712310">
<node TEXT="y for yes" ID="ID_1166318672" CREATED="1455505717329" MODIFIED="1455505722581"/>
<node TEXT="n for no" ID="ID_1152530183" CREATED="1455505723536" MODIFIED="1455505726804"/>
<node TEXT="a for all" ID="ID_1553758223" CREATED="1455505727445" MODIFIED="1455505730502"/>
<node TEXT="q for quit" ID="ID_118614356" CREATED="1455505731144" MODIFIED="1455505736431"/>
<node TEXT="l for last" ID="ID_1246298193" CREATED="1455505737852" MODIFIED="1455505752551"/>
<node TEXT="<C-e> 向上滚动屏幕" ID="ID_1304963847" CREATED="1455505741371" MODIFIED="1455505766643"/>
<node TEXT="<C-y> 向下滚动屏幕" ID="ID_743314233" CREATED="1455505767591" MODIFIED="1455505775950"/>
</node>
<node TEXT=":h :s_c" ID="ID_681556929" CREATED="1455505780224" MODIFIED="1455505787461"/>
<node TEXT="对比点范式" ID="ID_73772874" CREATED="1455505819263" MODIFIED="1455505843970"/>
</node>
<node TEXT="no.90重用上次的查找模式" ID="ID_249508743" CREATED="1453702971317" MODIFIED="1453702971317">
<node TEXT="no.85" ID="ID_1564540911" CREATED="1455505919454" MODIFIED="1455505923101">
<node TEXT=":%s/\v'(([^']|'\w)+'/"\1"/g" ID="ID_923442507" CREATED="1455505924445" MODIFIED="1455505965413">
<node TEXT="/\v'(([^']|'\w)+)'" ID="ID_1385850530" CREATED="1455505967471" MODIFIED="1455506016290"/>
<node TEXT=":%s//"\1"/g" ID="ID_1430219797" CREATED="1455506002904" MODIFIED="1455506029671"/>
</node>
</node>
<node TEXT="no.86" ID="ID_1270910693" CREATED="1455506086141" MODIFIED="1455506089998">
<node TEXT="*" ID="ID_118557340" CREATED="1455506091012" MODIFIED="1455506092178"/>
</node>
<node TEXT=":h cmdline-history" ID="ID_1372493209" CREATED="1455506140856" MODIFIED="1455506153030">
<node TEXT=":%s/<C-r>//"\1"/g" ID="ID_1348076292" CREATED="1455506104711" MODIFIED="1455506121430"/>
</node>
</node>
<node TEXT="no.91用寄存器的内容替换" ID="ID_250560231" CREATED="1453702971318" MODIFIED="1453702971318">
<node TEXT="传值" ID="ID_1281122428" CREATED="1455506478947" MODIFIED="1455506484438">
<node TEXT=":%s//<C-r>0/g" ID="ID_1992047303" CREATED="1455506191664" MODIFIED="1455506203734">
<node TEXT="注意要转义其中的&和~" ID="ID_374709667" CREATED="1455506217733" MODIFIED="1455506229477"/>
</node>
</node>
<node TEXT="引用" ID="ID_1913445608" CREATED="1455506472672" MODIFIED="1455506487099">
<node TEXT=":%s//\=@0/g" ID="ID_1616102700" CREATED="1455506489073" MODIFIED="1455506498455"/>
<node TEXT=":%s//\=@"/g" ID="ID_1602164397" CREATED="1455506489073" MODIFIED="1455506512540"/>
</node>
<node TEXT="比较" ID="ID_1364473493" CREATED="1455506523073" MODIFIED="1455506524956">
<node TEXT=":%s/Pragmatic Vim/Practical Vim/g" ID="ID_267941671" CREATED="1455506550089" MODIFIED="1455506567417"/>
<node TEXT=":let @/='Pragmatic Vim'
:let @a='Practical Vim'
:%s//\=@a/g" ID="ID_1897853107" CREATED="1455506572321" MODIFIED="1455506618071"/>
</node>
</node>
<node TEXT="no.92重复上一次substitute命令" ID="ID_730829289" CREATED="1453702971319" MODIFIED="1455507041674"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
substitution/mixin.js
</p>
</body>
</html>
</richcontent>
<node TEXT=":h g&" ID="ID_1550861138" CREATED="1455507011140" MODIFIED="1455507022534">
<node TEXT=":s/target/replacement/g" ID="ID_1948705501" CREATED="1455506973767" MODIFIED="1455506989733">
<node TEXT="g&" ID="ID_901568256" CREATED="1455506998443" MODIFIED="1455507000791"/>
</node>
</node>
<node TEXT="gv" ID="ID_551564219" CREATED="1455507045043" MODIFIED="1455507087638">
<node TEXT="no.21" ID="ID_697434224" CREATED="1455507088713" MODIFIED="1455507093567"/>
</node>
<node TEXT="错误替换" ID="ID_1827774731" CREATED="1455507181646" MODIFIED="1455507185246">
<node TEXT="Vjj yP :%s/Name/Number/g" ID="ID_1123375140" CREATED="1455507154008" MODIFIED="1455507180408"/>
</node>
<node TEXT="结论" ID="ID_656253941" CREATED="1455507186428" MODIFIED="1455507382766">
<node TEXT=":&&" ID="ID_278453354" CREATED="1455507193546" MODIFIED="1455507203548">
<node TEXT=":&用作重复上一次的:substitute命令" ID="ID_1111200311" CREATED="1455507205185" MODIFIED="1455507222644">
<node TEXT=":h :&" ID="ID_610174112" CREATED="1455507249572" MODIFIED="1455507252570"/>
</node>
<node TEXT="&重用上一次:s命令的标志位" ID="ID_494713804" CREATED="1455507224768" MODIFIED="1455507241300"/>
<node TEXT="该命令仅作用于当前行" ID="ID_365863091" CREATED="1455507273102" MODIFIED="1455507280391"/>
</node>
<node TEXT=":'<,'>&&" ID="ID_410461974" CREATED="1455507258078" MODIFIED="1455507289198">
<node TEXT="作用于选区" ID="ID_194564008" CREATED="1455507290331" MODIFIED="1455507296917"/>
</node>
<node TEXT=":%&&" ID="ID_899094456" CREATED="1455507298474" MODIFIED="1455507301025">
<node TEXT="作用于全局文本, 快捷键为g&" ID="ID_43646526" CREATED="1455507301891" MODIFIED="1455507338204"/>
</node>
</node>
<node TEXT="修正&命令" ID="ID_1311465334" CREATED="1455507384232" MODIFIED="1455507387915">
<node TEXT="&命令为:s的同义词, 用于重复上一次的替换操作;
不足之处在于,不论我们用什么标志位,&命令都将
忽略它们,这意味着本次替换的结果可能跟上一次
截然不同" ID="ID_1363435570" CREATED="1455507392644" MODIFIED="1455507601359"/>
<node TEXT="让&来触发:&&命令会更有用, 因为后者会保留标志位,
从而使得执行命令的结果始终如一" ID="ID_1793659100" CREATED="1455507439145" MODIFIED="1455507587500"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
nnoremap & :&&<CR>
</p>
<p>
xnoremap & :&&<CR>
</p>
</body>
</html>
</richcontent>
</node>
</node>
</node>
<node TEXT="no.93使用子匹配重排CSV文件的字段" ID="ID_131771230" CREATED="1453702971320" MODIFIED="1455507643402"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
substitution/subscribers.csv
</p>
</body>
</html>
</richcontent>
<node TEXT="/\v^([^,]),([^,]*),([^,]*)$
:%s//\3,\2,\1" ID="ID_774419601" CREATED="1455507648572" MODIFIED="1455507728527"/>
</node>
<node TEXT="no.94在替换过程中执行算术运算" ID="ID_1832616155" CREATED="1453702971321" MODIFIED="1455508028486"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
substitution/headings.html
</p>
</body>
</html>
</richcontent>
<node TEXT="/\v\<\/?h\zs\d
:%s//\=submatch(0)-1/g" ID="ID_357886102" CREATED="1455508029776" MODIFIED="1455508076085">
<node TEXT="no.77" ID="ID_1897821960" CREATED="1455508104422" MODIFIED="1455508108405"/>
</node>
</node>
<node TEXT="no.95交换两个或更多的单词" ID="ID_1302887935" CREATED="1453702971322" MODIFIED="1455508176729"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
substitution/who-bites.txt
</p>
</body>
</html>
</richcontent>
<node TEXT="难以奏效" ID="ID_739446267" CREATED="1455508258630" MODIFIED="1455508265547">
<node TEXT=":%s/dog/man/g
:%s/man/dog/g" ID="ID_1461651564" CREATED="1455508236779" MODIFIED="1455508251445"/>
</node>
<node TEXT="返回另一个单词" ID="ID_1210994971" CREATED="1455508267137" MODIFIED="1455508274990">
<node TEXT=":let swapper={"dog":"man","man":"dog"}
:echo swapper["dog"]
:echo swapper["man"]" ID="ID_743194440" CREATED="1455508276040" MODIFIED="1455508334835"/>
</node>
<node TEXT="匹配两个单词" ID="ID_1200783470" CREATED="1455508347671" MODIFIED="1455508352388">
<node TEXT="/\v(<man>|<dog>)" ID="ID_440230798" CREATED="1455508353653" MODIFIED="1455508367561"/>
</node>
<node TEXT="合而为一" ID="ID_401560670" CREATED="1455508372538" MODIFIED="1455508380610">
<node TEXT="/\v(<man>|<dog>)" ID="ID_509501901" CREATED="1455508353653" MODIFIED="1455508367561"/>
<node TEXT=":%s//\={"dog":"man","man":"dog"}[submatch(1)]/g" ID="ID_879468383" CREATED="1455508392370" MODIFIED="1455508433598"/>
</node>
<node TEXT="结论" ID="ID_1952991482" CREATED="1455508435621" MODIFIED="1455508441615">
<node TEXT="得不偿失" ID="ID_1865915392" CREATED="1455508442644" MODIFIED="1455508459481"/>
<node TEXT="plugin Abolish.vim tim pope: https://github.com/tpope/vim-abolish" ID="ID_875932238" CREATED="1455508471965" MODIFIED="1455508516478">
<node TEXT=":%S/{man,dog}/{dog,man}/g" ID="ID_1891238616" CREATED="1455508531009" MODIFIED="1455508548916"/>
</node>
</node>
</node>
<node TEXT="no.96在多个文件中执行查找与替换" ID="ID_342734961" CREATED="1453702971324" MODIFIED="1455508620647"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
refactor-project/*.txt
</p>
</body>
</html>
</richcontent>
<node TEXT="替换命令" ID="ID_769931142" CREATED="1455508834987" MODIFIED="1455508840265">
<node TEXT="/Pragmatic\ze Vim
:%s//Practical/g" ID="ID_1935669485" CREATED="1455508622186" MODIFIED="1455508672395"/>
</node>
<node TEXT="所有文件中执行查找替换" ID="ID_1365425984" CREATED="1455508819641" MODIFIED="1455508828520">
<node TEXT=":args **/*.txt
:set hidden
:argdo %s//Practical/g[e]" ID="ID_635979258" CREATED="1455508683004" MODIFIED="1455508782267">
<node TEXT="命中率较低(散射(scatter-shot))法" ID="ID_434671834" CREATED="1455508741423" MODIFIED="1455508776021"/>
</node>
</node>
<node TEXT="替代方案quickfixdo" ID="ID_737758069" CREATED="1455528622651" MODIFIED="1455528664898"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
substitution/qargs.vim
</p>
</body>
</html>
</richcontent>
<node TEXT=":set hidden
/Pragmatic\ze Vim
:vimgrep /<C-r>// **/*.txt
:Qargs
:argdo %s//Practical/g
:argdo update" ID="ID_1167217476" CREATED="1455528793301" MODIFIED="1455529080695">
<node TEXT=":copen
plugin: https://github.com/nelstrom/vim-qargs" ID="ID_1761946084" CREATED="1455528731328" MODIFIED="1455528990840"/>
</node>
</node>
<node TEXT="Tips |" ID="ID_1890212471" CREATED="1455529042787" MODIFIED="1455529050513">
<node TEXT=":Qargs | argdo %s//Practical/g | update" ID="ID_1282664850" CREATED="1455529051775" MODIFIED="1455529087180">
<node TEXT="这里的 | 非管道, 而是类似于shell中的;号" ID="ID_1385980515" CREATED="1455529098242" MODIFIED="1455529117590"/>
</node>
<node TEXT=":h update" ID="ID_554273258" CREATED="1455529121554" MODIFIED="1455529129490"/>
<node TEXT=":h :bar" ID="ID_115445205" CREATED="1455529130150" MODIFIED="1455529138137"/>
</node>
</node>
</node>
<node TEXT="15-global命令" POSITION="right" ID="ID_1804235429" CREATED="1451538771685" MODIFIED="1451538776675">
<node TEXT="no.97结识global命令" ID="ID_1659798493" CREATED="1453702989480" MODIFIED="1453702989480">
<node TEXT=":h :g" ID="ID_157531407" CREATED="1455529154525" MODIFIED="1455529165476">
<node TEXT=":[range] global[!] /{pattern}/ [cmd]" ID="ID_1271209610" CREATED="1455529166761" MODIFIED="1455529191141">
<node TEXT="缺省情况下, :global命令作用于整个文件(%), 这于其他大多数Ex命令有所不同" ID="ID_451559376" CREATED="1455529207151" MODIFIED="1455529243804"/>
<node TEXT="{pattern}域与查找历史相关联" ID="ID_1669943768" CREATED="1455529262654" MODIFIED="1455529273685"/>
<node TEXT="{cmd}可以是除global外的所有命令, 参见表15-1, 若不指定{cmd}, 缺省使用:print" ID="ID_851525711" CREATED="1455529293344" MODIFIED="1455529351928"/>
<node TEXT=":global!或者:vglobal表示反转" ID="ID_1515418665" CREATED="1455529368969" MODIFIED="1455529395081"/>
<node TEXT=":global命令在指定[range]内的文本行上执行时通常分为两轮;
第一轮,Vim会在所有[pattern]的匹配行上做标记;
第二轮,再在所有已标记的文本行上执行[cmd];" ID="ID_1857231654" CREATED="1455529410425" MODIFIED="1455529529771"/>
<node ID="ID_552821637" CREATED="1455529531475" MODIFIED="1455529531475"><richcontent TYPE="NODE">
<html>
<head>
</head>
<body>
<p>
另外,由于[cmd]的范围可以单独设定, 因此可在多行文本段内进行操作
</p>
</body>
</html>
</richcontent>
<node TEXT="no.100" ID="ID_1293745" CREATED="1455529542280" MODIFIED="1455529546547"/>
</node>
</node>
</node>
</node>
<node TEXT="no.98删除所有包含模式的文本行" ID="ID_544188297" CREATED="1453702989480" MODIFIED="1455529568515"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
global/episodes.html
</p>
</body>
</html>
</richcontent>
<node TEXT="用':g/re/d'删除所有的匹配行" ID="ID_849758877" CREATED="1455529577720" MODIFIED="1455529785132"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
grep: g for global, re for regular expression, p表示print
</p>
</body>
</html>
</richcontent>
<node TEXT="/\v\<\/?\w+>
:g//d" ID="ID_1947046335" CREATED="1455529604757" MODIFIED="1455529639672"/>
<node TEXT="与:s类似, 留空查找域可重用上次查找" ID="ID_1346942596" CREATED="1455529706285" MODIFIED="1455529729552"/>
</node>
<node TEXT="只保留匹配行" ID="ID_1497451769" CREATED="1455529822053" MODIFIED="1455529827176">
<node TEXT="用':v/re/d'以保留所有的匹配行" ID="ID_81790031" CREATED="1455529577720" MODIFIED="1455529880611">
<node TEXT=":v/href/d" ID="ID_469163020" CREATED="1455529604757" MODIFIED="1455529896043"/>
</node>
</node>
</node>
<node TEXT="no.99将TODO项搜集至寄存器" ID="ID_391717555" CREATED="1453702989483" MODIFIED="1455530266884"><richcontent TYPE="DETAILS">
<html>
<head>
</head>
<body>
<p>
global/markdown.js
</p>
</body>
</html>
</richcontent>
<node TEXT=":g/TODO" ID="ID_1677658174" CREATED="1455530269005" MODIFIED="1455530274299">
<node TEXT="查找包含TODO项的行" ID="ID_220534027" CREATED="1455530335962" MODIFIED="1455530353120"/>
</node>
<node TEXT="qaq
:reg a" ID="ID_463941952" CREATED="1455530311857" MODIFIED="1455530333252">
<node TEXT="清空寄存器a以供使用" ID="ID_1353610499" CREATED="1455530356122" MODIFIED="1455530369515"/>
</node>
<node TEXT=":g/TODO/yank A
or
:g/TODO/t$" ID="ID_1005835473" CREATED="1455530323908" MODIFIED="1455530448960">
<node TEXT="使用A将把内容依次附加至寄存器a, 如果使用a会有问题" ID="ID_1291117923" CREATED="1455530384140" MODIFIED="1455530413291"/>
</node>
<node TEXT="扩展" ID="ID_488465866" CREATED="1455530464454" MODIFIED="1455530528162">
<node TEXT="将:global命令与:bufdo或者:argdo一起搭配使用, 参考no.96" ID="ID_214875577" CREATED="1455530475444" MODIFIED="1455530521476"/>
</node>
</node>
<node TEXT="no.100将CSS文件中所有规则的属性按照字母排序" ID="ID_1147381429" CREATED="1453702989484" MODIFIED="1453702989484"/>
</node>
</node>
</map>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。