vim插件開發之helloworld插件

 

前言

相信在linux下開發和工做的同窗必定都很喜歡vim,並且很是熱衷於用vim作一些有意思的事情,如用vim寫博客,尤爲是用來寫oschia的博客,osc上也有人專門爲此寫了博客指導咱們如何在osc中用vim寫博客,可是咱們在配置vim插件的時候,可能會遇到各類各樣的問題。當遇到問題的時候,若是咱們對vim插件沒有一些基本的瞭解,那麼面對這些問題的時候咱們可能就無從下手了。html

另外,使用vim插件還能夠作到不少你想作到的事情,好比在vim中利用插件直接發送osc的動彈(在博文最後有相關截圖)等等其餘十分有意思的事情,難道你不想開發一些屬於本身的vim插件嗎?python

經過本系列vim插件開發的文章,您將學會如何開發徹底屬於本身的vim插件,從而高度的定製本身的linux。linux

helloworld.vim插件

咱們本着helloworld的原則,第一個vim插件的功能很是簡單,定義一個vim命令Helloworld,該命令的功能是打印 "hello,world"字符串。接下來咱們將介紹具體的開發步驟:git

[1]在~目錄或其餘任意目錄下新建一個文件,取名爲helloworld.vim,並用vim打開,輸入如下代碼:算法

function! Helloworld()
     echo "hello,world"
 
endfunction    
command! -nargs=0 Helloworld call Helloworld()

 

該代碼的功能很是簡單,只是定義了一個function Helloworld(),函數的功能也很是簡單echo "hello,world", 而後定義了一條vim命令Helloworld,該命令調用了剛纔定義的函數Helloworld()編程

關於上述有幾點須要注意的地方:vim

  • 函數名首字母必須大寫;函數

  • 自定義命令首字母必須大寫;測試

  • -nargs=0表示沒有命令行參數;spa

  • 插件的擴展名必須爲.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"。

結論

本文主要介紹瞭如何編寫helloworld vim插件,描述了編寫vim插件的基本流程,方便用戶編寫本身的插件,如此簡單,你還在等什麼,趕快自定義本身的vim插件吧。

接下來的一些文章咱們將會介紹,如何結合viml+python來開發咱們本身的vim插件,一步步的增強咱們的vim插件功能。若是你們有比較好的vim插件需求,歡迎留言。

如下是這些天開發的一個簡單的osc動彈插件:

下載地址:http://git.oschina.net/gschen-register/vim-plugin-oschina

README文件中有該插件相關的使用說明;

插件使用過程當中有任何問題,歡迎隨時@justin_cn或郵件聯繫gschen.cn@gmail.com;

 

後續插件開發示例

vim插件開發之python-helloworld插件 - 本博文主要介紹瞭如何結合python進行vim插件的開發

 

vim插件之osc動彈插件 - 一款能夠在vim中隨時發送osc動彈的vim插件,對於既喜歡vim又喜歡osc的同窗來講是很是不錯的插件哦

引用

-------

[1] http://brainacle.com/how-to-write-vim-plugins-with-python.html

[2] http://vim.wikia.com/wiki/Write_your_own_Vim_function

[3] https://www.ibm.com/developerworks/aix/library/au-vimplugin/

若是您對算法或編程感興趣,歡迎掃描下方二維碼並關注公衆號「算法與編程之美」,和您一塊兒探索算法和編程的神祕之處,給您不同的解題分析思路。

相關文章
相關標籤/搜索