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