用 Vim 編輯 Markdown 時直接粘貼圖片

我習慣使用 Vim 編輯 Markdown 文件,一直存在一個痛點就是粘貼圖片很不方便。

前後對比

我以前常用的操作流程:

  1. 複製圖片/截圖;
  2. 在保存圖片對話框裏一層層點選保存路徑,輸入文件名保存;
  3. 回到 Vim 裏,手動輸入引用圖片的表達式。

第 2 步和第 3 步是比較痛苦的,尤其是文件路徑比較深的時候,可能要點選好幾次。

最近偶然發現的一個外國小夥寫的插件 md-img-paste.vim1,能比較好地解決這個問題。現在的操作流程:

  1. 複製圖片/截圖;

  2. 在 Vim 裏輸入圖片相對路徑,自動保存圖片並插入引用圖片的表達式。

    注:也可以直接回車,會按默認規則生成文件名。

效果演示:

使用方法

安裝

這個插件沒有其它依賴,使用自己習慣的插件管理方式安裝就好。

比如我使用 Vundle2,在 vimrc 裏添加如下內容,然後 :so $MYVIMRC:PluginInstall 就好了。

Plugin 'ferrine/md-img-paste.vim'

配置

插件沒有給粘貼剪貼板裏的圖片的操作綁定默認快捷鍵,需要自己綁定一下,比如我是綁定到 <leader>i

autocmd FileType markdown nmap <buffer><silent> <leader>i :call mdip#MarkdownClipboardImage()<CR>

另外還有兩個可選配置項:

let g:mdip_imgdir = '.'
" let g:mdip_imgname = 'image'
  1. g:mdip_imgdir 對應圖片保存路徑前綴。我設置爲了 .,然後總是輸入相對當前文件的路徑;
  2. g:mdip_imgname 對應圖片保存時的缺省文件名前綴,即粘貼圖片時,如果不輸入文件名直接回車,將保存爲 <前綴>_日期-時間.png 名稱的文件。

我的完整 Vim 配置文件託管在 GitHub3,供參考。

It’s done, enjoy it.


  1. https://github.com/ferrine/md-img-paste.vim ↩︎

  2. https://github.com/VundleVim/Vundle.vim ↩︎

  3. https://github.com/mzlogin/config-files/blob/master/_vimrc ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章