Sublime Text에서 markdown을 쓸 때 그림을 직접 붙일 수 없는 문제 해결

2438 단어 SublimeText3
작업이 필요하기 때문에 각종 보고서를 자주 써야 하기 때문에 Markdown을 사용하면 매우 편리하고 텍스트 편집기를 사용하면 쓰기 시작할 수 있으며 PDF 파일을 자동으로 생성하여 조판 효과가 통일된다.
예전에는 VS 코드로 작업할 때 캡처가 필요했고 플러그인에 맞추어 MD를 쓰는 것이 편했다. 그러나 VS 코드의 시작 속도와 SB,Notepad++의 텍스트 편집기는 한 단계 차이가 났다. 한동안의 발버둥 끝에 주력 텍스트 편집기를 Sublime Text3로 바꾸기로 결정했다. 그러나 사용하다 보니 MD를 쓰는 플러그인은 이미지 처리에 매우 나쁘다. 이른바 이미지 삽입 기능이라는 것을 발견했다.단지 "![]()"문자열을 삽입할 수 있다고 말했을 뿐, 나머지는 네가 직접 써야 한다.세상에.너무 번거로워요.
다른 사람이 안 되면 내가 직접 쓸게.
목표는 VS 코드와 마찬가지로 그림을 클립보드에 복사한 다음에'단축키'로md 파일의 이미지 디렉터리에 자동으로 저장하고 날짜에 따라 배열하여 이름을 짓고 하자고 하면 하는 것이다. 그 결과 클립보드는 어려운 문제였다. Sublime Text 3는 텍스트 클립보드만 지원한다. 그림 클립보드를 만들려면python은 제3자 라이브러리를 설치해야 한다. 어떻게 제3자 라이브러리를 Sublime Text 3의python 환경에 설치합니까?못해!
생각을 바꾸다
1. 캡처 소프트웨어로 캡처하여md 파일과 같은 디렉터리의 이미지 서브 디렉터리에 자동으로 저장하고 플러그인을 작성하여'단축키'를 누르면 최신'이미지/xx.jpg'를 문서에 기록합니다.
2. 텍스트 클립보드를 감시하고'단축키'를 누르면 그림 파일의 접미사 이름이 자동으로 사용됩니다![xxxxx] (xxxx) 문서를 삽입합니다.그 결과 이 sb3의 클립보드는 매우 시원해서 파일을 지원할 수 없다. 자, 이전의 사고방식만 실현할 수 있다.
하자고 하면 하고 코드를 바로 붙이다
import sublime
import sublime_plugin
import sys
import os


class SaveImage(sublime_plugin.TextCommand):
	flist=[]
	path = ""
	def on_done(self, id):
		if(id < 0):
			return
		print(self.flist[id])	

	def run(self, edit):
		# self.view.insert(edit, 0, "")
		full = self.view.file_name()
		print("full", full)
		[p,f] = os.path.split(full)
		print("p", p)
		print("f", f)
		#      

		clipf = sublime.get_clipboard()
		print("clipf", clipf)
		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("image", f1)
					mtime=mtime1
			self.flist = files
			self.path = root
		for regoin in self.view.sel():
			self.view.insert(edit,regoin.begin(),"![%s]()"%lastfile)
		# self.view.show_popup_menu(self.flist, self.on_done)

Sublime Text3은 Packages 디렉토리에 저장됩니다. 자신의 이름은 같은 디렉토리이고 이름은 같은 디렉토리입니다.py
테스트 실행
view.run_command("save_image")
바로 가기를 바인딩하면 됩니다.

좋은 웹페이지 즐겨찾기