無標題文檔

Colorizer,Vim 颜色显示插件

我记得很久已经介绍过款 CSS 显示颜色的插件 。不过完美的插件太难找了,这款插件有点不爽的就是执行效率很低。 虽然有后续的改进版本 ,但我还是希望能找到

https://files.gracecode.com/2011_05_03/1304403580.png

于是乎,就有了本文想要介绍的插件(看作者的名字似乎是位国人)。其实, Colorizer 这款插件 也是基于上述插件开发的,而它唯一的不同就是仅仅显示 rgb 颜色,同时精简了部分的代码。

但在使用过程中,发现它只能解析 #rrggbb 这样的格式,无法解析 #rgb 这样的颜色格式;同时我个人觉得 :UpdateColor 这个命令名不直观。

没有完美的插件不是么,于是我做了个小的修改。除了解决上述颜色获取格式问题外,我将命令的名称修改为了 :Colorizer ,虽然算不上好记但至少和插件的名称保持一致了。

最后,提供上述两个插件本人修改后的下载地址:

-- EOF --

推荐 VimWiki

作为技术人员,对于知识的管理、沉淀尤其的重要。 我说过我们生活在知识爆炸的年代 ,浮躁的我们往往迷失在浩如烟海的知识中。 Yibie Blog 上的文章 《我什么使用 OneNote》 很有共鸣,在这里分享下我的经验和看法。

需求

知识管理的一条途径就是做笔记。笔记类的软件有很多,这些工具在深度使用以后粘性很大,以后想再转其他同类型的工具,往往成本很大。细想之下,我是个挑剔的人,所以我对此类软件有下面的要求:

Why VimWiki

https://files.gracecode.com/2010_04_12/1271087021.png

其实对于使用 Vim 的朋友来说,用 Vim 写 Wiki 并不是件新鲜的事情。如标题所说,VimWiki 可能本身并不是非常的强大,但配合各种工具后,你甚至完全可以考虑扩展它的功能。

对比上面的需求,之所以选择 VimWiki 是因为

「在云端」

有关 VimWiki 的安装和配置, 善用佳软已经有很详实的文档 ,这里就不再复述了。这里我说说配合 Dropbox 、rsync 等同步软件打造「云间」的个人记录工具。

https://files.gracecode.com/2010_03_20/1269096655.png

一图胜千言,上面的简图主要说明了我如何同步 VimWiki 。篇幅的关系,有关此技巧的更多信息, 参见这里

@TODO

处于 VimWiki 的高可定制性,个人对于二次开发 VimWiki 有很浓厚的兴趣。我想近期能够为它做的事情

最后,其实说到底像 VimWiki 这类的知识管理工具,还是要自己深度去利用。为了避免陷入软件的争论战,先写到这里。

-- EOF --

改进两个 Vim 插件

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

MRU

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

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

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

:MRU

https://files.gracecode.com/2009_11_05/19632838eb92.jpg

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

脚本下载

fontsize.vim

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

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

if ! hasmapto("<Plug>FontsizeInc", "n")
    nmap <silent> <Leader>++  <Plug>FontsizeInc
    nmap <silent> <Leader>==  <Plug>FontsizeInc
endif

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

if ! hasmapto("<Plug>FontsizeDefault", "n")
    nmap <silent> <Leader>00  <Plug>FontsizeDefault
endif

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

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

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

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

脚本下载

后记:Vim 插件 FontSize 的作者采纳了我的意见,更新了脚本支持中文等多语言字符。同时从他脚本中看出他考虑得比我多得多,再次向他学习 http://www.vim.org/scripts/script.php?script_id=2809

--EOF--

Vim for Windows 的全屏插件

由于工作缘故,现在几乎只能在 Windows 下使用 gVim 编代码。很多时候我们都希望编辑器打开就能够最大化,使得代码能够显示尽可能得多。

这里有个 Vim 的扩展(不是插件), 首先下载这个压缩包 ,然后将这个 dll 文件扔到 gvim.exe 所在的目录(也就是安装目录)。

然后通过 gVim 内置的命令调用这个 dll 中的接口,就可以达到窗口最大化了(其实 AutoIt 或者其他类似的工具也可以完成,不过个人更喜欢这种方式)。

map <F11> <Esc>:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR> 

似乎谁都喜欢将这个功能绑定到 F11 这个键 :-0 今天是愚人节,顺便炫耀下我的 gVim 全屏以后的样子。

https://files.gracecode.com/2009_11_05/72871736685a.jpg

顺便提供个在 Windows 下启动 gVim 即可最大化的代码

if has('gui_running') && has("win32")
    au GUIEnter * simalt ~x
endif

autocmd 这个命令真的非常好用,建议了解以后经常使用它。还有 simalt 提供了控制 Alt-{key} 的可能,从而可以通过它来管理 Vim 窗口(最大化、最小化、打开文件菜单等)。

-- EOF --

TBCompressor for Vim

玉伯的 TBCompressor 用于压缩 Javascript 和 CSS 文件非常的方便,不过虽然他提供了右键压缩的功能,但我还是希望在编辑文件的时候压缩,顺便就可以在编辑器中查看压缩结果。

于是就有了这个 Vim 小插件,主要的功能就是调用 TBCompressor,然后返回结果到 Vim 控制台中(以后的版本再考虑如何最优化的显示方案)。

在安装好玉伯的 TBCompressor 以后,再将这个插件扔到 Vim 的插件目录中即可。然后,在 VIMRC 中配置相应的选项

let g:tb_compressor_command = 'compressor.cmd'

如果觉得麻烦,就将 TBCompressor 目录扔到 PATH 中好了。批处理 compressor.cmd 中还有个 pause 命令,这个时候就可以注释掉啦。

https://files.gracecode.com/2009_11_05/49625723f0ea.jpg

调用方式就是在 normal 模式下按 \tc 就可以,当然也可以针对喜好自己定制下快捷键。最后,提供 插件下载 ,欢迎提供意见和建议。

我的照片

嗨!我叫「明城」,八零后、技术男、伪苹果粉、微软无脑黑、宁波佬,现居杭州。

除了我的博客,同时也欢迎您访问我的 GitHubTwitterInstagram 主页。

这个 Blog 原先的名字叫 Gracecode.com 、现在叫 「無標題文檔」 。 其实无所谓叫什么名字,因为我曾经为这个名字伤透了脑筋。最后想到的这个名字都没啥特别的,说到 底是因为我实在给它不了个非常酷的名字。

如果您想联系我,可以发我邮件 echo bWluZ2NoZW5nQG91dGxvb2suY29tCg== | base64 -d

注:本站点所持观点仅代表个人意见,不代表所服务公司的立场。

文章

项目

微信公众号