LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1378|回复: 2

改进两个 Vim 插件

[复制链接]
发表于 2009-10-15 11:03:30 | 显示全部楼层 |阅读模式
原文链接 : http://www.gracecode.com/archives/2989/

再趁手的 Vim 插件都想力求达到自己的要求,有些插件要满意终究还得自己“二次开发”下,这两个插件希望能对您有所帮助:


MRU

MRU(Most Recently Used)插件简单的说, 就是给 Vim 增加“最近打开的文件”功能。脚本本身已经很满足我的需求,但对放到了 File 菜单的二级子菜单中,让我觉得非常的不方便。看着脚本最后更新是 2008 年, 于是自己动手做了以下的小改进:

   1. 将菜单提到根菜单上,在编辑中按 Alt+R 即可*出 MRU 菜单
   2. 改进菜单显示样式,使其看起来更整齐,并添加文件选择快捷键(按 1-9)
   3. 增加 MRU_Filter_Not_Exists 选项,用于过滤已经不存在的文件

那么如何调用 MRU 呢?当然你可以从命令行调用

:MRU



现在也可以使用 Alt+R *出菜单以后,直接按 1-9 选择最近打开的文件,如上图。

脚本下载


fontsize.vim

和现在主流的浏览器一样, fontsize.vim 的功能就是通过快捷键放大和缩小字体。 这款脚本唯一的不足就是无法支持中文(也就是没有考虑 &guifontwide 的情况),所以改 进了下。

调用此脚本的方式,下面的代码已经足可以说明

[php]
if ! hasmapto("<lug>FontsizeInc", "n")
    nmap <silent> <Leader>++  <lug>FontsizeInc
    nmap <silent> <Leader>==  <lug>FontsizeInc
endif

if ! hasmapto("<lug>FontsizeDec", "n")
    nmap <silent> <Leader>--  <lug>FontsizeDec
endif

if ! hasmapto("<lug>FontsizeDefault", "n")
    nmap <silent> <Leader>00  <lug>FontsizeDefault
endif
[/php]

对于 <Leader> 这个按键,在 Windows 下通常是“\”,用你的右手小指就可以找到 :^D

顺便说句,很多兄弟对 Windows 设置中文字体感到迷惑。特别是如果配置文件(_vimrc) 是 utf-8 编码的话,中文字体始终设置不上。这是因为 Windows 的内码还是使用 gbk 编 码(Windows XP 下),因此要靠 iconv 帮忙。

例如我的 _vimrc 中字体相关配置如下(类似的问题也可以举一反三) :

[php]
if has("gui_win32")
    exec 'set guifont='.iconv('Courier_New', &enc, 'gbk').':h11:cANSI'
    exec 'set guifontwide='.iconv('微软雅黑', &enc, 'gbk').':h11'
endif
[/php]


脚本下载


--EOF--
发表于 2009-10-15 13:18:25 | 显示全部楼层
vim 本身就可以记录所有打开的文件的。这个其实并不需要插件。一个设置加一个启动参数就可以支持。
回复 支持 反对

使用道具 举报

发表于 2009-10-16 09:16:12 | 显示全部楼层
用插件还是要方便些

K6,问你个问题:
XP下把编码改成UTF8之后,*出的对话框和撕下的菜单字体变得非常难看,怎么解决?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表