Posts Tagged ‘Vim’

Vim 中文语法文件

Sunday, December 12th, 2010

时常用 Vim 写中文文档,希望能够像写代码一样有彩色高亮语法,突出显示中英文标点符号、数字等等,免得白花花的一片(我习惯用暗背景的主题配色,文字默认是白色的)看着晃眼。

去官方网站找了一下相关的脚本,只有 Tomasz Kalkosinski 的 txt.vim 比较接近要求,最大的不足是不支持中文标点符号。

于是一边看语法文件帮助文档,一边在 Tomasz 的脚本的基础上修改,最终弄了一个用于中文纯文本文档的语法文件。

预览效果如下:
Vim txt.vim syntax highlight preview

除了高亮标点符号、数字之外,还可以用来检验单引号、双引号、书名号等需要配对的标点符号有没有正确地关闭,特别是方向相同的引号或者中英文混杂的括号分辨不清楚的时候,靠语法标记出的颜色可以很快定位哪个标点写错了。

语法文件在官方脚本页面下载:
http://www.vim.org/scripts/script.php?script_id=3365

下载后放进 Vim 的 syntax 目录,编辑文件的时候使用 :set syntax=txt 打开语法高亮,也可以默认打开 .txt 文件时自动高亮。

如果对配色不满意,或者觉得和自己的主题配色不搭,可以参考文件尾部的颜色定义自己修改。
如果同时还想要 HTML 的语法高亮,将 txt.vim 中 :so $VIMRUNTIME/syntax/html.vim 的注释标记去掉即可。

我的主题配色是按自己需要修改后的 ir_black,原版请自行 google,我的修改版本可以到这里下载

Vim 速查手册

Sunday, October 24th, 2010

之前用 Excel 写了个 Vim 在线速查手册并上传到 Google Docs 维护,因为 Google Docs 不方便打开,以及用 Excel 表格会让人不由自主的追求收集整理大而全的资料,于是打算换用心智图形式重新制作,结构清晰一点,内容精简一点,风格清新一点,社会和谐一点。
大纲视图截图如下:

Outline

下载地址:
Vim.mm
Vim.boo
全图(PNG 格式)

说明:
1、适合的用户:已经入门但还无法熟练使用一些常用操作和命令,即刚刚摸到一点门道但还处在学习曲线最陡峭那一段的用户,向前一步,也许就进入不断自我学习的良性循环,退后一步,也许就不再敢尝试,从此与 Vim 无缘了;
2、没有完全参照官方的功能主题分类,尽量按日常编辑应用场景制作分类目录;
3、我主要将 Vim 当作文本编辑器而不是开发工具,因此不求全面收录所有功能点。内容太多太杂只会降低检索效率,所以函数定义、脚本编写、编译调试、调用外部编程语言、调用操作系统命令等等可能展开太多或者与日常文本编辑关系不大的内容就没有放进来;
4、各类主题也没有全部展开,道理同上。尽量给主题大类配上了相应的英文说明,如有更复杂的需求,可使用帮助文档按图索骥深入学习——但不是所有英文说明可以用做帮助文档检索的关键字;
5、复杂而微妙的功能与概念,如全局、替换等命令,如可视模式,如模式的概念,参考帮助文档给出的是比较抽象的说明,运用之妙存乎一心,需要自己结合高手们的技巧实例达到熟练使用的境界;
6、技巧和正则表达式的节点有急剧膨胀的危险,读者可以分别找官方站点和专著研究,这里拟采用链接外部文件的方式,分开展示;
7、插件、配色方案和配置文件都是因人而异的东西,多说无益,自己用着好才是真的好;
8、用 FreePlane 编辑,保存为 Freemind 的 mm 格式,检索、编辑、展示、导出都非常方便,还有 BooguNote 的 boo 格式,更利于用纯文本工具查询;
9、同类性质可举一反三的操作和命令,没有并列列出,而是作为父子节点出现,可减少人肉扫描的工作量;
10、建议使用雅黑等宽字体,安装 fencview 插件,不再被字体难看和中文乱码问题困扰,学习效率也会高很多;
11、官方的帮助文档、教程是最好的资源,有英文基础的用户可以去官方网站看技巧插件脚本等内容,每天都会有惊喜;
12、闲耘的站点上收集的 Vim 相关资料较全,可顺藤摸瓜撒网捕鱼。
13、不要恐慌!

Vim

Wednesday, September 9th, 2009

最近又重新开始捣鼓 Vim
虽说基本不用写程序或者脚本,只是码码字,对 Vim 的需求没这么高,但作为纯文本党人既然喜欢收集纯文本编辑器玩,没道理不把这个工具用好。

