关于 Rcode.vim 插件
Monday, December 19, 2011 3:41:30 AM
昨天找到了这个插件,由于我英文不好,所以想搜索一下关于这个插件的中文使用说明,但是并没有找到。而第一次知道这个插件,是从作者本人在 Google 上的推荐,由此我知道它的作者是大名鼎鼎的"依云,"他的博客上有很多关于 vim 的文章并且在论坛上解答了很多其他人的问题。另外前些天我还曾经就他编译的 GVIM 在他的博客上发过评论。
插件的官方地址:http://www.vim.org/scripts/script.php?script_id=3705
虽然说明不多,好在功能不是很复杂,凭着我 N 年前的英文底子也看懂了大概。简要地说,这个插件的作用就是将原本通过 vim 的"管道"符号"|"连接的命令,可以在一个新的小窗口中并列地写出来并且一起来执行它。如下图所示:

我将原本需要连续四次执行的替换,通过 Rcode.vim 可以一次性写下来并且一次性替换完成。这种需要,象作者所说的,比较适合用 vim 排版大量文字的情况。而恰恰我就属于有这种需要的人,为了完成类似的任务,我曾经找到了一些其它方法,比如用 textPro 的替换表来排版大段文字,或者前段时间说过的,由群友帮助我制作的在 vim 中使用的 "替换表"。当然,这个 Rcode 脚本在本质上和那个没有什么区别。都是通过 Call 函数来执行外部文件的多行命令。只是原来使用的"Vim 替换表"没有这个单独打开的窗口,因此这个更显得直观。
另外,这个插件还不止能执行 vim 自身的脚本语言,还支持 Python、Awk、Perl 等,不过这些我都一窍不通,所以我更关心如何能让它更贴近我自己的使用习惯。从图中可以看到,通过脚本自身的命令":Rocde vim"执行后,会在正文下方弹出一个新窗口(我将这个命令 Map 到了 <Local>s 中),这样只要连续输入命令后,用"<C-Enter>" 即能执行。下次如果需要执行同样的批量替换,则使用过的命令仍然会保留在该窗口中。

但是,我希望它能增加一些功能,比如有历史记录功能;因为我可能有很多替换的要求,每一次都要单独输入或不断的增减当然很麻烦。例如我针对"大写替换小写"有一个单独的文件,"全角替换半角"又需要一个文件,"标点符号修改"、"分段格式化"、 "公式参数替换"等等需要很多种不同的替换方式,这样的话,如果能够在窗口中单独列出一些带有序列号的文件名称,就象一个收藏夹那样,针对当前文本执行不同的替换,就会方便多了。如下图所示,左侧的 vim 插件 NERD_Tree 有 Bookmarks 的收藏夹,最底下的 Yank 插也有 100 个历史复制菜单可供粘贴,我希望 Rcode.vim 也能添加类似的功能。比如在使用了一些命令之后,我可以将这些替换保存到一个文件之中,这样这个文件就列在该窗口的一侧或上方,以便我下次直接就能使用。
另外,我在写批量替换命令时,可能要添加很多注释,因此需要半角引号或百分号打头的行或 /*...*/ 这类注释符也能使用。另外也可能不止是用替换,也可能用":g"命令或一些宏命令,不知道这些要求是否能支持。期望作者"依云"能尽快回复。








Anonymous # Monday, December 19, 2011 4:30:44 AM
易名gcy001 # Monday, December 19, 2011 4:38:07 AM
Anonymous # Monday, December 19, 2011 8:08:27 AM
易名gcy001 # Monday, December 19, 2011 3:11:51 PM
易名gcy001 # Monday, December 19, 2011 3:21:32 PM
——————————————————————————————————————————————————————————————
A.全角转半角;B.半角转全角;C.大写转小写;D.提取标题列表
A<Enter>则激活相应替换表
——————————————————————————————————————————————————————————————
Anonymous # Monday, December 19, 2011 5:18:48 PM
Anonymous # Monday, December 19, 2011 5:20:08 PM
Anonymous # Monday, December 19, 2011 5:29:26 PM
Anonymous # Monday, December 19, 2011 5:30:34 PM
Anonymous # Tuesday, December 20, 2011 5:28:20 AM
易名gcy001 # Tuesday, December 20, 2011 9:22:43 AM
Anonymous # Tuesday, December 20, 2011 10:47:46 AM
易名gcy001 # Tuesday, December 20, 2011 11:22:39 AM
Anonymous # Tuesday, December 20, 2011 11:41:52 AM
易名gcy001 # Tuesday, December 20, 2011 12:54:34 PM
噢,我刚刚把所有的替换式子后面都加上了 /ge ,现在不提示错误了。之所以会这样,是因为我一直用的原来的类似的这种全文多个正则替换的脚本,是不需要加上这个“e”的,因此没有使用这个参数的习惯。现在都改好了,就没有再提示错误了。
Anonymous # Wednesday, December 21, 2011 2:43:52 PM