sublime Markdown 圖片直接復(fù)制

需求

sublime 相對VScode有更快的啟動速度,這一點是我比較偏愛sublime的原因。 使用sublime編輯markdown的時候,有時候需要頻繁插入截圖,但是剪切板中的截圖不能直接拷貝到文本中,造成markdown插入圖片很麻煩。
有一種想法:截圖自動保存在本地某一個位置,sublime插件自動找到剛剛獲取的截圖位置,修改為
的markdown圖片形式自動插入到編輯文本中。
幸運的是,有人已經(jīng)做過這件事情了 https://blog.csdn.net/darkread/article/details/79682380

實現(xiàn)

sublime自定義python插件的方法看這里,介紹相當(dāng)詳細(xì)了
http://www.itdecent.cn/p/e2558ee1d503
python腳本主要拷貝自https://blog.csdn.net/darkread/article/details/79682380
,此腳本注意以下幾點:

  1. 腳本讀取當(dāng)前編輯文件的所在目錄下的/image子文件夾,意味著應(yīng)該把全部截圖都放在這里
  2. 圖片文件的選擇根據(jù)編輯時間,腳本自動選擇最近編輯的文件。
    腳本:
import sublime
import sublime_plugin
import sys
import os

class SaveImage(sublime_plugin.TextCommand):
    def run(self, edit):
        full = self.view.file_name()
        print("hello world")
        print("full", full)
        [p,f] = os.path.split(full)
        print("path", p)
        print("file",f)
        # 獲取剪切板 獲取不到圖片 不使用
        clipf = sublime.get_clipboard()
        for root,dirs,files in os.walk(os.path.join(p,"image")):
            print("root", root)
            print("dirs", dirs)
            print("files", files)
            mtime=0
            lastfile=""
            for f1 in files:
                (main,ext) = os.path.splitext(f1)
                print("ext",ext)
                if ext and ext.lower() not in [".jpg",".png",".gif",".bmp",".jpeg"]:
                    continue
                mtime1 = os.path.getmtime(os.path.join(root,f1))
                if mtime < mtime1:
                    lastfile = os.path.join(p,"image", f1)
                    mtime=mtime1
            self.flist = files
            self.path = root
            for regoin in self.view.sel():
                self.view.insert(edit,regoin.begin(),"![%s]()"%lastfile)

保存文件名應(yīng)該和類相同,ctrl + s就可以自動選擇sublime的插件目錄,文件名為SaveImage.py
ctrl + ` 調(diào)出sublime自帶的python解釋器命令行界面,輸入

view.run_command("save_image")

可進(jìn)行測試,注意到和命令參數(shù)為文件/類名稱的下劃線風(fēng)格命名。
設(shè)置快捷鍵

{ "keys": ["shift+ctrl+command+p"], "command": "save_image"}

就可以在輸入上述快捷點的時候插入圖片(快捷點設(shè)置為個人喜好)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容