相信在linux下開發和工做的同窗必定都很喜歡vim,並且很是熱衷於用vim作一些有意思的事情,如用vim寫博客,尤爲是用來寫oschia的博客,osc上也有人專門爲此寫了博客指導咱們如何在osc中用vim寫博客,可是咱們在配置vim插件的時候,可能會遇到各類各樣的問題。當遇到問題的時候,若是咱們對vim插件沒有一些基本的瞭解,那麼面對這些問題的時候咱們可能就無從下手了。html
另外,使用vim插件還能夠作到不少你想作到的事情,好比在vim中利用插件直接發送osc的動彈(在博文最後有相關截圖)等等其餘十分有意思的事情,難道你不想開發一些屬於本身的vim插件嗎?python
經過本系列vim插件開發的文章,您將學會如何開發徹底屬於本身的vim插件,從而高度的定製本身的linux。linux
咱們本着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/
若是您對算法或編程感興趣,歡迎掃描下方二維碼並關注公衆號「算法與編程之美」,和您一塊兒探索算法和編程的神祕之處,給您不同的解題分析思路。