需求
emacs下用org-mode做筆記,寫文章的時候經常需要插入圖片或者截屏,鍵盤一個字母一個字母地輸入引用太麻煩,有沒有更好的解決方案
看了好久,最後找到了emacs的這樣一個插件:org-download
它可以現實以下功能:
- 通過鼠標拖拽圖片到emacs裏,實現圖片插入
- 通過綁定的快捷鍵激活外部截屏工具,以鼠標選定截屏區域,選好後直接插入截圖
GitHub上有源碼
https://github.com/abo-abo/org-download
README有使用說明,但是GitHub上的使用說明實在是太簡略,我整了好久才搞明白
環境說明
- 操作系統: Linux(Manjaro)64位
- emacs: spacemacs/emacs26.2
- 模式:org-mode(必須啓用org-mode模式)
- 外部截圖軟件:screenshot(必須是命令行截屏工具)
配置
第一步:emacs安裝org-download插件
emacs怎麼安裝插件的就不說了
第二步:配置org-download
官網提供的配置非常簡潔:
(require 'org-download)
;; Drag-and-drop to `dired`
(add-hook 'dired-mode-hook 'org-download-enable)
上面的配置僅能實現鼠標拖拽插入圖片的功能,
另外我們還希望在編輯的時候直接一鍵截屏,然後插入文檔中,故又加入了快捷鍵截屏的功能:
(use-package org-download
:ensure t
;;將截屏功能綁定到快捷鍵:Ctrl + Shift + Y
:bind ("C-S-y" . org-download-screenshot)
:config
(require 'org-download)
;; Drag and drop to Dired
(add-hook 'dired-mode-hook 'org-download-enable)
)
通過以上配置我們把截屏的功能綁定到了快捷鍵:Ctr + Shift + Y上,
這樣我們在寫博客的時候臨時需要截屏只需要按下Ctr + Shift + Y即可。
- 截圖保存的圖片名稱:時間戳+截屏軟件名稱.png
- 截圖保存的圖片路徑:以org文檔的最外層標題爲目錄名,保存的org文檔的同級目錄下,如果不存在則創建
另外截屏存儲路徑,及文件名什麼的都可以配置,我試了下,比較雞肋,很不靈活,想看的話可以仔細看下他們的官方文檔。
關於外部截圖軟件的說明
org-download插件截屏的時候依賴外部截圖軟件
該外部截圖軟件必須是命令行截圖工具,
與我們常用的QQ截圖工具啊什麼的是不一樣的,
什麼是命令行截圖工具呢?
就是通過執行一個命令就可以直接調用截屏
org-download默認依賴的命令行截屏工具如下:
- Windows:imagemagick/convert;
- Linux:gnome-screenshot, scrot, gm, xclip;
- MAC:screencapture
看GitHub裏用戶提的issues,好像除了默認支持的命令行截屏工具外,其他的有兼容性問題,比較這個插件也是個人開發的,
不過默認支持的已經包含了最流行,最常用的命令行截屏工具了,
我用的是Linux,外部截圖軟件是系統自帶的,Windows的話估計得另外裝,MAC不知道。