为了方便自己查阅 Vim 命令,一边学习经典教程一边临时做了一个在线速查手册备查,把一些常用基本快捷键和命令按照自己习惯的方式整理一下。因为 Vim 博大精深,所以还有很多内容待补充,不过最后我会制作一个重新整理的电子表格文档出来,把最常用最适合新手入门的内容和高级内容分开的。

装了 HTMLFencViewBuffer Explorer 等几个插件,小小的修改了 Pyte 配色方案,调教了一下配置文件,基本解决显示中文的问题后,就可以慢慢玩了。

除了 Vim 官方相关的文档、插件、配色方案、技巧外,顺藤摸瓜找到的资源还有:
基础教程:大家來學VIM(一個歷久彌新的編輯器)
输入法:VimIM
配色方案预览工具:VIM Color Scheme Test
Firefox 扩展:Vimperator

对比常用的 EmEditor 等文本编辑器,目前还没有配置好的有:
光标所在行和列高亮(当前行高亮应该有现成的配置命令);
未命名文件定时自动保存在固定的目录;
托盘图标右键快速新建粘贴;
分批高亮多次查找结果(有现成的插件);
支持不等宽字体(有修改版,但对编码配置有限制,原版不支持非等宽字体);
自动生成大纲(应该有现成的插件);
窗口总在最前;
把标签页模式整得更加顺手,同时限制只有一个实例。

推荐免费的文本编辑工具

Wednesday, November 30th, 2005

DevZoo 列出了一个 Windows 下免费文本编辑软件的清单,并附有简介,几乎称得上是一网打尽了。但不足的是,许多简介只是照抄作者网站上的介绍而已,一眼看过去并不知道哪些软件是真正好用,哪些是滥竽充数,所以我选择了几个风评较好的作更进一步的介绍。

ConTEXT
界面平常,功能中规中矩。用了一段之后我的疑问是,虽然主要是用来写代码的,可也不至于设置了自动换行也没反应吧?

Cream
现在我使用的就是 Cream,所以介绍得详细一点:
安装之前需要修改 install.bat 文件,将 Vim 的安装路径按照实际情况进行更改,然后在原 Vim 的启动快捷方式后增加“-U NONE -u [DIR]\cream\creamrc”的参数,其中 [DIR] 为 Vim 的安装目录。其他的许多设置启动后在菜单中就可以设置了。
如果不习惯没有 Vim 的高级功能,可以打开“设置-》偏好-》专家模式”。之前在 vimrc 文件中设置的参数都会失效,可以转移到 creamrc 文件中。剩下的,自己去 Cream 所在的目录中摸索各个 vim 文件吧。

它对原来 gVim 的界面进行了大改造,许多设置和功能可以直接在菜单中找到,还有新增功能,编辑模式的默认设置也更改了,比较贴近常用的 Windows 编辑软件,实乃我等菜鸟之福音。

值得注意的是,由于使用了不少的脚本来改进界面、增加功能,Cream 占用的系统资源要远远超过 Vim,因此除了担心使用 Cream 会影响深入学习 Vim 的人之外,优先节约系统资源的人也有理由放弃这个工具。

Crimson Editor
以前使用过这个软件,对中文的支持还不错,却因为和智能狂拼2严重冲突而弃用,另一个让人觉得不够完美的地方是,自定义各类文字的颜色时不能够指定背景色,当然,这是和 EmEditor 这样的付费软件作比较,未免有些不公平。
除此之外,这款软件没有多少可以批评的地方了…嗯…好吧…其实…我想说,那个狗头的图标未免太丑陋了一点…

Emacs/XEmacs
Vi/Vim 齐名的软件,但可耻的是我首先被 Vim 拉拢了…:P
这类软件的阴险之处在于,由于功能异常强大,内涵异常丰富,要摸清楚它的底细简直是不可能的,因此,一般只会有人夸它的好,没人敢说它的坏话。如果你对它的第一印象很好,那么尽管放心大胆地深入学习,保证不会让你失望,它们绝不只是一个文本编辑工具这么简单,而如果是相反的情况,那么还是早早收手换一个工具的好,否则它会不断地打击你的信心。

经常有人争论 EmacsVim 哪个更好,结论往往是适合自己的才是最好的。作为一个注重人机界面的用户,我觉得还是只向经常编辑代码的人推荐比较好…

