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


162

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

감사.


5
답을 받아들이고 싶지 않습니까?
마틴 토마

답변:


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

83
당신은 또한 사용할 수 있습니다 (.*\n){10}매 10 개 라인
조 데일리


3
좋은! @zessx의 (.*(\n|$)){2}솔루션은 마지막 라인을 포함합니다
woojoo666

3
참고로 OS X 10.11.5에서 실행되는 Sublime 2에서 RegEx 검색의 단축키는 Alt + Command + R입니다. Command + F를 누르고 다음과 같은 아이콘을 클릭하여 RegEx 검색을 활성화 할 수도 있습니다. *]
lustig 2016 년

97

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

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

편집하다 :


12
이 질문에 대한 정답은 아니지만 이것이 내가 원하는 것입니다. 공유해 주셔서 감사합니다
Rajani Karuturi

위대하고 간단한 힌트!
filip

5
이 솔루션은 내가 필요하지만 OP가 원하는 것이 아닙니다.
shriek

13

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

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

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

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

^.*\n.*$

7

플러그인으로 시도해 볼 수 있습니다. 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})

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


1
와우, 이것이 유망 해 보인다-나는 가능한 빨리 이것을 시도 할 것이다!
user2136580

대단히 감사합니다! 나는 플러그인을 처음 접했다. 재미 있어야합니다. 다른 모든 라인을 선택할 수 있기 시작하면 환상적입니다. 건배!
user2136580
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.