类别归档:Vim

RSS feed of Vim

最后更新于 .

之前的文章已经介绍过vim中实现各种补全,这篇文章我们主要以php为例,实现通过字典补全,来自动补全php函数。

首先,我们从下面的url下载一个php的函数字典文件 http://cvs.php.net/viewvc.cgi/phpdoc/funclist.txt 然后改名字为 php_funclist.txt,并放在vim的安装目录的ExtraVim下(笔者的是C:/vim/ExtraVim)

然后,我们就可以通过如下两行代码来实现将php_funclist.txt字典文件载入到vim中啦~

set dictionary-=$VIM/ExtraVim/php_funclist.txt dictionary+=$VIM/ExtraVim/php_funclist.txt

set complete-=k complete+=k

注意上面的代码中,我的php_funclist.txt的路径是$VIM/ExtraVim/php_funclist.txt,$VIM的意思是vim的安装目录,比如我安装在C:/vim/下面,那么$VIM 就是 ...

最后更新于 .

Vim支持的自动完成种类实际上是很多的,有大家熟知的关键字补全,也有程序开发者经常用到的全能补全。

现在,我们逐一介绍。

1.关键字补全,按键是:

FORWARD:   <C-X><C-N> 

BACKWARD:  <C-X><C-P> 

截图如下:

2.整行补全,按键是:

<C-X><C-L>

截图如下:

3.文件名补全,按键是:

<C-X><C-F>

截图如下:

4.字典补全,按键是(杯具啊,为了这个<C-K>,我把原来的C-K映射都给删掉了):

<C-X><C-K>

截图如下:

对于字典补全,我写了一篇专门用于补全php函数名的文章-《通过vim字典补全,实现php函数名自动补全

5.全能补全,按键是:

<C-X><C-O>

截图如下:

上面的图是调用omnicppcomplete进行类变量补全的结果,对于omnicppcomplete的使用可以参考这篇文章 把VIM打造成一个真正的IDE(3)

OK,所有的补全都介绍完啦,希望对大家有用~~

最后更新于 .

最近需要写一些php的程序,于是研究了一下如何在vim中对php进行语法检查。 其实原理也是和在vim中调用g++/gcc对源文件进行编译是一样的(详见VIM-一键编译单个源文件),也是调用外部程序,然后将错误输出到vim的quickfix中去,为什么要输出到quickfix中?……如果这个都不知道,恐怕也不是在用vim吧……,呵呵,OK,我们进入正题。

先来做准备工作,由于大部分读者应该实在windows下开发,所以我们主要讲解windows下的部署(但是vim的配置代码在linux下一样可以完美执行)。

首先,你需要去下载一个php在windows下的压缩包,然后解压到任何一个地方,进入目录,你会发现一个php.exe。

OK,把这个目录放到环境标量里去。

第二步,打开你的_vimrc,将如下配置写入并保存。

"检查当前文件代码语法(php){{{

function! CheckSyntax()  
    if &filetype!="php"   
        echohl WarningMsg | echo "Fail to check syntax! Please select the right file!" | echohl None   
        return  
    endif  
    if &filetype=="php ...

最后更新于 .

今天无意中发现这样一款插件,众所周知,js在正式上线的时候一般都会经过压缩来减少容量,而一旦你拿到的是这样一个经过压缩的js代码,估计看的头都大了,而这款插件,可以很简单的将js代码变得整齐而有序~ 首先,我们去下载这款插件。下载地址 然后放到plugin目录下。 这时打开一个js文件,我们就可以按下 <leader>ff,来查看效果啦,一般来说,如果没有重新设置过<leader>的话,就是\键。 截图如下: 转换前:

1

转换后:

2

当然,这个插件的官网上还提供了在线整理代码的功能,有兴趣的朋友可以去看一下: http://jsbeautifier.org/ OK,就到这里啦。 版权所有,转载请注明出处.https://www.vimer.cn

最后更新于 .

今天老婆在整理文档的时候希望能快捷的排版某些格式,无奈发现word并不能满足要求,所以就让我用Vim试一下。 问题如下:

1 加州大学伯克利分校 University of California Berkeley 
2 加州大学洛杉机分校 University of California Los Angeles 
3 威斯康星大学麦迪逊分校 University of Wisconsin Madison
4 康乃尔大学 Cornell University 
=伊利诺伊大学厄本那—香槟分校 University of Illinois Urbana Champaign
6 卡内基美隆大学 Carnegie Mellon University 
=斯坦福大学 Stanford University 
=芝加哥大学 The University of Chicago

上面的文字都是用空格隔开的,现在希望拆分成三列,即数字一列,中文一列,英文一列,中间用tab键隔开,因为这样拷贝到excel中的时候直接就是3列。

考虑的步骤如下 ...

