Last active
October 14, 2015 13:33
-
-
Save pi314/0f99d91f7ff5f1ae61cf to your computer and use it in GitHub Desktop.
The slide needs slide.vim plugin to play
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
=============== | |
Vim Plugin 簡介 | |
=============== | |
如何自幹一個 Vim Plugin | |
(我猜 10 分鐘就會結束了) | |
池昌言 pi314 拍拍 | |
CCCA x SITCON 定期聚 @ 2015/10/14 | |
---- | |
<hide> | |
=============== | |
Vim Plugin 簡介 | |
=============== | |
# 在場有沒有人用過 Vim? | |
# 有沒有人喜歡用 Vim? | |
# 有沒有人自己調過設定檔? | |
# 有沒有人嘗試過 Vim,但因為太難而感到挫折? | |
================= | |
Vim Plugin 能幹嘛 | |
================= | |
# 提供一些 Key Mapping,幫使用者處理複雜的操作 | |
# 提供一些指令,幫使用者處理複雜的操作 | |
# 管理其他 Plugin(例如 Vundle) | |
# 管理自己的行事曆 | |
# 查 Yahoo! 字典 | |
# 在 Vim 裡面嵌入一個嘸蝦米輸入法引擎 | |
# 在 Vim 裡面輸入盲人的點字(?) | |
# 拿來放 slide(?) | |
======================= | |
如何寫自己的 Vim Plugin | |
======================= | |
# 基本上 Vim Plugin 就只是幫你做苦工 | |
# 想像「如何閉著眼睛用 Vim 做某件事」 | |
# normal! gg | |
# normal! dd | |
# let l:line = getline(".") | |
# call setline(".", "XDDD") | |
======================= | |
如何寫自己的 Vim Plugin | |
======================= | |
# 把檔案放成這樣的目錄結構 | |
# filetype.vim | |
# ftplugin/ | |
# plugin/ | |
# autoload/ | |
# README.rst | |
# 剩下的交給 Vundle 處理 | |
=============== | |
範例:zdict.vim | |
=============== | |
# zdict 是個能查字典的 Command Line Tool | |
# 目標:把 zdict 執行的結果顯示在 vim 裡面 | |
# :r !zdict test | |
# 完成! | |
# 但一點也不好用:( | |
=============== | |
範例:zdict.vim | |
=============== | |
# 基本的設計 | |
# 字典是輔助的資訊,不應該影響到使用者的操作方式 | |
# 獨立一個 Split 顯示,並且要在畫面的右邊 | |
# 留 80 個字元寬度(不含左方的行號)給使用者 | |
# Talk is Cheap, Show Me the Code! | |
# 產生一個 Split: vnew | |
# 把 Split 移到右邊: normal! "\<C-w>L" | |
# 設寬度: vertical resize 20 | |
# 抓 zdict 的輸出: r !zdict test | |
# 要注意你的游標現在在哪裡 | |
# Demo - zdict.vim | |
============== | |
好快就到的結語 | |
============== | |
# Vim Plugin 其實滿好玩的,特別是寫給自己的 Plugin | |
# 給曾經遇到挫折的人,或是將要遇到挫折的人: | |
# Vim 是真的不好調 | |
# 別聽 Vim 信徒說「不要用方向鍵~ 要用 hjkl blablabla」 | |
# 自己用得順手就好,想要更快自然就會去學各種技巧 | |
# 不需要去看「如何把你的 Vim 做成一個強大的 IDE」 | |
# 那樣會把你的 Vim 搞得很亂 | |
# 自己有什麼需求再加就好 | |
# 前提是你得知道自己「想要」什麼 | |
============== | |
好快就到的結語 | |
============== | |
# 給想要寫自己的 Plugin 的人: | |
# **注意安全** | |
# Vim Script 不是很好的語言 | |
# 如果寫得不開心,至少有八成不是你的問題 | |
# 寫 Plugin 不難,寫出好的 Plugin 很難 | |
# 但不管怎樣爽就好 | |
# **記得寫註解** | |
# 歡迎來 CCCA 交流、問問題、或是教我們XD | |
# Vim 的知識太多、太碎,一大堆莫名奇妙的 Option | |
# 和別人討論是最快能獲得它們的方式 | |
===== | |
PHONY | |
===== |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment