<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[刘新修]]></title> 
<link>http://pic1.liuxinxiu.com:80/index.php</link> 
<description><![CDATA[刘新修的个人博客 (Liuxinxiu'S Blog)]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[刘新修]]></copyright>
<item>
<link>http://pic1.liuxinxiu.com:80/vim_batch_replace/</link>
<title><![CDATA[vim 批量替换]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[Vim 编辑器]]></category>
<pubDate>Mon, 02 Jan 2012 15:49:13 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/vim_batch_replace/</guid> 
<description>
<![CDATA[ 
	<div class="cnt" id="blog_text"><p>使用vim批量替换多个文件中的</p><div style="margin-bottom: 2px">PHP 代码:</div><div><div style="text-align: left"><span style="color: #000000"><span style="font-family: 新宋体"><span style="color: #007700">============================================================================== <br />*</span><span style="color: #0000bb">26.3</span><span style="color: #007700">*&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="font-family: 新宋体"><span style="color: #0000bb">改动多个文件 <br /><br />假定你有个变量名为&nbsp;</span><span style="color: #dd0000">&quot;x_cnt&quot;&nbsp;</span><span style="color: #0000bb">而你要把他改为&nbsp;</span><span style="color: #dd0000">&quot;x_counter&quot;</span></span><span style="color: #0000bb"><span style="font-family: 新宋体">。这个变量在多个&nbsp;C&nbsp;文件都 <br />被用到了。你需要在所有文件中作此改动。你得这么做。 <br />&nbsp;&nbsp;&nbsp;把所有相关文件放进参数列表</span></span><span style="font-family: 新宋体"><span style="color: #007700">:&nbsp;&gt; <br /><br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000bb">args&nbsp;</span><span style="color: #007700">*.</span></span><span style="color: #0000bb"><span style="font-family: 新宋体">c <br /></span></span><span style="color: #007700"><span style="font-family: 新宋体">&lt; <br /></span></span><span style="color: #0000bb"><span style="font-family: 新宋体">这个命令会找到所有的&nbsp;C&nbsp;文件并编辑其中的第一个。现在你可以对所有这些文件执行 <br />置换命令</span></span><span style="font-family: 新宋体"><span style="color: #007700">:&nbsp;&gt; <br /><br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000bb">argdo&nbsp;</span><span style="color: #007700">%</span><span style="color: #0000bb">s</span><span style="color: #007700">/&lt;</span><span style="color: #0000bb">x_cnt</span><span style="color: #007700">&gt;/</span><span style="color: #0000bb">x_counter</span><span style="color: #007700">/</span><span style="color: #0000bb">ge&nbsp;</span><span style="color: #007700">&#124;&nbsp;</span></span><span style="font-family: 新宋体"><span style="color: #0000bb">update <br /><br />命令&nbsp;</span><span style="color: #dd0000">&quot;:argdo&quot;&nbsp;</span></span><span style="font-family: 新宋体"><span style="color: #0000bb">把另一个命令当作其参数。而后者将对参数列表内所有的文件执行。 <br />&nbsp;&nbsp;&nbsp;作为参数的替换命令&nbsp;</span><span style="color: #dd0000">&quot;%s&quot;&nbsp;</span><span style="color: #0000bb">作用于所有文本行。它用&nbsp;</span><span style="color: #dd0000">&quot;&#92;&lt;x_cnt&#92;&gt;&quot;&nbsp;</span></span><span style="font-family: 新宋体"><span style="color: #0000bb">来查找 <br /></span><span style="color: #dd0000">&quot;x_cnt&quot;</span><span style="color: #0000bb">。&nbsp;</span><span style="color: #dd0000">&quot;&#92;&lt;&quot;&nbsp;</span><span style="color: #0000bb">和&nbsp;</span><span style="color: #dd0000">&quot;&#92;&gt;&quot;&nbsp;</span><span style="color: #0000bb">用来指定仅匹配那些完整的词，而不是&nbsp;</span><span style="color: #dd0000">&quot;px_cnt&quot;&nbsp;</span></span><span style="font-family: 新宋体"><span style="color: #0000bb">或 <br /></span><span style="color: #dd0000">&quot;x_cnt2&quot;</span></span><span style="font-family: 新宋体"><span style="color: #0000bb">。 <br />&nbsp;&nbsp;&nbsp;替换命令的标记中包含&nbsp;</span><span style="color: #dd0000">&quot;g&quot;</span><span style="color: #0000bb">，用以置换同一行文本内出现的所有的匹配词&nbsp;</span><span style="color: #dd0000">&quot;x_cnt&quot;</span></span><span style="font-family: 新宋体"><span style="color: #0000bb">。 <br />标记&nbsp;</span><span style="color: #dd0000">&quot;e&quot;&nbsp;</span><span style="color: #0000bb">用于避免因文件中找不到&nbsp;</span><span style="color: #dd0000">&quot;x_cnt&quot;&nbsp;</span><span style="color: #0000bb">而出现错误信息。否则&nbsp;</span><span style="color: #dd0000">&quot;:argdo&quot;&nbsp;</span></span><span style="font-family: 新宋体"><span style="color: #0000bb">命令 <br />就会在遇到第一个找不到&nbsp;</span><span style="color: #dd0000">&quot;x_cnt&quot;&nbsp;</span></span><span style="font-family: 新宋体"><span style="color: #0000bb">的文件时中断。 <br />&nbsp;&nbsp;&nbsp;字符&nbsp;</span><span style="color: #dd0000">&quot;&#124;&quot;&nbsp;</span><span style="color: #0000bb">分隔两条命令。后面的&nbsp;</span><span style="color: #dd0000">&quot;update&quot;&nbsp;</span></span><span style="font-family: 新宋体"><span style="color: #0000bb">命令将那些有改动的文件存盘。如果 <br />没有&nbsp;</span><span style="color: #dd0000">&quot;x_cnt&quot;&nbsp;</span><span style="color: #0000bb">被改成&nbsp;</span><span style="color: #dd0000">&quot;x_counter&quot;</span></span><span style="font-family: 新宋体"><span style="color: #0000bb">，这个命令什么也不做。 <br /><br />还有一个&nbsp;</span><span style="color: #dd0000">&quot;:windo&quot;&nbsp;</span><span style="color: #0000bb">命令，用于在所有视窗内执行其参数所规定的命令。以及&nbsp;</span></span><span style="color: #dd0000"><span style="font-family: 新宋体">&quot;:bufdo&quot;&nbsp; <br /></span></span><span style="font-family: 新宋体"><span style="color: #0000bb">命令，对所有缓冲执行其参数所规定的命令。使用中要小心，因为你在缓冲列表中的文 <br />件数量可能超过你能想像的。请用&nbsp;</span><span style="color: #dd0000">&quot;:buffers&quot;&nbsp;</span><span style="color: #0000bb">命令&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000bb">或&nbsp;</span><span style="color: #dd0000">&quot;:ls&quot;</span><span style="color: #007700">)&nbsp;</span></span><span style="font-family: 新宋体"><span style="color: #0000bb">来检查缓冲列表。 <br /><br /></span><span style="color: #007700">==============================================================================&nbsp;</span></span></span></div></div></div>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/Gvim_font/</link>
<title><![CDATA[Gvim在windows下设置字体和默认主题颜色]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[Vim 编辑器]]></category>
<pubDate>Sun, 04 Dec 2011 11:10:20 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/Gvim_font/</guid> 
<description>
<![CDATA[ 
	<p>Vim设置字体和颜色主题<br />今天在Windows xp下面安装了gvim,最近决定好好学习Vim所以俺在Win和Ubuntu中都安装了.<br />gvim安装完成后默认的字体和主题颜色用起来感觉别别扭扭的，很不舒服，所以决定将其改<br />的好看一点，于是到网上搜罗了一把。<br />1、首先更改gvim的字体<br />&nbsp;&nbsp; 找到安装gvim的目录，一般默认安装的目录在C:&#92;Program Files&#92;Vim。找到_vimrc文件，<br />&nbsp;&nbsp; 打开该文件在文件末尾添加如下内容：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if has(&quot;win32&quot;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set guifont=Courier_New:h10:cANSI<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endif<br />&nbsp; 将字体改成Courier_New。<br /><br />2、更改gvim默认颜色主题<br />&nbsp; 同样是_vimrc文件,在该文件末尾添加如下内容：<br />&nbsp; colorscheme&nbsp; slate<br /><br />简单吧，呵呵。刚开始学，很多我也还是一知半解的，希望这个对刚学Vim的有所帮助吧。<br />&nbsp;</p>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/vim_encoding/</link>
<title><![CDATA[查看163.com 另存163.html 使用GVIM 打开中文乱码问题]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[Vim 编辑器]]></category>
<pubDate>Sun, 04 Dec 2011 05:06:32 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/vim_encoding/</guid> 
<description>
<![CDATA[ 
	<p><span style="background-color: #ffff99"><strong><span>&nbsp; <span style="color: #ff0000">set encoding=gbk</span>&nbsp;&nbsp;&nbsp;&nbsp; -------- 如果fileencodings&nbsp;全部探测不到，则以该编码替换fileencoding 存盘，内部数据编码<br />&nbsp; <span style="color: #ff0000">set termencoding=utf-8<br /></span>&nbsp; <span style="color: #ff0000">set fileencoding=utf-8</span>&nbsp; ----- 以该编码格式进行文件存盘<br />&nbsp; <span style="color: #ff0000">set fileencodings</span>=ucs-bom,utf-8,gbk,cp936,gb18030,big5,gb2312&nbsp;&nbsp;&nbsp;&nbsp; ----- 自动探测文件编码格式，如果符合其中一种替换到fileencoding<br />&nbsp; <span style="color: #ff0000">set langmenu=zh_CN.gbk</span>&nbsp;&nbsp; ------&nbsp; 设置整套窗口语言环境<br />&nbsp; <span style="color: #ff0000">language messages zh_cn.gbk</span>&nbsp;&nbsp;&nbsp; ------&nbsp; 设置整套菜单语言环境<br /></span></strong></span></p><p><span style="color: #0000ff">VIM 查看当前文件编码&nbsp; :set fileencoding</span></p><p><span style="color: #0000ff">VIM 设置当前文件编码&nbsp; :set fileencoding=utf-8</span></p><p>=============== （转）详细分析 ======================================================</p><p>很惭愧，作为vim的忠实用户，自从2年多前从help里知道了:edit <br />++enc=xxx这个命令之后，我就没有去了解过vim的编码设定了。这些年来，我遇到编码出错，总是:edit <br />++enc=xxx。今天:help了一下encoding等，终于搞清楚了相关的各个变量的作用和关系。<br />简单的说，有三个设置。(我下面基本以中文环境来作为说明)</p><p><br />1) 在.vimrc或者_vimrc里加入set <br />fileencodings=utf-8,gb2312,gbk,gb18030,big5这句就基本OK了。vim会依次使用这些编码对文件进行编码的猜测。<br />2) 如果还是不行，那么在打开文件之后，用:edit <br />++enc=gbk这个命令强制使用某个编码。<br />3) 如果依然不行，请检查你的$LANG环境变量。</p><p><br />下面是详细的说明。<br />vim编码主要涉及三个变量。<br />encoding<br />vim的内部编码，包括内存数据的编码，vim配置文件的编码。encoding取自变量$LANG，如果$LANG为空，则取latin1。这个编码应该和你的终端编码保持一致的。<br />fileencoding<br />文件的编码。vim在加载文件的时候，会把这个编码转换成encoding参数的编码。同样的，保存文件的时候，内存的编码会由encoding转变为fileencoding。<br />需要注意的是，在vimrc里设置这个参数，不会起作用。因为打开一个文件的时候，fileencodings或者encoding会覆盖fileencoding。关于这个，可以看下面提到的打开文件流程。<br />fileencodings=utf-8,gbk,gb2312<br />vim在加载一个文件的时候，会依次尝试使用fileencodings里的编码作为fileencoding。如果全部失败，那么vim会使用encoding作为fileencoding。<br />另外，如果vim使用了错误的编码，可以使用edit <br />++enc=gbk这个命令。意思是，重新读取文件，并强制使用gbk作为fileencoding。这时候会忽略filencodings。<br />以下是一些vim操作的内部流程<br />打开文件<br />首先从文件读入数据到内存，然后从fileencodings里依次使用各个编码来尝试转换为encoding。如果有一个成功，则中止尝试。如果找不到，则取encoding作为fileencoding。也就是说，这里有一个从fileencoding转换为encoding的过程。<br />保存文件</p><p><br /><strong><span style="color: #0000ff">把内存的数据，从encoding，转换为fileencoding，然后写入文件。<br /></span></strong>其实在这里最容易让人搞不清楚的就是encoding和fileencoding的区别。因为在大多数GUI特别是WINDOWS平台的编辑器里，encoding都是不需要设置的。通常这个encoding都是默认和GUI环境的编码保持一致。<span style="color: #800000"><strong>encoding是数据在内存里的存储编码</strong></span>，而fileencoding才是文件的编码。<br />&nbsp;</p>
]]>
</description>
</item>
</channel>
</rss>