답변:
다음 텍스트 플러그인은 파일의 모든 소문자를 대문자로 바꿉니다. 이 bash -c
호출은 큰 인수 입력에 작용하는 명령의 (흔하지 않은) 경우에 대한 유용한 예를 제공하기위한 해결 방법이었습니다. 일반적으로 파일 또는 표준 입력을 처리합니다.
자신의 명령을 사용하려면 첫 번째 Popen
인수 의 처음 세 목록 항목을 자신의 명령으로 바꾸십시오 . 마지막은 전체 버퍼 내용입니다.
import sublime, sublime_plugin, subprocess
def insert_output(view, edit):
r = sublime.Region(0, view.size())
try:
proc = subprocess.Popen( [ "bash", "-c", 'echo "$0" | tr [a-z] [A-Z]', view.substr(r) ], stdout=subprocess.PIPE )
output = proc.communicate()[0]
view.replace(edit, r, output)
except:
pass
class ReplaceWithOutputCommand(sublime_plugin.TextCommand):
def run(self, edit):
e = self.view.begin_edit()
insert_output(self.view, e)
self.view.end_edit(e)
메뉴 항목을 만들려면 이러한받는 다음과 같은 항목을 추가 Main.sublime-menu
의 User
패키지 :
{"command": "replace_with_output", "caption": "Replace with Output" }
전에:
후:
text_point
여기 또는 내 초기 답변에 도움이 될 수 있습니다 . 또한 viewport_position
유망 해 보입니다.