为什么80%的码农都做不了架构师?>>>
相信在linux下开发和工作的同学一定都很喜欢vim,而且非常热衷于用vim做一些有意思的事情,如用vim写博客,尤其是用来写oschia的博客,osc上也有人专门为此写了博客指导我们 如何在osc中用vim写博客,但是我们在配置vim插件的时候,可能会遇到各种各样的问题。当遇到问题的时候,如果我们对vim插件没有一些基本的了解,那么面对这些问题的时候我们可能就无从下手了。 另外,使用vim插件还可以做到很多你想做到的事情,比如在vim中利用插件直接发送osc的动弹(在博文最后有相关截图)等等其他十分有意思的事情,难道你不想开发一些属于自己的vim插件吗? 通过本系列vim插件开发的文章,您将学会如何开发完全属于自己的vim插件,从而高度的定制自己的linux。
helloworld.vim插件
--------------------------------- 我们本着helloworld的原则,第一个vim插件的功能非常简单,定义一个vim命令Helloworld,该命令的功能是打印 "hello,world"字符串。接下来我们将介绍具体的开发步骤: [1]在~目录或其他任意目录下新建一个文件,取名为helloworld.vim,并用vim打开,输入以下代码:
function! Helloworld()
echo "hello,world"
endfunction
command! -nargs=0 Helloworld call Helloworld()
该代码的功能非常简单,只是定义了一个function Helloworld(),函数的功能也非常简单echo "hello,world", 然后定义了一条vim命令Helloworld,该命令调用了刚才定义的函数Helloworld() 关于上述有几点需要注意的地方:
- 函数名首字母必须大写;
- 自定义命令首字母必须大写;
- -nargs=0表示没有命令行参数;
- 插件的扩展名必须为.vim。
[2]插件开发完成之后,我们该如何使用刚才插件中定义的vim命令呢? 有两种方法可以调用: 1) 插件开发完成后,先通过vim命令:w保存文件,然后在该vim中输入命令:source helloworld.vim,最后再输入刚才我们定义的命令:Helloworld命令,这样我们就可以看到我们的结果"hello,world"字符 串了,通过这种方式定义的命令只有这一次有效,当文件关闭后,该vim命令就会失效,一般用于vim插件开发测试; 2)将helloword.vim放在~/.vim/plugin/目录下,放在这个目录下的目的是为了让这个plugin可以自动加载,当然你也可以放在任意位置,然后在~/.vimrc中添加如下命令:
source 你的vim插件位置,本示例为~/helloworld.vim
一个完整的示例为:
source ~/helloworld.vim
[3]定义好vim命令之后,我们用vim任意打开一个文件,并输入命令:Helloworld,是不是发现已经打印了我们的"hello,world"。 [caption id="attachment_1752" align="aligncenter" width="737"]
vim插件开发[/caption]
结论
------ 本文主要介绍了如何编写vim插件helloworld ,描述了编写vim插件的基本流程,方便用户编写自己的插件,如此简单,你还在等什么,赶快自定义自己的vim插件吧。 接下来的一些文章我们将会介绍,如何结合viml+python来开发我们自己的vim插件,一步步的加强我们的vim插件功能。如果大家有比较好的vim插件需求,欢迎留言。