标签归档:vi

RSS feed of vi

最后更新于 .

由于工作需要,所以最近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 ...

最后更新于 .

公司开发机Linux上的Vim一直不支持多字节支持(:set fenc ,用这个命令就可以知道是否支持),导致在终端下的vim对中文的显示总是有问题(而且对于汉字,要按两次键才能移动过一个汉字)。 所以从新编译了一下,简单把编译的过程写在这里: 从www.vim.org上下载vim-7.2.tar.bz2 执行

tar zxvf vim-7.2.tar.bz2

注:后发现有误,tar zxvf  无法直接解压bz2,不过可以现在windows下用winrar或者7z解压。 进入vim72目录,执行(特别注意:所有的命令的操作用户,请保证是root权限,以免出现目录创建不了的错误

./configure --prefix=/usr/vim --enable-multibyte --with-features=huge
make && make install

对参数简单说明一下:

--enable-multibyte选项使vim可以支持使用多字节编码字符集的文件。
--with-features=huge 最大特性支持

这样vim就安装上啦,如果公司上有多个vim ...

最后更新于 .

网上的一张VIM的使用图,觉得不错就贴在这里(并无盗用之意,只是实在不知道出处是哪),看看各位VIMER们能看出他是怎么实现的不?

code_complete

呵呵,相信Vimer们就心照不宣啦~~我只吐个槽-----那就是,配色是desertEx,嘿嘿

最后更新于 .

前几天,依云兄在我博客上推荐了一款插件gui2term.py,用了之后立马叫好,苦于一直没有时间,所以今天特意推荐一下。

这款插件实现了将gvim的配色转化成终端配色的解决方案。下载链接

相信不少朋友和我一样,需要在windows和终端下同时工作,而工具都是vim,所以,保持配色的相同就显得非常重要啦!

我们拿著名的desert配色来测试一下:

1.把desert.vim改成 test.vim,和gui2term.py放到同一目录。打开test.vim,将let g:colors_name="desert" 改为 let g:colors_name="test",并删除掉它的终端配色。

2.将vim根目录下的rgb.txt放到和gui2term.py同一目录。

3.执行./gui2term.py test.vim test2.vim

4.打开test2.vim,将会发现终端配色代码已经生成啦

code_color

放最终效果图 windows下gvim:

desert_gui

xshell下vim:

desert_x

好吧,我甚至觉得xshell下的vim要比windows下的gvim好看…… ...

最后更新于 .

新年伊始,首先祝大家新年快乐~~ 今天和朋友看了一下flash对3D的支持,需要用到扩展名为.as的actionscript文件(虽然我暂时确实不知道怎么写它……),于是就尝试着用vim来编辑它。 首先,下载actionscript着色文件:actionscript.vim,放到syntax目录下。然后打开一个.as文件。 结果事与愿违,由于atlas和actionscript都可以用as扩展名,而vim却将.as文件认做是atlas文件,所以着色完全不对。解决方法有三,其中第三种是最好的,但是作为思路,还是3中方案全部记录在这里:

1.修改filetype.vim文件 在vim72目录下有一个filetype.vim文件,找到

Atlas au BufNewFile,BufRead *.atl,*.as  setf atlas

   

修改为

au BufNewFile,BufRead *.atl  setf atlas 
au BufNewFile,BufRead *.as  setf actionscript

这样就可以了。

---------------------------------我是华丽的分割线---------------------------------

在说明后两种方法之前 ...

最后更新于 .

最近准备已久的模板载入插件 load_template 终于搞定了,现在正式放出下载大家使用.www.vim.org上已经放出了下载链接,如下: http://www.vim.org/scripts/script.php?script_id=2957 注:不好意思,由于之前我的疏忽,部分在vimrc中的变量没有放到插件中,已经修正,在www.vimer.cnwww.vim.org均可下载 就不多废话了,直接把写的中文介绍文档贴到这里啦

1.简单介绍     

该插件主要实现了自动载入各种模板的功能(如类模板,html模板,makefile模板等等),并且支持动态模版的功能,即能够通过脚本动态的实现文件名,类名的替换。(默认已经提供了简单main函数模板、单体类模板、html标准模板、xml标准模板)

2.使用说明     

1)下载load_template.vim插件,并放在plugin的目录下 ...

最后更新于 .

各位在终端下用vim的朋友们~~我想我绝对给大家带来了一个福音~~哈哈 想必每个人都受不了终端下vim那阴暗、简陋的配色吧,而且就算用 :color xxx 来选择那些支持终端配色的配色方案也不能改变什么,是不是很郁闷?! 先给大家上个图,哈哈,感觉怎么样? zhongduan

(注:请尽量在XShell或者putty下使用,secureCRT由于自身颜色显示问题不是很完美,但也是可以用滴!~) 嗯嗯,其实很简单啦,只需要在vimrc中配置上这样一句话,来指定配色方案是256色就可以啦

set t_Co=256

这个配色方案的名字叫 darkburn.vim ,他的配色在windows下gvim的表现并不怎样,但是在终端下的表现反而非常出色,大家可以去试试哦 版权所有,转载请注明出处.https://www.vimer.cn

最后更新于 .

最近正在忙着做一个新的vim插件,功能可以说是完全为技术用家准备的,当然非技术用户也可以非常好的使用,代码已经写完了,中文介绍文档也已经ok了,剩下的就是老婆大人那边帮忙翻译出英文版的啦~ OK,废话不多好,为了过几天就会端出来的正餐,今天先给大家一些小甜点吧 今天主要是想实现在cpp文件中,自动添加.h文件的引用. 即在一个class1.cpp中,能够自动的添加一行代码

#include "class1.h"

其实这个功能可以说是很简单了,但是习惯偷懒的我,确实忍受不了每次都要去写一遍代码: vim脚本如下(特别说一下,有朋友反映我的vim脚本代码总是不高亮,结果换成高亮的html代码之后,总是保存出现问题,郁闷了,看样子还是继续调整一下):

function InsertIncludeFileI()     
    let sourcefilename=expand("%:t")     
    let outfilename=substitute(sourcefilename,'\(\.[^.]*\)$','.h','g')     
    call setline('.','#include "'.outfilename.'"') 
endfunction 
imap <c-b><c-h> <ESC>:call InsertIncludeFileI()<CR> 
function InsertIncludeFileN()     
    let ...

最后更新于 .

好吧,我承认,我完全是为了让ctags每天固定时间点帮我给vim生成tags文件……
crontab说明 :

crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

参数 :

crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。

时程表的格式如下 :

f1 f2  f3 f4  f5 command
分 时 日 月 周 ...