类别归档:Vim

RSS feed of Vim

最后更新于 .

最近不少朋友反馈博客中的代码格式不适于阅读,非等宽字符等等问题,为此今晚特意试用了几款wordpress的代码高亮插件,包括SyHi,coolcode,wp-syntax,无奈发现SyHi根本用不了,coolcode不支持vim语法,只有wp-syntax能够满足要求。

因此以后的文章中出现代码均会以如下格式展示:

function! SetBaiKeBuffer()
let bkbuffloaded=bufloaded("baike")
if !bkbuffloaded
    execute "sp baike"
    execute "normal \Z"
else
    while 1
        execute "normal \<c-w>w"
        let currBuff=bufname("%")
        if currBuff == "baike"
            execute "normal \Z"
            break
        endif
    endwhile

endif
endfunction

另外,我也重新修正了几篇访问量比较高的博文,将里面的代码用这种最新方式来高亮,效果会比原来好很多。如果有朋友觉得之前的哪篇文章格式需要修正,也可以直接在这里留言,我将尽快处理。

-------------------------------------------分割线------------------------------------------

列表如下:

VIM-一键编译单个源文件

把VIM打造成一个真正的IDE ...

最后更新于 .

最近心情不错,所以就卖力的为Vim多更新几篇吧~
写在前面:

    最近渐渐发现对Vim的强大有了更新的认识,以前Vim无非只是为了满足打字如飞的需求,然后是方便的写程序,最后是干什么都想在Vim里面。
    其实到了最后一步,Vim本身的概念已经被淡化了,他开始代表一个终端,或者叫做平台,一个你和外界交互的平台--不管是用来看《糗事百科》(参看本博插件),还是用来写twitter,或是用来收发邮件,Vim本身一直在履行一个平台的职责,而它与各种脚本语言的完美集成帮助他能够更好的完成与外界的交互。
    但是话说回来,这是有一个渐进的过程的。
    其实我并不推荐初学Vim就想把Vim打造的跟VS一样,那样你还不如去用VS。Vim最核心的理念是,你要用键盘,而不是鼠标。它让你打字如飞,让你效率成几倍的提高,这才是他最初始的功能。
    而之后的功能,实际上是Vimer们对Vim不断的要求而制作的。
    为什么需要那些功能呢?因为对Vim的依赖,最终你会依赖上这个编辑器,因为他几乎能做一切你想做的事情,是的,你可以写插件在Vim里面看邮件,可以写插件用Vim写twitter,甚至我看过Vim的像素播放器!
    OK,随便说几句,可能不一定对,但是只是基于我自己用Vim的经验而已。


好啦,进入正题,介绍一下这个用来写twitter的Vim插件-TwitVim
http ...

最后更新于 .

好吧,我承认我又无聊了---说白了就是在终端Vim中列出所有的256颜色,用来供配色方案选择。
废话不多说,先上截图如下:

1

哈哈,感觉还是不错吧,这样就可以慢慢选择啦。
下载链接:http://www.vim.org/scripts/script.php?script_id=3235
安装要求:

1.vim编译了python支持
2.机器上安装了python

调用方式:
把showcolor.vim放到plugin目录下,执行:

:call ShowColorTerm()

当然,上面这个命令是只准在终端下执行的,在gui下执行会报如下错误:

2

另外,插件也实现了gui下的颜色显示,截图如下:

3

调用方式:

:call ShowColor(0x00,0xFF,15)

三个参数分别是:起始颜色,终止颜色,每行颜色个数。
有3个参数的原因是,因为全部列出所有的配色是不可能的(即使用python,vim也会卡死),所以必须指定范围。

列出代码如下:

