归档 2010年4月

最后更新于 .

呃,之前在linux下编译过vim,这次由于gvim默认不支持python,所以心血来潮想要想在windows编译一下gvim,好吧,这纯属找虐……

一.准备工作:

1.Mingw,我用的版本是5.1.4

2.vim的源码文件

ftp://ftp.vim.org/pub/vim/pc/ 下载到vim72src.zip, vim72rt.zip, vim72lang.zip三个文件。 下载完之后, 把 vim72src.zp 和 vim72lang.zip 解压到 D:\makevim,查看D:\makevim\vim\vim72 这样的目录结构, 包含src,lang等目录。 vim72rt.zip的有些独特,先不要解压,直接打开看,里面vim\vim72下面会有autoload之类的文件和目录。新建一个目录D:\makevim\vim ...

最后更新于 .

哇咔咔,今天没事在小众软件上逛,居然被我发现了一个用vim发邮件的插件,废话不多少,先上图~ 成功

OK,按顺序介绍一下。

一.实现功能    

1.发送文本    

2.发送文件

二.安装方法    

1.到http://www.vim.org/scripts/script.php?script_id=26 下载压缩包    

2.打开dsw项目文件,用vc6.0或者vs2005编译生成vimmailr.dll,并将这个文件放到环境变量中有的路径中    

3.把vimmailr.vim放到C盘下(或者其他路径)    

4.在vimrc文件中加入如下代码:

let $MYEMAIL="dantezhu@tencent.com"     

source c:\vimmailr.vim     

当然我的邮箱需要改成你自己的…… ...

最后更新于 .

最近在编译项目的时候,出现的multiple definition的错误。仔细排查了.h文件的define定义等,最后发现是自己定义类的时候写法有问题。因为这个问题浪费了很长时间,所以特别记在这里。 做测试如下: 新建一个目录firstdef,在其中创建文件firstdef.h,代码如下:

#ifndef _FIRSTDEF_H_
#define _FIRSTDEF_H_
#include <iostream>
#include <string>
#include <vector>
#include <map>
using namespace std;
class CFirstDef
{
    public:
        void Show();
        void Error();
        void Test()
        {
            printf("Test\n");
        }
};
void CFirstDef::Show()
{
    printf("OK\n");
}
#endif

对应建立firstdef.cpp,代码如下:

#include "firstdef.h"
void CFirstDef ...

最后更新于 .

最近比较忙,周末又和老婆一起出去旅游,所以近期没有写多少文章,还望各位读者海涵~~ 由于一些原因,今天本来打算写的文章没有办法发布,所以先写一篇比较轻量的应用热一下身,最近要写的Vim相关文章比较多哇~~ 这次主要是想给大家介绍一下vim的一个插件snipmate,链接如下: http://www.vim.org/scripts/script.php?script_id=2540 对于代码段补全,snipmate还是非常有用的(虽然可能会降低你的记忆力)。

现在我们来假设一个场景,平常大家都是怎么写出一个函数实现的呢? 如

int Test() {     //光标在这里 }

好吧,我想应该是这样,先写出一个

int Test() {}

然后ESC,h,o,ESC,j,o 极其麻烦~ 怎么解决?在c.snippets中加入如下代码:

snippet {}     {         ${1}     }

这样,当你在c/c++文件中写完

int Test() {}

之后,只需要点击一下tab键,就会自动变成

int ...

最后更新于 .

在公司突发奇想,想把自己使用vim时的常用操作录下来,希望对大家有所帮助~ 用到了几个插件,也有一些自己定义的功能,在我的博客里都可以找到相应的介绍。

e 

对于录屏中我使用的插件,欢迎竞猜,竞猜无奖,纯属娱乐,哈哈~~

最后更新于 .

好吧,vim中毒愈深,最近设计页面也开始用vim画图,上图先~~

vim中毒愈深

哈哈,其实还是很不错的~~关键是连画图都不用鼠标啦~

要实现这个功能也比较简单,www.vim.org上有两个相关的插件,一个是sketch.vim,一个是drawit.vim

对于sketch.vim,看名字就知道,他主要是想实现草图的功能,所以使用鼠标来画图的,也可以实现一些很复杂的图形,但是有个缺点就是当快速的拖动鼠标的时候,直线会夹杂一些空白的地方,所以被我无情抛弃。

再来看drawit.vim,普通模式下 \di是启动,\ds是关闭,用上下左右键就可以进行直线绘图,用home,end,pgup,pgdn,就可以实现斜线的绘制~~总而言是还是非常棒滴!

另外和大家分享一下,有同事问我怎么快速的画出一个多行表格,其实还是很简单啦,其实多行的话,无非是y一行,然后p 多行;多列的话,就是ctrl+v进入列模式,然后还是y,p就行。

OK,就这样~wordpress的后台总是打不开,所以第一次尝试用windows ...

最后更新于 .

由于工作需要,所以最近ssh到服务器上写代码的时间越来越多,反而在本地用gvim写代码的机会却少了,所以工作方式上也就发生了一点变化。

由于ctags本身在windows下运行效率的瓶颈(还有gvim对tags文件的检索),我在windows下面很少愿意提前装载tags的,不过在linux下就完全不一样啦,即使几百兆的工程 tags,在linux下面配合Omnicppcomplete进行全能补全也是速度飞快的。

下面是一些我常用的操作:

一.手动加入、删除文件所在目录的tags文件到vim的tags搜索中

map cta :call Add_tags()<CR> 
map ctd :call Del_tags()<CR> 
function Add_tags()     
    let dir =expand("%:p:h")      
    let curtags = dir.g:vimrc_splitstr."tags"     
    let curtags=substitute(curtags,'\\','\','g')     
    if filereadable(curtags)         
        exec "set tags+=" ...

最后更新于 .

最近工作比较忙,所以一直没有时间写vim相关的文章,今天写一篇,以飨读者。 貌似前台开发的同事都是不太喜欢用vim的,而喜欢用editplus,emeditor之类的,说起来我遇到vim之前也都用过一段时间,嗯,先不说啦,留在后面说。 Vim7默认就是支持javascript的,但我觉得还不够,还可以更多。

1)配色 vim对javascript的配色其实已经不错了,但是我对于js库大行其道的今天,没有对几个js库配色的支持,怎么对得起vim这个响当当的名字~,所以去www.vim.org上搜了一下,果然让我找到了jQuery的配色支持。 下载地址:http://www.vim.org/scripts/script.php?script_id=2416 把jquery.vim放到vimfiles\syntax目录,然后在vimrc中加入如下代码:

au BufRead,BufNewFile *.js set syntax=jquery

上图~~~ 不加入jQuery配色:

wu_jquery

加入jQuery配色:

jquery

2)缩进 vim默认的javascript缩进实在不能让我满意,所以之前也用到过一个jsbeautify.vim ...

最后更新于 .

最近真的杯具了,完全陷入了写前台的恶性循环,倒是CGI的代码都没怎么动过……
好吧,不废话了,业务那边要求配置文件可视化配置,而配置文件是xml格式的。

所以js必须能做到对XML文件的读和写。

先贴上XML文件如下:

<?xml version="1.0"?>
<data>
   <fonts src="swfs/fonts.swf">
      <font id="headers" name="AvantGardeGothicDemi"/>
      <font id="normal" name="FranklinGothicMedium"/>
   </fonts>
   <assets domain="">
      <asset id="12345" src="assets/swfs/crop1.swf"/>
      <asset id="12344" src="assets/images/diy1 ...

每日归档

上个月

2010年3月

下个月

2010年5月

归档