Upload
chun-yu-tseng
View
323
Download
0
Embed Size (px)
Citation preview
【台北拍限定版】哎哎呀呀 JOE 上⼿ VIM PLUGIN ⼼得
➤ 著重在 故事
➤ 短分享: 15 分鐘
➤ 以概念為主
➤ 省略與 Python 無關的部分 幾乎就是全部
➤ 有 Live Demo
➤ 免責聲明
➤ 聽完演講後,開始寫 Vim Plugin 還是會「哎哎呀呀」
如何查找 PYTHON CODE
➤ 使⽤「*」、「?」
➤ 向後、向前搜尋
➤ ⽤外部指令 grep, ack 直接看,或串結果到 Vim
➤ ack -f proxy . | xargs -o vim
如何查找 PYTHON CODE
➤ 使⽤「*」、「?」
➤ 向後、向前搜尋
➤ 使⽤ Jedi / Rope 來達到 Go To Definiton
➤ 路徑沒設對時會有點兩光
➤ 使⽤ Ack.vim 來做搜尋
➤ 蠻好⽤的
STEP 2: 學⼀點(︖) VIMSCRIPT
➤ 不⼩⼼就失控讀完整本 Learn Vimscript The Hardway
➤ Vimscript 提供的 API 跟 Python 頗像,但是超雷
➤ 超雷
➤ 超雷
➤ 超雷(請移駕本週末的台南拍聚會)
➤ 然後整理⾃⼰的亂放了三年以上的 .vimrc
➤ 不知不覺就過了⼀個⽉惹 😗
STEP 3: 參考別⼈是怎麼實作類似的功能
➤ 到 github 上去看 Ack.vim 怎麼寫
➤ 原來只要把 grepprg 跟 grepformat 設定好,呼叫外部 Command 後 Vim 就會⾃動 parse 結果
STEP 4: (認真地)評估與設計
➤ 確保⾃⼰寫的 Plugin 能夠滿⾜⾃⼰的需求
➤ 也可以滿⾜⼀部份其他⼈的需求
➤ 做⼀些 Prototype 讓⾃⼰感覺⼀下成品的感覺
➤ 也決定在 Plugin 基本功能完成後,會加上「選單」以⽅便其他⼈操作
接下來
➤ 繼續補 Readme
➤ 調整 Menu 跟 Keybindings
➤ 把 Options 寫活
➤ ⽀援 Javascript/Ruby/Go …
➤ 加強 Async 的部分
➤ Vim 8 ???
➤ 發 PR 給 CodeQuery
➤ 跪求測試 and 給讚!