2014-10-18 3 views
0

여러 문자 오프셋 범위를 강조 표시하기위한 숭고한 텍스트 3에 길/플러그인이 있습니까? 이상적인 기능은 다음과 같습니다. 문자 오프셋의 범위 (예 : 200-400, 5000-5300, 6400-6450)가 해당 범위를 강조 표시합니다.숭고한 텍스트 숫자 범위로 3 문자 오프셋 강조 표시

+0

나는 당신이 무엇을 요구하고 있는지 잘 모르겠습니다. 숫자, 하이픈 및 다른 숫자가있을 때마다 강조 표시 만 하시겠습니까? – MattDMo

+0

아니요, 일부 문자 범위를 입력 할 수 있기를 원하며 편집기에서 해당 범위를 강조 표시합니다. 예를 들어 길이가 1000 인 문서에 200-400을 입력하면 위치 200에서 400까지 강조 표시된 문자를 볼 수 있기를 원합니다. – CentAu

+0

좋습니다. 알겠습니다. 내가 무엇을 생각해 낼 수 있는지 보자. – MattDMo

답변

5

이 작업은 WindowCommand 플러그인을 사용하여 수행 할 수 있습니다. Tools -> New Plugin...로 이동하여 다음과 같이 내용을 바꿉니다 Packages/User/select_region.py (이것은 자동으로 디렉토리를 열어야합니다)로 PackagesPreferences -> Browse Packages...를 선택하여 연 디렉토리입니다

import sublime 
import sublime_plugin 

class SelectRegionCommand(sublime_plugin.WindowCommand): 
    def highlight_region(self, regions): 
     region_list = [] 
     if "," in regions: 
      for region in regions.split(","): 
       region_list.append(tuple(region.split("-"))) 
     else: 
      region_list.append(tuple(regions.split("-"))) 

     view = self.window.active_view() 
     view.show(int(region_list[0][0])) 

     for region in region_list: 
      begin = int(region[0]) 
      end = int(region[1]) 
      to_highlight = sublime.Region(begin, end) 
      view.sel().add(to_highlight) 

    def run(self): 
     message = "Enter offset range(s) to select, separated by commas:" 
     default = "0-100" 
     self.window.show_input_panel(message, default, self.highlight_region, None, None) 

이 파일을 저장합니다.

다음으로 플러그 인을 트리거하는 사용자 지정 키 바인딩을 만듭니다. 열기 Preferences -> Key Bindings-User하고 다음 줄을 추가 : 파일이 비어

{ "keys": ["ctrl+alt+shift+s"], "command": "select_region" } 

경우, 대괄호 [ ] 바인딩 키를 둘러싸고 있습니다. 파일을 저장하면 모든 설정이 완료됩니다. Ctrl 키Alt 키시프트S을 명중하면 문자 오프셋을 입력 할 수있는 창 하단에 입력 패널을 가져올 것이다. 공백을 포함하지 않기 때문에 귀하의 의견은 다음과 같이한다하십시오 :를 입력

히트, 당신이 입력 한 영역이 선택됩니다

편집

보기가 beginni로 스크롤되도록 코드를 약간 변경했습니다. 입력 된 첫 번째 영역의 수 (화면의 중앙에 위치해야 함). 어떤 이유로 든 기능을 사용하지 않으려면 view.show(int(region_list[0][0])) 행을 주석 처리하십시오 (14 행).

+0

에는 파일에서 강조 표시되는 첫 번째 인덱스로 점프하기 위해 추가 할 수있는 두 줄 또는 두 줄이 있습니까? – Rambatino

+0

@Rambatino 내 편집을 참조하십시오. – MattDMo

+0

당신은 별이야, 고마워! – Rambatino

관련 문제