[sublimetext2] Sublime Text에서 여러 커서로 다른 모든 줄을 어떻게 선택할 수 있습니까?

Sublime Text 2에서 다른 모든 (또는 홀수 / 짝수) 행을 즉시 선택하고 해당 행에 여러 커서를 배치 할 수 있습니까?

감사.



답변

  1. 찾기 : Ctrl+F
  2. 정규식이 아직 활성화되지 않은 경우 다음을 활성화하십시오. Alt+R
  3. 표현식을 입력하십시오 .*\n.*\n
  4. 모두 찾기 : Alt+Enter
  5. 왼쪽 화살표를 눌러 선택을 제거하고 커서 만 남겨 둡니다.
  6. 모든 홀수 라인의 시작 부분에 커서가 있습니다. 짝수 줄을 원하면 아래로 누르십시오.
  7. 파일에 따라 파일 맨 아래에 커서 하나가 누락 될 수 있습니다. 마우스를 사용하여 (damn!) 맨 아래로 스크롤하고을 누른 상태 Ctrl에서 누락 된 커서를 추가 할 위치를 클릭하십시오.

답변

당신은 쉽게 할 수 있습니다 :

  • 모든 라인 또는 전체 문서를 선택하십시오. Ctrl+A
  • 여러 선택기 추가 : Ctrl+ Shift+ L(및 Mac : Command + Shift + L)

편집하다 :


답변

숭고한 대체 라인을 선택하는 방법을 찾고있었습니다.

좋은 답변을 주신 Joe Daley에게 감사드립니다. 비록 정규식을 사용하면 파일 끝에 줄 바꿈이 없으면 파일의 마지막 줄을 선택하지 않는다는 것을 알았습니다.

나는 그 대답을 개선하고 싶었지만 지금은 위의 대답에 대해 언급 할만 큼 평판이 좋지 않은 것 같습니다.

정규식을 켠 상태에서 다음 검색 문자열을 사용한 다음 alt + enter를 누릅니다. 왼쪽 화살표가옵니다. 이것은 커서를 각각 다른 줄에 놓을 것입니다 (Joe Daley가 설명 한 것과 동일한 단계)

^.*\n.*$


답변

플러그인으로 시도해 볼 수 있습니다. Tools/New Plugin...

import sublime_plugin


class ExpandSelectionToOtherLinesCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.window().run_command("expand_selection", {"to": "line"})
        start_region = self.view.sel()[0]
        self.view.window().run_command("select_all")
        self.view.sel().subtract(start_region)

이 파일을에 저장하십시오 Packages/User.

그런 다음 해당 플러그인의 키 바인딩을 추가하십시오.

{ "keys": ["super+alt+l"], "command": "expand_selection_to_other_lines" }

이 명령은 다른 모든 줄을 선택합니다. 다른 줄을 선택한 경우 Split selection into lines명령 ( Mac의 경우 Ctrl+ Shift+ L, Cmd+ Shift+) L을 사용할 수 있습니다 .

everythnig를 하나의 바로 가기로 만들고 싶다면 다음과 같이 플러그인을 수정할 수 있습니다.

import sublime_plugin


class ExpandSelectionToOtherLinesCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.window().run_command("expand_selection", {"to": "line"})
        start_region = self.view.sel()[0]
        self.view.window().run_command("select_all")
        self.view.sel().subtract(start_region)
        self.view.window().run_command("split_selection_into_lines")
        self.view.window().run_command("move", {"by": "characters", "forward": False})

마지막 줄은 선택을 제거하기위한 것이며 선택한 줄의 시작 부분에 여러 개의 커서를 남겨 둡니다.


답변