Sublime에서 변수의 모든 인스턴스를 선택하고 변수 이름을 편집하는 방법


428

내 코드에서 변수 (문자열뿐만 아니라)를 선택하면 해당 변수의 다른 모든 인스턴스가 주위에 획 (흰색 윤곽선)을 얻습니다.

여기에 이미지 설명을 입력하십시오

변수의 모든 인스턴스를 선택하고 한 번에 모두 편집 할 수 있는 키보드 단축키가 있습니까?


내가 시도한 것 :

D, K그리고 U나에게 하나씩을 선택할 수 있습니다,하지만 난 수동이 아닌 가변 문자열 일치를 제외해야합니다 :

여기에 이미지 설명을 입력하십시오

그리고 CtrlG단순히 모든 문자열 일치 를 선택 하십시오 .

여기에 이미지 설명을 입력하십시오

Sublime은 변수와 문자열 일치를 구별 할 수 있습니다. 변수 일치 만 선택할 수있는 방법이 없습니까?

답변:


604
  1. 변수에 커서를 놓습니다.

    참고 : 열쇠는 빈 선택으로 시작하는 것입니다. 강조하지 마십시오. 단지 넣어 거기에 커서를.

변수의 텍스트 커서

  1. D필요에 따라 누릅니다 . Mac에 없습니까? 사용하십시오 CtrlD.

강조된 변수의 더 많은 인스턴스

작동하지 않습니까? 아무것도 선택하지 않은 상태 에서 시작 하십시오 .

더 많은 명령 :

모두 찾기 : CtrlG 모든 발생을 한 번에 선택합니다. Mac에 없습니까?AltF3

선택 취소 : U 뒤로 이동합니다. Mac에 없습니까?CtrlU

다음 빠른 건너 뛰기 : KD 다음 발생을 건너 뜁니다. Mac에 없습니까?CtrlKCtrlD

숭고한 문서


14
⌘ 란 무엇입니까, 비 MAC 키보드에서 어떻게합니까?
Bjarke Freund-Hansen

6
적어도 ST3에서는 다른 ⌘-D 명령없이 Ctrl-⌘-G를 수행 할 수 있습니다. 불행히도 메뉴에서 잘못 잘못 표시되었습니다!
watsonic

30
이것은 OP의 원래 질문에 대답하지 않습니다. 그는 구체적으로 물었다 variable (not just any string). 이것은 단순히 문자열의 모든 항목을 선택합니다.
Betjamin Richards

17
@BetjaminRichards 변수를 선택 (강조 표시)하지 않아야합니다. 커서를 변수 위로 이동 한 다음 ⌘D를 누르십시오. 또한 이것은 MattDMo의 답변 ( stackoverflow.com/a/16844924/483520 ) 과 정확히 관련된 문제 입니다.
놀란 에이미

2
@MuhammadUmer 경계를 고려하여 단어와 일치하는 모든 것. 진정한 변수 검색은 아니지만 단순한 문자열 일치보다 훨씬 좋습니다.
놀란 에이미

135

나는 Mac에 관한 질문을 알고 있지만 우분투에 대한 답변을 검색하기 위해 여기에 왔으므로 내 답변이 누군가에게 유용 할 수 있다고 생각합니다.

쉬운 방법 : AltF3.


10
여전히 foo가있는 모든 것을 선택합니다.
user1767754 2016 년

1
이 답변은 질문에 대한 것입니다 : stackoverflow.com/q/12162047/2270563 . 그러나 여기서 질문은 다릅니다. 모든 일치 항목이 아닌 변수 만 선택합니다.
Ram

4
@ user1767754 foo안에있는 것을 모두 선택하지 않으려면 이미 첫 번째를 선택하지 마십시오 foo. 대신 단어에 커서를 놓은 fooAlt-F3. Voila
Anwar

이 답변은 잘못되었습니다. foo강조 표시된 인스턴스 뿐만 아니라 모든 인스턴스가 선택 됩니다.
André C. Andersen

KDE에서 작동하지 않으므로 방금 { "keys": [ "alt + d"], "command": "find_all_under"}를 키 바인딩 파일에 추가했습니다 : Preferences> Key BIndings. Alt + D는 거기에 아무것도 충돌하지 않는 것 같습니다.
user1985553

47

많은 노력에도 불구하고, 당신이하려는 일을 할 수있는 내장 또는 플러그인 지원 방법을 찾지 못했습니다. 나는 완전히이 동의 해야 프로그램이 구별 수있는, 할 수 foo에서 buffoon처음을 강조 할 때, 그러나 아무도 그 일을하는 방법을 알고있는 것 같다.


그러나 다음은 Sublime Text 2에서 단어를 선택하는 데 유용한 주요 콤보입니다.

CtrlG-현재 단어의 모든 어커런스를 선택합니다 ( AltF3Windows / Linux에서)

D-현재 단어의 다음 인스턴스를 선택합니다 ( CtrlD)

  • K, D-현재 인스턴스를 건너 뛰고 다음 인스턴스 ( CtrlK, CtrlD) 를 선택합니다.
  • U- "소프트 실행 취소", 이전 선택 ( CtrlU)으로 이동