Vi/Vim/gVim
Cream 只是个外壳,它才是灵魂。
喜欢对人机界面设计评头论足的我总觉得这实在是个让包括我在内的新手频频抓狂的软件,不支持我喜欢的 Georgia/Times New Roman 字体、不支持拖拽编辑、没有 tabbed MDI、基本上什么设置都要找到帮助文件找到配置的写法再自己写入配置文件并祈祷不出问题,虽然 GUI 经过了改进,但如果要我选择学习曲线最陡的流行软件,估计就是它了 :P
当然,一款人机界面如此之差以至于不但有 GUI 改进版,还开发了专门的外壳的软件能够受到众多人的衷心拥护不是没有道理的,用它网站上一句话来说,“Vim isn’t an editor designed to hold its users’ hands. It is a tool, the use of which must be learned.”你越是深入学习它,就会越觉得它的功能强大,最后觉得其他工具都不称手。

jEdit
最令人吃惊的一点是,这个软件是用 Java 写的。不是我对 Java 有偏见,而是--恕我孤陋寡闻--轻量级的工具软件用 Java 做得这么好的实在是少见。如果不是无论怎么设置字体也无法同时正常显示菜单、工具栏、文件浏览器和正文中所有的中文,和需要另外下载 Java,我一定会把它作为首选的文本编辑工具。

最近有许多人收藏了 Jesse Crouch一篇文章,其中就强烈推荐 jEdit

LCC
这个,把它卸载了之后,我已经忘记它有什么特性了…可能稍后再补上吧,如果没补上也不要怪我,反正不在推荐之列。

Notepad++
平心而论也是个相当出色的软件,但是能够自定义设置的地方太少,而且 language 菜单太长、plugins 菜单组织得很差劲…总体处于比上不足比下有余的位置。
另外,我宁愿选择 Crimson Editor 的狗头也不愿意面对 NPP 的避役…

新版本的 NPP 终于把原来丑陋的图标改掉了,而且更加适合中级以上的用户自己配置使用。在功能方面,它已经非常强大,推荐经常编辑代码或网页的人使用。
不过对我来说,它还有一些小问题:
函数补全的快捷键是 Ctrl+Space,与输入法快捷键相冲突,又不能自己修改;
快速插入 HTML 标签(类似 EmEditor HTML Tag 插件)并自动定位不方便;
列块模式的用法很奇怪;

PSPad
如果没记错的话,很久之前它对中文的支持还很差,所以一直没有再试过,这次发现不但在中文支持方面大有长进,而且功能增强了许多。如果实在用不惯 Emacs/Vim,那么它成为首选是没问题的。
就固有功能来说,与 NPP 各有千秋;它的扩展基本都是脚本形式,且支持多种脚本语言,方便自己修改。
现在唯一让我不爽的就是,不能够使用非等宽字体!于是 Georgia、Palatino、Times New Roman 等美观字体就只能呆在一边了,中文字体也不堪入目。

SciTE
一个语法选项十分丰富的最好是专门用于各类代码编辑的工具,也是备受好评。
修改配置需要自己编辑配置文件,对初级用户不够友好。

MadEdit
界面朴素,但是功能不弱,16进制和列块模式可以替代 UE。

EmEditor
最后说一说为什么我总是对 EmEditor 这个收费软件念念不忘,原因是它的一些优点其他软件都没有能够做到:
首先是界面设计简洁明快而很耐看,一些细节例如图标、回车换行等控制符的淡蓝色符号等等,风格统一,配色协调,所以即使大部分的窗体和一般的 Windows 窗口没什么不同,整体的感觉却不在一个档次上。
其次是丰富的自定义设置,其中最方便的又属设置第 n 次搜索时搜索结果的高亮字体,如第一次的搜索结果在全文范围内用绿色背景表示,第二次搜索之后就变成明黄色背景,这样多次搜索之后每次的搜索结果都能够一目了然。
第三是和 Windows 系统、中文的兼容做得很好。其他一些软件因为跨平台或者开发者不使用亚洲双字节文字的缘故,在这些方面总有这样那样的不足,功能强大如 EmacsVim 也未做到最好。
第四是占用资源少、启动速度快,刚开始接触它的时候对这一点是非常满意的。V4的版本因为加入集成多窗口的功能而降低了程序运行的效率,从网站的宣传来看,这个问题到了 V5系列已经得到了解决。
第五是常驻托盘的 EmEDTray 有自定义的功能,例如我就设定右键单击托盘图标是“新建并粘贴”,然后左键双击是“新建文档”,左键单击的菜单中可以打开最近编辑过的文件和访问过的目录,可以在文件中查找等等,同样是收费软件的 UE 虽然也有托盘图标,但仅仅是用来最大化最小化的。

随时更新的文本编辑工具推荐列表