<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>GCCFeli.cn &#187; GVIM</title> <atom:link href="http://gccfeli.cn/tag/gvim/feed" rel="self" type="application/rss+xml" /><link>http://gccfeli.cn</link> <description></description> <lastBuildDate>Thu, 14 Jul 2011 08:18:00 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.1</generator> <atom:link rel='hub' href='http://gccfeli.cn/?pushpress=hub'/> <item><title>Vim 查找和替换</title><link>http://gccfeli.cn/2010/04/vim-search-and-find.html</link> <comments>http://gccfeli.cn/2010/04/vim-search-and-find.html#comments</comments> <pubDate>Sun, 18 Apr 2010 06:30:48 +0000</pubDate> <dc:creator>Felicia</dc:creator> <category><![CDATA[雕虫小技]]></category> <category><![CDATA[GVIM]]></category><guid
isPermaLink="false">http://gccfeli.cn/?p=812</guid> <description><![CDATA[<h3>简单替换表达式</h3><p>替换命令可以在全文中用一个单词替换另一个单词：</p><div
class="hl-wrapper"> <span
class="readmore"><a
href="http://gccfeli.cn/2010/04/vim-search-and-find.html" title="Vim 查找和替换">阅读全文（1756字）</a></span>]]></description> <content:encoded><![CDATA[<h3>简单替换表达式</h3><p>替换命令可以在全文中用一个单词替换另一个单词：</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">:%s/four/4/g</div></div></div><p>&#8220;%&#8221; 范围前缀表示在所有行中执行替换。最后的  &#8220;g&#8221; 标记表示替换行中的所有匹配点。如果仅仅对当前行进行操作，那么只要去掉%即可</p><p>如果你有一个象 &#8220;thirtyfour&#8221; 这样的单词，上面的命令会出错。这种情况下，这个单词会被替换成&#8221;thirty4&#8243;。要解决这个问题，用  &#8220;\&lt;&#8221; 来指定匹配单词开头：</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">:%s/\&amp;lt;four/4/g</div></div></div><p>显然，这样在处理  &#8220;fourty&#8221; 的时候还是会出错。用  &#8220;\&gt;&#8221; 来解决这个问题：</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">:%s/\&amp;lt;four\&amp;gt;/4/g</div></div></div><p>如果你在编码，你可能只想替换注释中的  &#8220;four&#8221;，而保留代码中的。由于这很难指定，可以在替换命令中加一个 &#8220;c&#8221; 标 记，这样，Vim  会在每次替换前提示你：</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">:%s/\&amp;lt;four\&amp;gt;/4/gc</div></div></div><h3>删除多余的空格</h3><p>要删除这些每行后面多余的空格，可以执行如下命令：</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">:%s/\s\+$//</div></div></div><p>命令前面指明范围是  &#8220;%&#8221;，所以这会作用于整个文件。&#8221;substitute&#8221; 命令的匹配模式是&#8221;\s\+$&#8221;。这表示行末（$）前的 一个或者多个（\+）空格（\s）。替换命令的  &#8220;to&#8221; 部分是空的：&#8221;//&#8221;。这样就会删除那些匹配的空白字符。</p><h3>匹配重复性模式</h3><p>星号项  &#8220;*&#8221; 规定在它前面的项可以重复任意次。因此:</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">/a*</div></div></div><p>匹配 &#8220;a&#8221;，&#8221;aa&#8221;，&#8221;aaa&#8221;，等等。但也匹配 &#8220;&#8221; (空字串)，因为零次也包含在内。星号 &#8220;*&#8221; 仅 仅应用于那个紧邻在它前面的项。因此  &#8220;ab*&#8221; 匹配 &#8220;a&#8221;，&#8221;ab&#8221;，&#8221;abb&#8221;,&#8221;abbb&#8221;，等等。如要多次重复整个字 符串，那么该字符串必须被组成一个项。组成一项的方法就是在它前面加 &#8220;\(&#8220;， 后面加 &#8220;\)&#8221;。因此这个命令:</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">/\(ab\)*</div></div></div><p>匹配: &#8220;ab&#8221;，&#8221;abab&#8221;，&#8221;ababab&#8221;，等等。而且也匹配 &#8220;&#8221;。</p><p>要避免匹配空字串，使用 &#8220;\+&#8221;。这表示前面一项可以被匹配一次或多次。</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">/ab\+</div></div></div><p>匹配 &#8220;ab&#8221;，&#8221;abb&#8221;，&#8221;abbb&#8221;，等等。它不匹配 后面没 有跟随 &#8220;b&#8221; 的 &#8220;a&#8221;。</p><p>要匹配一个可选项，用  &#8220;\=&#8221;。 例如:</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">/folders\=</div></div></div><p>匹配 &#8220;folder&#8221; 和 &#8220;folders&#8221;。</p><h3>指定重复次数</h3><p>要匹配某一项的特定次数重复，使用  &#8220;\{n,m}&#8221; 这样的形式。其中 &#8220;n&#8221; 和 &#8220;m&#8221; 都是数字。在它前面的那个项将被重复  &#8220;n&#8221; 到 &#8220;m&#8221; 次 (|inclusive| 包含  &#8220;n&#8221; 和 &#8220;m&#8221;)。例如:</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">/ab\{3,5}</div></div></div><p>匹配 &#8220;abbb&#8221;，&#8221;abbbb&#8221; 以及  &#8220;abbbbb&#8221;。</p><p>当 &#8220;n&#8221; 省略时，被默认为零。当  &#8220;m&#8221; 省略时，被默认为无限大。当  &#8220;,m&#8221; 省略时，就表示重复正好  &#8220;n&#8221; 次。例如:</p><p>模式           匹配次数</p><p>\{,4}           0，1，2，3 或 4</p><p>\{3,}           3，4，5，等等</p><p>\{0,1}          0  或 1，同 \=</p><p>\{0,}           0  或 更多， 同 *</p><p>\{1,}           1  或 更多， 同 \+</p><p>\{3}            3</p><h3>多选一匹配</h3><p>在一个查找模式中，&#8221;或&#8221; 运算符是  &#8220;\|&#8221;。例如:</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">/foo\|bar</div></div></div><p>这个命令匹配了 &#8220;foo&#8221; 或 &#8220;bar&#8221;。更多的抉择可以连在后面:</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">/one\|two\|three</div></div></div><p>匹配 &#8220;one&#8221;，&#8221;two&#8221; 或  &#8220;three&#8221;。</p><p>如要匹配其多次重复，那么整个抉择结构须置于  &#8220;\(&#8221; 和 &#8220;\)&#8221; 之间:</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">/\(foo\|bar\)\+</div></div></div><p>这个命令匹配  &#8220;foo&#8221;，&#8221;foobar&#8221;，&#8221;foofoo&#8221;，&#8221;barfoobar&#8221;，等等。</p><p>再举个例子:</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">/end\(if\|while\|for\)</div></div></div><p>这个命令匹配  &#8220;endif&#8221;，&#8221;endwhile&#8221; 和 &#8220;endfor&#8221;。</p> ]]></content:encoded> <wfw:commentRss>http://gccfeli.cn/2010/04/vim-search-and-find.html/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>我的vimrc-windows</title><link>http://gccfeli.cn/2009/09/vimrc-windows.html</link> <comments>http://gccfeli.cn/2009/09/vimrc-windows.html#comments</comments> <pubDate>Thu, 10 Sep 2009 16:08:42 +0000</pubDate> <dc:creator>Felicia</dc:creator> <category><![CDATA[心情日记]]></category> <category><![CDATA[GVIM]]></category> <category><![CDATA[vimrc]]></category><guid
isPermaLink="false">http://gccfeli.cn/?p=759</guid> <description><![CDATA[<div
class="hl-wrapper"><div
class="hl-title">&#19979;&#36733;: <a
href="http://gccfeli.cn/wp-content/plugins/coolcode/coolcode.php?p=759&#38;download=vimrc">vimrc</a></div><div
class="hl-surround"><div
class="hl-main">source $VIMRUNTIME/mswin.vim<br
/>behave mswin<br
/>inoremap &#60;C-D&#62; &#60;C-O&#62;dd<br
/>map &#60;F3&#62; 0i//&#60;C-C&#62;<br
/>inoremap &#60;F3&#62; /**/&#60;left&#62;&#60;left&#62;<br
/>map &#60;F4&#62; ^xx<br
/>inoremap &#60;CR&#62; &#60;CR&#62;&#60;left&#62;&#60;right&#62;<br
/>nnoremap &#60;o&#62; &#60;o&#62;&#60;left&#62;&#60;right&#62;<br
/>nnoremap &#60;O&#62; &#60;O&#62;&#60;left&#62;&#60;right&#62;<br
/>inoremap &#60;c-]&#62; {&#60;cr&#62;}&#60;c-o&#62;O&#60;left&#62;&#60;right&#62;<br
/>noremap &#60;F6&#62; =a{<br
/>syn on<br
/>colo oceandeep<br
/>se ru nu<br
/>set ts=4<br
/>set sw=4<br
/>set cin<br
/>au FileType cpp,c se cin noswf<br
/>set expandtab<br
/>set smarttab<br
/>autocmd BufEnter * lcd %:p:h<br
/>set gfn=Courier\ New\ 10<br
/>set nowrap<br
/>set ww=&#60;,&#62;,[,]<br
/>set lines=40 columns=100<br
/>set go=<br
/>map &#60;c-t&#62; :tabnew&#60;CR&#62;<br
/>map &#60;tab&#62; :tabn&#60;CR&#62;<br
/>map &#60;c-w&#62; :close&#60;cr&#62;<br
/>map &#60;F9&#62; :call CR()&#60;CR&#62;&#60;space&#62;<br
/>func CR()<br
/>exec &#34;update&#34;<br
/>exec &#34;!start cmd /c g++ %&#60;.cpp -Wall -o %&#60; &#38; pause &#38; %&#60; &#60; %&#60;.in &#38; pause&#34;<br
/>endfunc<br
/>map &#60;F10&#62; :call CR2()&#60;CR&#62;&#60;space&#62;<br
/>func CR2()<br
/>exec &#34;update&#34;<br
/>exec &#34;!start cmd /c g++ %&#60;.cpp -Wall -o %&#60;.exe &#38; pause &#38; %&#60; &#38; pause&#34;<br
/>endfunc<br
/>map &#60;F5&#62; :call SetTitle()&#60;CR&#62;GkkkA<br
/>func SetTitle()<br
/>let l = 0<br
/>let l = l + 1 &#124; call setline(l, &#34;/**********************************************************************&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;Author: Felicia&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;Created Time:&#160; &#34;.strftime(&#34;%c&#34;))<br
/>let l = l + 1 &#124; call setline(l, &#34;File Name: &#34;.expand(&#34;%&#34;))<br
/>let l = l + 1 &#124; call setline(l, &#34;Description: &#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;**********************************************************************/&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;#include &#60;cstdio&#62;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;#include &#60;cstring&#62;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;#include &#60;cstdlib&#62;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;#include &#60;algorithm&#62;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;#include &#60;vector&#62;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;using namespace std;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;typedef long long int64;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;const int maxint = 0x7FFFFFFF;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;const int64 maxint64 = 0x7FFFFFFFFFFFFFFFLL;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;int main() {&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;&#160; &#160; return 0;&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;}&#34;)<br
/>let l = l + 1 &#124; call setline(l, &#34;&#34;)<br
/>endfunc<br
/>autocmd BufWritePre,FileWritePre *.cpp&#160; &#160;call LastMod()<br
/>fun LastMod()<br
/>&#160;&#160; &#160;let L = line(&#34;$&#34;)<br
/>&#160;&#160; &#160;let original_view = winsaveview()<br
/>&#160;&#160; &#160;if L &#62; 20<br
/>&#160;&#160; &#160; &#160; &#160;let L = 20<br
/>&#160;&#160; &#160;endif<br
/>&#160;&#160; &#160;exe &#34;1,&#34; . L . &#34;g/Modified Time: /s/Modified Time: .*/Modified Time: &#34; .<br
/>&#160;&#160; &#160; &#160; &#160;\ strftime(&#34;%c&#34;)<br
/>&#160;&#160; &#160;call winrestview(original_view)<br
/>endfun<br
/><br
/>set foldenable<br
/>set foldmethod=marker<br
/>&#34;marker<br
/>noremap &#60;space&#62; @=((foldclosed(line('.')) &#60; 0) ? 'zc' : 'zo')&#60;CR&#62;<br
/>&#34;inoremap ( ()&#60;left&#62;<br
/>&#34;inoremap ) &#60;c-r&#62;=ClosePair(')')&#60;CR&#62;<br
/>&#34;inoremap { {}&#60;left&#62;<br
/>&#34;inoremap } &#60;c-r&#62;=ClosePair('}')&#60;CR&#62;<br
/>&#34;inoremap [ []&#60;left&#62;<br
/>&#34;inoremap ] &#60;c-r&#62;=ClosePair(']')&#60;CR&#62;<br
/>function ClosePair(char)<br
/>if getline('.')[col('.') - 1] == a:char<br
/>return &#34;\&#60;Right&#62;&#34;<br
/>else<br
/>return a:char<br
/>endif<br
/>endf<br
/>map&#60;F4&#62; :call AddComment()&#60;cr&#62;<br
/>func AddComment()<br
/>&#160;&#160; &#160;if (getline('.')[0] == '/')<br
/>&#160;&#160; &#160; &#160; &#160;normal ^xx<br
/>&#160;&#160; &#160;else<br
/>&#160;&#160; &#160; &#160; &#160;normal 0i//<br
/>&#160;&#160; &#160;endif<br
/>endfunc<br
/><br
/>au BufNewFile,BufRead *.fg setfile c<br
/>cd e:\workspace</div></div> <span
class="readmore"><a
href="http://gccfeli.cn/2009/09/vimrc-windows.html" title="我的vimrc-windows">阅读全文（381字）</a></span>]]></description> <content:encoded><![CDATA[<div
class="hl-wrapper"><div
class="hl-title">&#19979;&#36733;: <a
href="http://gccfeli.cn/wp-content/plugins/coolcode/coolcode.php?p=759&amp;download=vimrc">vimrc</a></div><div
class="hl-surround"><div
class="hl-main">source $VIMRUNTIME/mswin.vim<br
/>behave mswin<br
/>inoremap &lt;C-D&gt; &lt;C-O&gt;dd<br
/>map &lt;F3&gt; 0i//&lt;C-C&gt;<br
/>inoremap &lt;F3&gt; /**/&lt;left&gt;&lt;left&gt;<br
/>map &lt;F4&gt; ^xx<br
/>inoremap &lt;CR&gt; &lt;CR&gt;&lt;left&gt;&lt;right&gt;<br
/>nnoremap &lt;o&gt; &lt;o&gt;&lt;left&gt;&lt;right&gt;<br
/>nnoremap &lt;O&gt; &lt;O&gt;&lt;left&gt;&lt;right&gt;<br
/>inoremap &lt;c-]&gt; {&lt;cr&gt;}&lt;c-o&gt;O&lt;left&gt;&lt;right&gt;<br
/>noremap &lt;F6&gt; =a{<br
/>syn on<br
/>colo oceandeep<br
/>se ru nu<br
/>set ts=4<br
/>set sw=4<br
/>set cin<br
/>au FileType cpp,c se cin noswf<br
/>set expandtab<br
/>set smarttab<br
/>autocmd BufEnter * lcd %:p:h<br
/>set gfn=Courier\ New\ 10<br
/>set nowrap<br
/>set ww=&lt;,&gt;,[,]<br
/>set lines=40 columns=100<br
/>set go=<br
/>map &lt;c-t&gt; :tabnew&lt;CR&gt;<br
/>map &lt;tab&gt; :tabn&lt;CR&gt;<br
/>map &lt;c-w&gt; :close&lt;cr&gt;<br
/>map &lt;F9&gt; :call CR()&lt;CR&gt;&lt;space&gt;<br
/>func CR()<br
/>exec &quot;update&quot;<br
/>exec &quot;!start cmd /c g++ %&lt;.cpp -Wall -o %&lt; &amp; pause &amp; %&lt; &lt; %&lt;.in &amp; pause&quot;<br
/>endfunc<br
/>map &lt;F10&gt; :call CR2()&lt;CR&gt;&lt;space&gt;<br
/>func CR2()<br
/>exec &quot;update&quot;<br
/>exec &quot;!start cmd /c g++ %&lt;.cpp -Wall -o %&lt;.exe &amp; pause &amp; %&lt; &amp; pause&quot;<br
/>endfunc<br
/>map &lt;F5&gt; :call SetTitle()&lt;CR&gt;GkkkA<br
/>func SetTitle()<br
/>let l = 0<br
/>let l = l + 1 | call setline(l, &quot;/**********************************************************************&quot;)<br
/>let l = l + 1 | call setline(l, &quot;Author: Felicia&quot;)<br
/>let l = l + 1 | call setline(l, &quot;Created Time:&nbsp; &quot;.strftime(&quot;%c&quot;))<br
/>let l = l + 1 | call setline(l, &quot;File Name: &quot;.expand(&quot;%&quot;))<br
/>let l = l + 1 | call setline(l, &quot;Description: &quot;)<br
/>let l = l + 1 | call setline(l, &quot;**********************************************************************/&quot;)<br
/>let l = l + 1 | call setline(l, &quot;#include &lt;cstdio&gt;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;#include &lt;cstring&gt;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;#include &lt;cstdlib&gt;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;#include &lt;algorithm&gt;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;#include &lt;vector&gt;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;using namespace std;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;typedef long long int64;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;const int maxint = 0x7FFFFFFF;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;const int64 maxint64 = 0x7FFFFFFFFFFFFFFFLL;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;int main() {&quot;)<br
/>let l = l + 1 | call setline(l, &quot;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;&nbsp; &nbsp; return 0;&quot;)<br
/>let l = l + 1 | call setline(l, &quot;}&quot;)<br
/>let l = l + 1 | call setline(l, &quot;&quot;)<br
/>endfunc<br
/>autocmd BufWritePre,FileWritePre *.cpp&nbsp; &nbsp;call LastMod()<br
/>fun LastMod()<br
/>&nbsp;&nbsp; &nbsp;let L = line(&quot;$&quot;)<br
/>&nbsp;&nbsp; &nbsp;let original_view = winsaveview()<br
/>&nbsp;&nbsp; &nbsp;if L &gt; 20<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;let L = 20<br
/>&nbsp;&nbsp; &nbsp;endif<br
/>&nbsp;&nbsp; &nbsp;exe &quot;1,&quot; . L . &quot;g/Modified Time: /s/Modified Time: .*/Modified Time: &quot; .<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;\ strftime(&quot;%c&quot;)<br
/>&nbsp;&nbsp; &nbsp;call winrestview(original_view)<br
/>endfun<br
/><br
/>set foldenable<br
/>set foldmethod=marker<br
/>&quot;marker<br
/>noremap &lt;space&gt; @=((foldclosed(line('.')) &lt; 0) ? 'zc' : 'zo')&lt;CR&gt;<br
/>&quot;inoremap ( ()&lt;left&gt;<br
/>&quot;inoremap ) &lt;c-r&gt;=ClosePair(')')&lt;CR&gt;<br
/>&quot;inoremap { {}&lt;left&gt;<br
/>&quot;inoremap } &lt;c-r&gt;=ClosePair('}')&lt;CR&gt;<br
/>&quot;inoremap [ []&lt;left&gt;<br
/>&quot;inoremap ] &lt;c-r&gt;=ClosePair(']')&lt;CR&gt;<br
/>function ClosePair(char)<br
/>if getline('.')[col('.') - 1] == a:char<br
/>return &quot;\&lt;Right&gt;&quot;<br
/>else<br
/>return a:char<br
/>endif<br
/>endf<br
/>map&lt;F4&gt; :call AddComment()&lt;cr&gt;<br
/>func AddComment()<br
/>&nbsp;&nbsp; &nbsp;if (getline('.')[0] == '/')<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;normal ^xx<br
/>&nbsp;&nbsp; &nbsp;else<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;normal 0i//<br
/>&nbsp;&nbsp; &nbsp;endif<br
/>endfunc<br
/><br
/>au BufNewFile,BufRead *.fg setfile c<br
/>cd e:\workspace</div></div></div> ]]></content:encoded> <wfw:commentRss>http://gccfeli.cn/2009/09/vimrc-windows.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Vim 去掉查找后的高亮标记</title><link>http://gccfeli.cn/2009/04/vim-hlsearch.html</link> <comments>http://gccfeli.cn/2009/04/vim-hlsearch.html#comments</comments> <pubDate>Sun, 12 Apr 2009 14:33:25 +0000</pubDate> <dc:creator>Felicia</dc:creator> <category><![CDATA[雕虫小技]]></category> <category><![CDATA[GVIM]]></category><guid
isPermaLink="false">http://gccfeli.cn/?p=607</guid> <description><![CDATA[<p>我们在使用Vim的时候经常会用到查找功能。我的配色方案是dessert，把查找高亮打开。查找完所要的信息之后，那些高亮的信息看着非常碍眼。今天搜索了一下，发现以下命令：</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">set hlsearch &#34;打开高亮搜索<br
/>set nohlsearch &#34;关闭高亮搜索<br
/>nohl &#34;只取消掉当前的搜索高亮</div></div> <span
class="readmore"><a
href="http://gccfeli.cn/2009/04/vim-hlsearch.html" title="Vim 去掉查找后的高亮标记">阅读全文（138字）</a></span>]]></description> <content:encoded><![CDATA[<p>我们在使用Vim的时候经常会用到查找功能。我的配色方案是dessert，把查找高亮打开。查找完所要的信息之后，那些高亮的信息看着非常碍眼。今天搜索了一下，发现以下命令：</p><div
class="hl-wrapper"><div
class="hl-surround"><div
class="hl-main">set hlsearch &quot;打开高亮搜索<br
/>set nohlsearch &quot;关闭高亮搜索<br
/>nohl &quot;只取消掉当前的搜索高亮</div></div></div> ]]></content:encoded> <wfw:commentRss>http://gccfeli.cn/2009/04/vim-hlsearch.html/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>VIM 键盘图</title><link>http://gccfeli.cn/2009/04/vim-keyboard.html</link> <comments>http://gccfeli.cn/2009/04/vim-keyboard.html#comments</comments> <pubDate>Fri, 10 Apr 2009 10:52:04 +0000</pubDate> <dc:creator>Felicia</dc:creator> <category><![CDATA[雕虫小技]]></category> <category><![CDATA[GVIM]]></category><guid
isPermaLink="false">http://gccfeli.cn/?p=592</guid> <description><![CDATA[<p>VIM 键盘图，可以设成桌面背景，对于VIM新手是个不小的帮助。</p><p><a
href="http://picasaweb.google.com/lh/photo/b-M4vJLb20SzKr_OZY5wjg?feat=directlink">点此查看大图</a><br
/></p> <span
class="readmore"><a
href="http://gccfeli.cn/2009/04/vim-keyboard.html" title="VIM 键盘图">阅读全文（56字）</a></span>]]></description> <content:encoded><![CDATA[<p>VIM 键盘图，可以设成桌面背景，对于VIM新手是个不小的帮助。</p><p><a
href="http://picasaweb.google.com/lh/photo/b-M4vJLb20SzKr_OZY5wjg?feat=directlink">点此查看大图</a><br
/> <span
id="more-592"></span></p><div
class="shashin_image" style="width: 586px;"><a
href="http://lh5.ggpht.com/_nrSzc72lkuk/Sd8kWMbppUI/AAAAAAAAF9U/Uznr_Sgn11g/12264C39114013556.png?imgmax=640" class="highslide" id="shashin_thumb_link_2" onclick="return hs.expand(this)"><img
src="http://lh5.ggpht.com/_nrSzc72lkuk/Sd8kWMbppUI/AAAAAAAAF9U/Uznr_Sgn11g/12264C39114013556.png?imgmax=576" alt="" width="576" height="406" id="shashin_thumb_image_2" title="" /></a></div> ]]></content:encoded> <wfw:commentRss>http://gccfeli.cn/2009/04/vim-keyboard.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>vimrc已定义函数</title><link>http://gccfeli.cn/2008/11/vimrc-functions.html</link> <comments>http://gccfeli.cn/2008/11/vimrc-functions.html#comments</comments> <pubDate>Tue, 11 Nov 2008 07:43:35 +0000</pubDate> <dc:creator>Felicia</dc:creator> <category><![CDATA[转载]]></category> <category><![CDATA[GVIM]]></category><guid
isPermaLink="false">http://www.gccfeli.cn/?p=282</guid> <description><![CDATA[<p>Vim 提供的函数很多。这里我们以他们的用途分类列出。您能够在 functions 找到一个以字母顺序排列的列表。在函数名上使用 CTRL-] 能够跳转至该函数的周详说明。<br
/> <br
/> 字符串操作:<br
/> <span
class="readmore"><a
href="http://gccfeli.cn/2008/11/vimrc-functions.html" title="vimrc已定义函数">阅读全文（2595字）</a></span>]]></description> <content:encoded><![CDATA[<p>Vim 提供的函数很多。这里我们以他们的用途分类列出。您能够在 functions 找到一个以字母顺序排列的列表。在函数名上使用 CTRL-] 能够跳转至该函数的周详说明。<br
/> <span
id="more-282"></span><br
/> 字符串操作:<br
/> char2nr()                   取得字符的ASCII码值<br
/> nr2char()                  通过ASCII码值取得一个字符<br
/> escape()                   将字符串通过 ’＼’ 转义<br
/> strtrans()                  将一个字符串变成能够打印的格式<br
/> tolower()                  将一个字符串转换为小写<br
/> toupper()                 将一个字符串转换为大写<br
/> match()                    字符串中的模式匹配处<br
/> matchend()              字符串中的模式匹配结束处<br
/> matchstr()                在一个字符串中匹配一个模式<br
/> stridx()                     子串在母串中第一次出现的地方<br
/> strridx()                   子串在母串中最后一次出现的地方<br
/> strlen()                    字符串长度<br
/> substitute()             用一个字符串替换一个匹配的模式<br
/> submatch()              取得 &#8220;:substitute&#8221; 匹配中指定的某个匹配<br
/> strpart()                 取得字符串的一部分<br
/> expand()                展开特别的关键字<br
/> type()                   变量的类型<br
/> iconv()                   转换文本编码格式<br
/> 操作当前缓冲的文本:<br
/> byte2line()             取得某字节位置所在行号<br
/> line2byte()             取得某行之前的字节数<br
/> col()                      光标或标记所在的列<br
/> virtcol()                 光标或标记所在的屏幕列<br
/> line()                    光标或标记所在行<br
/> wincol()                光标所在窗口列<br
/> cursor()                置光标于 行／列 处<br
/> winline()               光标所在窗口行<br
/> getline()               从缓冲中取一行<br
/> setline()               替换缓冲中的一行<br
/> append()             在第 {lnum} 行下添加文本 {string}<br
/> indent()               某行的缩进<br
/> cindent()               根据 C 缩进法则的某行的缩进<br
/> lispindent()            根据 Lisp 缩进法则的某行的缩进<br
/> nextnonblank()          查找下一个非空白行<br
/> prevnonblank()          查找前一个非空白行<br
/> search()                查找模式的匹配<br
/> searchpair()            查找 start/skip/end 配对的另一端<br
/> 系统调用及文档操作:<br
/> browse()                显示文档查找器<br
/> glob()                  展开通配符<br
/> globpath()              在几个路径中展开通配符<br
/> resolve()               找到一个快捷方式所指<br
/> fnamemodify()           改变文档名<br
/> executable()            检查一个个执行程式是否存在<br
/> filereadable()          检查一个文档可读和否<br
/> filewritable()          检查一个文档可写和否<br
/> isdirectory()           检查一个目录是否存在<br
/> getcwd()                取得当前工作路径<br
/> getfsize()              取得文档大小<br
/> getftime()              取得文档的最近修改时间<br
/> localtime()             取得当前时间<br
/> strftime()              将时间转换为一个字符串<br
/> tempname()              取得一个临时文档的名称<br
/> delete()                删除文档<br
/> rename()                重命名文档<br
/> system()                取得一个 shell 命令的结果<br
/> hostname()              系统的名称<br
/> 缓冲，窗口及参数列表:<br
/> argc()                  参数列表项数<br
/> argidx()                参数列表中的当前位置<br
/> argv()                  从参数列表中取得一项<br
/> bufexists()             检查缓冲是否存在<br
/> buflisted()             检查缓冲是否存在并被列出<br
/> bufloaded()             检查缓冲是否存在并已加载<br
/> bufname()               取得某缓冲名<br
/> bufnr()                 取得某缓冲号<br
/> winnr()                 取得当前窗口的窗口号<br
/> bufwinnr()              取得某缓冲的窗口号<br
/> winbufnr()              取得某窗口的缓冲号<br
/> getbufvar()             取得某缓冲中的变量值<br
/> setbufvar()             设定某缓冲中的变量值<br
/> getwinvar()             取得某窗口的变量值<br
/> setwinvar()             设定某窗口的变量值<br
/> 折叠:<br
/> foldclosed()            检查某一行是否被折叠起来<br
/> foldclosedend()         类似 foldclosed() 但同时返回最后一行<br
/> foldlevel()             检查某行的折叠深度<br
/> foldtext()              产生否折叠折起时所显示的行<br
/> 语法加亮:<br
/> hlexists()              检查加亮组是否存在<br
/> hlID()                  取得高亮组标示<br
/> synID()                 取得某位置的语法标示<br
/> synIDattr()             取得某和法表示的特定属性<br
/> synIDtrans()            取得翻译后的语法标示<br
/> 历史纪录:<br
/> histadd()               在历史纪录中加入一项<br
/> histdel()               从历史记录中删除一项<br
/> histget()               从历史记录中提取一项<br
/> histnr()                取得某历史纪录的最大索引号<br
/> 交互:<br
/> confirm()               让用户作出选择<br
/> getchar()               从用户那里取得一个字符输入<br
/> getcharmod()            取得最近键入字符的修饰符<br
/> input()                 从用户那里取得一行输入<br
/> inputsecret()           从用户那里取得一行输入，不回显<br
/> inputdialog()           从用户那里取得一行输入，使用对话框<br
/> inputresave()           保存并清除 typeahead<br
/> inputrestore()          恢复 typeahead （译注：参阅 input)）<br
/> Vim 服务器:<br
/> serverlist()            返回服务器列表<br
/> remote_send()           向 Vim 服务器发送字符命令<br
/> remote_expr()           在 Vim 服务器内对一个表达式求值<br
/> server2client()         向一个服务器客户发送应答<br
/> remote_peek()           检查一个服务器是否已应答<br
/> remote_read()           从一个服务器读取应答<br
/> foreground()            将一个 Vim 窗口移至前台<br
/> remote_foreground()     将一个 Vim 服务器窗口移至前台<br
/> 杂项:<br
/> mode()                  取得当前编辑状态<br
/> visualmode()            最近一次使用过的可视模式<br
/> hasmapto()              检查映射是否存在<br
/> mapcheck()              检查匹配的映射是否存在<br
/> maparg()                取得映射的右部 (rhs)<br
/> exists()                检查是否存在变量，函数等<br
/> has()                   检查 Vim 是否支持某特性<br
/> cscope_connection()     检查有无和 cscope 的联接<br
/> did_filetype()          检查某文档类型自动命令是否已被使用了<br
/> eventhandler()          检查是否在一个事件处理程式内<br
/> getwinposx()            GUI Vim 窗口 的 X 位置<br
/> getwinposy()            GUI Vim 窗口 的 Y 位置<br
/> winheight()             取得某窗口的高度<br
/> winwidth()              取得某窗口的宽度<br
/> libcall()               调用一个外部库函数<br
/> libcallnr()             同上，但返回一个数值<br
/> getreg()                取得寄存器内容<br
/> getregtype()            取得寄存器类型<br
/> setreg()                设定寄存器内容及类型</p> ]]></content:encoded> <wfw:commentRss>http://gccfeli.cn/2008/11/vimrc-functions.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)
Database Caching 8/17 queries in 0.032 seconds using disk

Served from: gccfeli.cn @ 2012-05-23 02:27:15 -->
