我習慣使用 Vim 編輯 Markdown 文件,一直存在一個痛點就是粘貼圖片很不方便。
前後對比
我以前常用的操作流程:
- 複製圖片/截圖;
- 在保存圖片對話框裡一層層點選保存路徑,輸入文件名保存;
- 回到 Vim 裡,手動輸入引用圖片的表達式。
第 2 步和第 3 步是比較痛苦的,尤其是文件路徑比較深的時候,可能要點選好幾次。
最近偶然發現的一個外國小夥寫的插件 md-img-paste.vim[1],能比較好地解決這個問題。現在的操作流程:
- 複製圖片/截圖;
- 在 Vim 裡輸入圖片相對路徑,自動保存圖片並插入引用圖片的表達式。注:也可以直接回車,會按默認規則生成文件名。
效果演示:
使用方法
安裝
這個插件沒有其它依賴,使用自己習慣的插件管理方式安裝就好。
比如我使用 Vundle[2],在 vimrc 裡添加如下內容,然後 :so $MYVIMRC 再 :PluginInstall 就好了。
<code>Plugin
'ferrine/md-img-paste.vim'
/<code>
配置
插件沒有給粘貼剪貼板裡的圖片的操作綁定默認快捷鍵,需要自己綁定一下,比如我是綁定到 i:
<code>autocmd FileType markdown nmap<
buffer
><
silent
><
leader
>i :call mdip#MarkdownClipboardImage()<
CR
> /<code>
另外還有兩個可選配置項:
<code>let
g:mdip_imgdir ='.'
" let g:mdip_imgname = 'image'
/<code>
- g:mdip_imgdir 對應圖片保存路徑前綴。我設置為了 .,然後總是輸入相對當前文件的路徑;
- g:mdip_imgname 對應圖片保存時的缺省文件名前綴,即粘貼圖片時,如果不輸入文件名直接回車,將保存為 _日期-時間.png 名稱的文件。
我的完整 Vim 配置文件託管在 GitHub[3],供參考。
It’s done, enjoy it.
- https://github.com/ferrine/md-img-paste.vim ↩︎
- https://github.com/VundleVim/Vundle.vim ↩︎
- https://github.com/mzlogin/config-files/blob/master/_vimrc ↩︎