function! ShowColor(beginColor,endColor ...

最后更新于 .

相信沉迷于Vim(gVim)的朋友,都或多或少纠结于Vim(gVim)的配色,别人配置的永远感觉不完美,像我之前就用过desertex,wombat,等等配色,不过终究还是感觉不满意,总想自己修改一下,但自己配置起来又麻烦。。
之前在博客中有介绍过将gVim配色转化成终端配色的插件:
强烈推荐–将GUI配色转化为终端配色的VIM插件–gui2term.py

解决了gvim和vim配色一致的问题,这次介绍的插件colorsel.vim则是解决了可视化的选择配色,让调整配色变得更简单。
下载链接:http://www.vim.org/scripts/script.php?script_id=927

先上截图如下:

1

简单看一下介绍应该就能明白:
RGBHSV的数值是可配的,通过j、k实现选择,通过h、l、w、b来实现数值调整。
x可以将背景色分成上下两屏,进行对比,如图:

2

X可以切换调整前景色、背景色,
/可以输入自己定义的前景字符串,
f可以调整字符串的格式(正常、斜体、粗体、粗斜体)
如图:

3

y可以copy调整好的RGB值,
p可以粘贴从别处copy的RGB值 ...

最后更新于 .

很久没上vim官网,今天上去一看Vim7.3居然发布啦,看日期是8月16日发布的,看来还是晚了两天呀~~
马上下载下来尝鲜啦,担心有些朋友找不到,故放出下载链接如下:

ftp://ftp.vim.org/pub/vim/pc/gvim73.exe

界面没什么变化(都是自己配的色,肯定没变化嘛。。),看一下这个默认的编译支持如何:

1

看到了吗,看到了吗,Vim居然默认将python语言支持编译进去了,而且最兴奋的居然还支持python3!
不过兴奋之余,我发现了一个很严重的问题。。。那就是我的pyflakes和qiushibaike.vim都不能用了。。。Vim7.3默认要求的python版本居然是2.7,太潮了吧!
好吧,卸掉我心爱的python 2.6,去下载个python 2.7,结果再次感慨到gfw的伟大,官网的download页面居然被和谐了。。所幸找到ftp的下载地址:

http://www.python.org/ftp/python/2.7/python-2.7.msi

如果直接在浏览器下载不了 ...

最后更新于 .

这篇文章的东西可能比较杂,因为每个特性都不那么大,所以就揉在一起,倒是显得庞大了许多。

一.svn命令行在windows下面的安装使用
一直以来都使用svn管理源码,但是在windows下一直使用TortoiseSVN的界面进行管理,但是对于我这种键盘控(vim后遗症)来说,简直是无法忍受的!
搜啊搜啊搜啊,终于发现了-----CollabNetSubversion
下载页面:http://www.collab.net/downloads/subversion/
如果象我一样只需要命令行的话,下载CollabNet Subversion Command-Line Client v1.6.12 (for Windows)即可,网站需要先注册一下。
基本上安装完了,svn up、svn add就可以用了,但是svn ci的时候,你会发现如下提示:

svn: Commit failed (details follow):
svn: Could not use external editor to fetch log ...

最后更新于 .

前一段时间在博客中和fuadam讨论过python中调用print的时候,是否可以直接打印decode之后的字符的问题。(原文:python-django的中文编码总结)
一开始我的结论是,print只能打印encode的字符,不能进行decode,但是后来在直接执行python test.py(在vim中是!python %)后,发现确实能够正常打印,那我之前究竟是怎么看到错误的结果的呢?

首先,我们需要在vimrc中做如下配置来实现python的一键执行:

function CheckPythonSyntax()
    let mp = &makeprg
    let ef = &errorformat
    let exeFile = expand("%:t")
    setlocal makeprg=python\ -u
    set efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m
    silent make %
    copen
    let &makeprg     = mp
    let &errorformat = ef
endfunction

打开一个python文件,代码如下 ...

最后更新于 .

之前有朋友在博客里希望我能列出自己使用的所有Vim插件,一直没有时间,趁周末的最后的几个小时,就给大家列一下,大家可以实行拿来主义,取自己需要的,呵呵~ OK,一个个来说吧~~

plugin:

  • 编程相关:
    • 公共:
      • taglist 相信无人不知其大名,用来提供单个源代码文件的函数列表之类的功能。最近在使用一个针对面向对象语言的类似插件-tagbar.vim,也很不错。
      • NERD_commenter 提供快速注释/反注释代码块的功能
      • DoxygenToolkit.vim 添加doxygen注释
      • UltiSnips 提供超强的快速生成代码段的功能(超越snipmate)
      • mark.vim 给不同的单词高亮,表明不同的变量时很有用。(特别说明一下,vim.org上有两个Mark.vim,请使用链接中指向的那个,另外一个是有bug的)
      • authorinfo 自动生成/更新文件的作者信息(本博编写)
      • checksyntax  一个通用的语法检查插件,支持c,js,等等
      • Indent Guides 用来帮助缩进对齐的插件,需要的时候会很好用
    • c/c++:

最后更新于 .

最近一直在思考,如果又那么多需求需要在vim里面调试gdb,执行python文件,链接数据库,与其每一个都去用vim脚本实现,为什么不直接把终端所有操作接管呢?

然后我去了www.vim.org的首页,然后,我居然真的看到了这个插件:
Conque Shell
下载链接:http://www.vim.org/scripts/script.php?script_id=2771
这个插件目前的评分是 Rating 447/122, Downloaded by 1280 ,也就是差不多每个评分的人都是4分(Life Changing!),而我也是毫不犹豫的选择了这个选项。

废话不多说,先来上图,对,你没有看错,这真的是vim.
在vim中打开bash:

  bash  
在vim中连接mysql:

mysql
在vim中打开python解释器:

python

哈哈,怎么样~~,是不是真的很酷!,OK,还有两张图,我们在最后再贴出来。来看一下这个插件的详细信息吧

一.简介 ...

最后更新于 .

在vs中使用vim的映射已经不是什么新鲜事了,不过ViEmu $99的价格实在让人望而却步,但是现在好了,我们多了一个选择:

vsvim
主页:
http://visualstudiogallery.msdn.microsoft.com/zh-CN/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329

这个是以vs2010的标准插件形式存在的,所以也只支持vs2010.
废话不多说,先来看几张图:

 1

注意画红圈的地方(我好不容易才抓拍到的光标呀),用起来比较舒服的原因之一就是保持了和vim一样的块状光标(ViEmu就给改了),所以第一感觉还不错。

打开上面的config按钮,界面如下:

2

上图就是默认的样子。

我大体试了一下其模拟的按键,hjkl是没有问题的,G、gg、u也没有问题,但是zc、zo、C-R、之类的就都不能用了,命令行方面,试了一下:new、:e 之类貌似都不能用。

不过我觉得这样的确已经不错了,本身只是想要vim的按键方式而已,而且除了需要实时预览html的情况,我基本也不会用到vs……