Leon's blog

每天活的有趣一点

正在浏览标签为 vim 的文章

我使用过的编辑器主要有: Ultraedit, VIM, e-Texteditor, Sublime text 2. 基本上是从收费到免费,再到无限期试用. 由于我是个程序员, 编辑器除了用来编辑文本, 主要用来写JavaScript/PHP这样的脚步程序. 直到遇见了Sublime text 2以后, 它基本上满足了所有的要求. 我没用过textmate,不敢说Sublime一定比textmate好, 但是我想至少不会差, 而它不光能在Mac上跑, 也能在Windows和Linux上跑.

下面罗列一下Sublime跟我用过的其他编辑器的简单对比.
继续阅读

debian 6下升级vim 7.2到7.3

抢沙发

首先确保debian上安装了python和ruby的开发包

sudo apt-get install python-dev ruby-dev liberuby-dev

下载vim 7.3的源代码

hg clone https://vim.googlecode.com/hg/ vim_src

生成配置文件. 我要使用支持python和ruby编写的vim插件, 当然也要支持多字节的环境了.

./configure –enable-rubyinterp –enable-pythoninterp –with-features=big|grep “python”

编译

make

检查一下看看python特性有没有问题

src/vim –version|grep python

安装

sudo make install

运行vim.
发现Buffer Explorer插件报错. 到官网下载更新.

我在使用vim的时候,偶尔会碰到vim莫名其妙的僵在那里。在界面上输入什么都没有反应。甚至Ctrl+C、Ctrl+D也没有反应。

由于不是经常发生,也就没在意。每次很麻烦的关掉putty的窗口,重新再打开putty。今天发生了好几次,很是郁闷。就想看看究竟是怎么回事,结果发现每次按下Ctrl+S就会出现这个问题。

由于以前碰到过vim有些扩展有问题,这次就也怀疑是vim扩展的问题。结果删除了所有扩展和.vimrc文件,问题依旧。通过putty登录到别的系统,也是一样的问题。直接在ubuntu的命令行,按下Ctrl+S,问题也一样!

奥,原来是Linux的一个快捷键呀,干什么用的?

原来Ctrl+S在Linux里,是锁定屏幕的快捷键。如果要解锁,按下Ctrl+Q就可以了。

好吧,接受教训吧。以后碰到问题要勤快点,越早解决越少麻烦。
现在让我记牢点这两个组合键Ctrl+SCtrl+Q

整理Eclipse for php的时候,无意间看到了这工具,Zen Coding。真是快速编辑html和css的利器,有多厉害,看看这里的演示吧。访问不到的请移步土豆

作者的主要想法是,通过把编辑器变成一个简单的脚步解释环境,来提高编码的效率。我想这也是VIM这种编辑器反而比一些的IDE效率更高的主要原因。不过Zen Coding的想法更新颖,代码更少。
例如我们要输入这样一段html代码,

<div id=”header”>
    <ul class=”navigation”>
        <li><a href=”"></a></li>
        <li><a href=”"></a></li>
        <li><a href=”"></a></li>
        <li><a href=”"></a></li>
    </ul>
</div>

以zen coding的方式,就只需要输入“div#header>ul.navigation>li*4>a”,然后按快捷键展开就好了。

心动了,来体验一下zen coding的魅力吧。这个在线的Zen Coding编辑器,是通过js,把普通的html textarea变成了不错的IDE。如何让你网站上的textarea也支持这个功能?试试这个吧。

我常用的代码编辑器是VIM和Eclispe,来看看怎么使它们支持Zen Coding吧。

首先来看看VIM

VIM下支持Zen Coding相对比较容易

  • 首先确保你的VIM版本支持python的。我使用的是Debian/squeeze下的vim-nox包,squeeze下支持python的VIM包
  • 然后下载这两个VIM插件,zencoding.vimzencoding_vim.py,拷贝到VIM的.vim/plugin目录中。
  • 再从这里,下载Zen Coding for TextMate v0.3.1.zip,把压缩包里的zencoding整个目录拷贝到.vim/plugin下。注意是目录。

OK,现在可以打开VIM试试了。进入插入模式输入“div#header>ul.navigation>li*4>a”,然后按“Ctrl+E”,看看有什么效果,呵呵。
VIM下的Zen Coding的快捷键设置如下:

插入模式下Ctrl+L :插入缩略代码
可视模式下Ctrl+L :在选中的文本前后,重复插入缩略代码
插入模式下Ctrl+E:直接在当前编辑位置,运行并插入生产的代码
插入模式下Tab:同Ctrl+E

再说说Eclipse

Eclipse下支持Zen Coding实际上是通过js做的。就像在Firefox里有Greasemonkey这样的扩展是用户可以通过js来扩充Firefox;Eclipse下也有个类似的叫Eclipse Monkey的项目。

  • 首先在Eclipse里添加这个更新站点http://download.eclipse.org/technology/dash/update,更新、安装Eclipse Monkey。
  • 然后看这个演示,就知道怎么在项目里加入zen coding的js文件,来扩展Eclipse了。

zen coding in Eclipse

Zen Coding现在是一个比较新的项目,有兴趣的可以多关心Zen Coding在Google code上的项目

参考文档:

  • http://code.google.com/p/zen-coding/issues/detail?id=16
  • http://code.google.com/p/zen-coding/wiki/AptanaHowToEn