最后更新于 .

呵呵,这里说的不是在终端中怎么用tabnew来打开一个新标签,而是说怎么在windows下,用gvim新打开的文件,会默认在gvim的标签页中打开。 这里主要有两种方法,其实原理是一样的(即gvim执行命令的参数是一样的),只是用windows的实现有些区别。

一.利用windows的发送到。

像emeditor之类的编辑器都会在安装之后默认在发送到里面添加自己的快捷方式,而vim是在右键菜单里面直接有一个用vim编辑,而为了不和这个默认的快捷方式冲突,我们就用这个发送到来实现我们想要的在标签页中打开新文件的功能。

1)开始->运行,输入sendto

2)在弹出的窗口中,单击右键,选择新建快捷方式。

3)在需要填入项目位置处(即gvim.exe的路径,以及执行参数),输入

"C:\Vim\vim72\gvim.exe" -p --remote-tab-silent "%*"

注意:需要在路径上加上引号,如默认的安装路径就是在C:\Program Files下,那么需要在路径上加上引号,即

"C:\Program FilesVim\vim72\gvim.exe" -p --remote-tab-silent "%*"

4)输入名字,Vim标签页

5)同时选中两个文件 ...

最后更新于 .

之前有用正则表达式写过一个重复两行压缩成一行的命令,今天我们来看一个讲重复多行压缩成一行的命令。 首先,我们先考虑怎么查出多个重复行。 有两种方法,但是有一种是有bug的,罗列如下:

1)

^\(.*\)\(\n\1\)\+$

2)

^\(.*\n\)\(\1\)\+

详细讲解一下:\+是代表匹配>1个,\1代表是前面的匹配,那么可以看出: 第1种方法是匹配了整个行(不包括换行符),然后加上\n\1,匹配\n\1 >1次,最后匹配到最后一个重复行行尾的换行符,从而匹配到所有重复行。 如图:

删除重复行1

第2种方法则是先匹配了整个行(包括换行符),然后匹配\1 >1次,最后匹配到所有重复行。 如图: 删除重复行2

但是实际上第二种匹配规则是有bug的,即假设最后一个重复行后面再也没有换行符的话,那么是匹配不到的,如图: 第一种方法:

删除重复行3

第二种方法:

删除重复行4

到此为止,既然查找的方法已经出来了,那么替换的方法也就有了

:%s/^\(.*\)\(\n\1\)\+$/\1/

OK,就到这里啦~~~ 

最后更新于 .

这个pdf是我同事的一次分享的,写的很诙谐有趣,但是又精准的抓住要害,突出了vim的优势和便利之处,所以就放在这里和大家分享一下,当然版权是归我同事所有啦~~ 唉,又要费我4兆的空间啊…… vim-hacks下载   转载请注明出处.https://www.vimer.cn

最后更新于 .

    开源文本编辑器Vim的作者Bram Moolenaar推出了新的编程语言Zimbu,一种不拐弯抹角直截了当的实验性编程语言。Moolenaar表示Zimbu集现有语言的优点于一身,同时避开它们的不足。Zimbu代码清晰易读,使用范围广泛——既能写OS kernel,又能写脚本,还能写大的GUI程序,可以编译和运行在几乎所有系统上。Zimbu代码托管在Google Code上,采用Apache License 2.0许可证。     这是前几天在晚上看到的一篇报道,后面也有了一些评论,无非就是一些诋毁之类的文字,发现大众除了乱喷之外还真是一点别人的优点都看不到~     说起来,因为这个我特地仔细的看了一下这位vim作者的介绍:居住在荷兰,从事开源软件的开发,大部分收入来自开源软件使用者的捐赠,还把大量的捐款送给了乌干达的孩子们。的确很厉害的一个人,我突然想起之前在一篇博客里看到的一段话,有的软件,不花钱你都懒得用,而有的软件,你会忍不住想捐赠作者来支持她的开发。而vim真的就是这样一款软件。     已经用vim 4年了,从大学开始一直到上班,写的代码越来越不一样,用的编辑器却从来没有变过。     我在努力,希望能在我成功的时候,亲自好好答谢我这位老朋友。 转载请注明出处.https://www.vimer.cn

最后更新于 .

给大家贴一张vim的键位图。

其实这种图片在网上也是盛传了,但是我个人觉得用vim而不是学vim,就连vim的作者本人都不赞成为了学vim而学vim,所以这张图就拿来参考就好啦,就不要去背啦,要不然会累死的~~当然用的多了,你会发现其实里面大部分按键你居然都用过了!

另外说一下,由于win下的gvim用了兼容win操作的键映射,所以和下面这张图不是很一样,可以在vimrc中把模拟win的映射去掉,这样以后迁到linux下办公也方便~~

转载请注明出处.https://www.vimer.cn