E, H-현재 선택을 찾기 및 바꾸기 ( CtrlE, CtrlH) 의 "찾기"필드로 사용합니다.


6
그러나 스트로크 만의 발생 주위에 표시되는 변수 이름 하면서, ⌘+D문자열의 모든 발생에 역할을합니다. 예를 들어, 내가 강조 표시 foo하면 숭고하게 모든 변수 foo를 쓰지만 fooeject_buffoon함수 에는 문자열 이 아닙니다 . 그럼에도 불구하고 위의 키 콤보 ⌘+K를 사용하면 eject_bufbarn기능 을 피하기 위해 문자열 일치를 수동으로 제거해야합니다 . 더 좋은 방법이 있어야합니다!
놀란 에이미

@ 놀란- 질문을 하고 누군가가 제안 사항이 있는지 확인하십시오. 한 가지 가능한 해결 방법은 선택하는 것입니다 foo_(foo는과 공간 그 후) 또는 _foo_(공간 이전과 이후 모두)을 누른 후, ⌘-D또는 Ctrl-⌘-D.
MattDMo

7
실제로 이것은 OP가 요구 한 정확한 질문이라고 생각합니다. 그는 구체적으로 " variable "( "text region"또는 "string"이 아님) 및 " stroke "( "highlighting"아님)를 말합니다. 그리고이 질문은 stackoverflow.com/questions/12162047/… 의 복제물 이 아닙니다 . "강조된 선택"이라고 말합니다. 또한, 물론, 자주 나타난다 , , ,과 , 그래서 꽤 만족스럽지 못하다. foo(foo)_foo,(foo,_foo}_foo_
놀란 에이미

21

이것은 나를 위해 일했습니다. 바꾸려는 단어의 시작 부분에 커서를 놓은 다음

CtrlK, CtrlD,CtrlD ...

원하는 단어를 원하는만큼 선택하면 대체 단어를 입력하면됩니다.


1
이것은 언급 된 답변과 별개로 나를 위해 일한 답변이었습니다. 좋은 !
Akash

이것은 질문에 대답하지 않습니다.
MD004

@ MD004 어떻게?
호브

@hobs 문제는 한 번에 "모든 인스턴스를 선택"하는 방법 입니다. 제목에있는 질문의 문구가 모호하다는 것을 인정할 것입니다. 그러나 나중에 OP는 솔루션을 설명하고 이것이 "하나씩 선택하지만 변수가 아닌 문자열 일치를 수동으로 제외해야한다고 말합니다. "불만족 스럽습니다. Btw, 이것이 만족스럽지 않은 시나리오의 예는, 바꾸고 싶은 단어가 1000 번 나오는 경우인데,이 경우 수동으로 선택하는 것이 옵션이 아닙니다.
MD004 18

1
아 알 겠어. 감사합니다. 이제 OP의 상황과 1000 회 발생 예에 대해 허용 된 답변이 훨씬 더 나은 이유를 알았습니다.
호브

12

마술은 빈 선택으로 시작해야하므로 커서를 다중 선택하려는 단어 / 문자 앞에 놓고 Ctrl+를 누르십시오 D.


2
이것은 단일 문자의 변수에 대한 답입니다. 다른 변수의 경우 시작하려는 변수의 아무 곳에 나 커서를 놓을 수 있습니다.
manish_s

이것은 Sublime 3에서 저에게 효과적이며 전체 파일이 아닌 함수 내에서보다 작은 영역으로 변경 사항을 제한하려는 경우 가장 간단한 방법입니다. 물론 macOS 용 Command-D.
Ryan H.

10

나에게 이것은 Sublime에서 가장 큰 실수입니다. Alt+ F3도달 / 기억하기 어렵고 Ctrl+Shift + 것은 G아무 의미 고려하지 않는다 Ctrl+를D "선택 옆에 인스턴스를 추가"입니다.

이것을 당신의 사용자 키 바인딩에 (환경 설정> 키 바인딩) :

{ "keys": ["ctrl+shift+d"], "command": "find_all_under" },

이제 무언가를 강조 표시하고 Ctrl+ Shift+를 누르면 D파일의 다른 모든 인스턴스가 선택에 추가됩니다.


1
이것은 실제로 원래 질문에 대답하는 유일한 대답입니다!
kmundnic

여전히 문자열과 설명을 선택합니다
Wassadamo

4

@watsonic 언급 맥 OS에 대한 숭고한 텍스트 3에서,로 시작하는 것을 빈 선택 단순히, G( AltF3대신, 트릭을 수행 Windows에서) D+ G숭고한 텍스트 2.


4

user1767754가 말했듯이 여기서 핵심은 처음에 선택하지 않는 것입니다.

변수 이름 안에 커서를 놓고 더블 클릭하지 마십시오. 단일 문자 변수의 경우 커서를 변수의 앞이나 끝에 놓고 처음에 선택하지 마십시오.

이제 다음 변수 선택을 위해 Cmd+ D를 누르고 , 모든 변수를 한 번에 선택하려면 Ctrl+ Cmd+ G를 계속 누르십시오 . 마술처럼 변수 만 선택합니다.


0

여러 파일에서 문자열을 바꾸는 방법을 찾는 동안 다른 사람 이이 질문을 우연히 발견 한 경우 Command+ Shift+F

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.