Sublime Text에서 markdown을 쓸 때 그림을 직접 붙일 수 없는 문제 해결
예전에는 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")
바로 가기를 바인딩하면 됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
초용 T4개발 과정에서 우리는 싱크로율이 높은 코드를 많이 쓴다. 이런 코드를 쓰는 것은 규칙적이다. 예를 들어 우리는 데이터 테이블에 따라 실체 클래스를 생성한다.EF처럼 테이블에서 실체 클래스를 자동으로 생성한다. 만약에...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.