여러 줄을 편집하는 IntelliJ IDEA 방법


113

TextMate에서이 작업을 수행 한 것을 보았고 IDEA에서 수행 할 수있는 방법이 있는지 궁금합니다.

다음 코드가 있다고 가정합니다.

 leaseLabel = "Lease";
 leaseLabelPlural = "Leases";
 portfolioLabel = "Portfolio";
 portfolioLabelPlural = "Portfolios";
 buildingLabel = "Building";

모든 줄에 '+ "foo"'를 추가하는 가장 좋은 방법은 무엇입니까? 줄이 오른쪽에 올바르게 정렬되지 않았기 때문에 열 모드가 작동하지 않습니다 ... 텍스트를 오른쪽 정렬하는 쉬운 방법이 없다면 : P


에디터에 특별한 모드가 있어도 어떻게 사용하는지 기억이 나지 않을 정도로 자주해야하는 작업입니다. 위와 같이 몇 줄만 사용하는 경우 클립 보드를 사용합니다. 수백 줄이면 찾기 / 바꾸기 가젯으로 이동합니다.
Michael Burr

열 모드에서 맨 왼쪽에 5 개의 커서를 만듭니다. 그런 다음 Ctrl-RightArrow를 사용하여 오른쪽으로 이동합니다. 다중 커서, 매크로 및 검색 바꾸기는 모두이 작업을 수행하는 멋진 방법입니다! 내가 가장 좋아하는 것을 결정할 수 없습니다.
다니엘 Alexiuc

Macbook의 경우 Option + Shift + Click. 모든 Intellij 단축키 : docs.google.com/document/d/…
Soham Mehta

답변:


174

Idea IntelliJ IDEA 13.1 이후로 여러 줄을 편집 할 수 있습니다.

사용하다:

Alt+ Shift+ 마우스 클릭

선택을 위해. IntelliJ 블로그 게시물의이 새로운 개선 사항에 대한 자세한 내용은 여기 . 매우 유용한 기능입니다.


1
링크 주셔서 감사합니다. 실수로이 기능을 사용했지만 실수로 어떤 키 조합을 눌렀는지 알 수 없었습니다. :)
aberrant80

12
2015 년 2 월 현재 Alt-Shift-Insert : 열 선택 모드 또는 간단히 Alt-Select. 매우 강력하고 사용하기 쉽습니다. 사람들이 동시 줄 편집에 대해 명확하게 질문 할 때 "검색 및 바꾸기"를 사용하도록 OP에 계속 말하는 이유를 잘 모르겠습니다. 그가 묻는 사실은 그가 검색과 바꾸기를 인식 할만큼 똑똑하다는 것을 암시합니다.
RichieHH

4
Mac의 경우 Alt + 클릭.
Gowtham Gopalakrishnan

5
지금은 마우스 가운데 버튼 + 드래그 만하면됩니다.
WesternGun

1
Macbook의 경우 Option + Shift + Click. 모든 Intellij 바로 가기 : docs.google.com/document/d/…
Soham Mehta

114

내가 사용하는 열 선택 모드 ( Cmd+ Shift+ 8를 통해 여러 커서를 만들 수 있습니다 Mac에서) Shift+ Up또는 Shift+ Down모두 함께 다음 라인을 편집합니다.

IntelliJ IDEA 14부터는 위 / 아래에있는 클론 캐럿 도 있습니다 .

  • Windows : Ctrl, Ctrl+ Up/Down
  • MacOS : Option, Option+ Up/Down

(보조 키를 두 번째로 누른 상태에서 화살표 키 누르기)


5
나는 우연히 Cmd + Shift + 8을 눌렀고 왜 모든 것이 "멀티 라인"으로 선택 가능한지 알 수 없었다. 명령 바로 가기에 감사드립니다!
Robin Jonsson

4
IntelliJ Ultimate 2016.1에서 Double <kbd> Ctrl </ kbd>가 작동하지 않습니다. 이중 <kbc> 옵션 </ kbd>를 사용하고 두 번째 버튼을 누른 상태에서 화살표 키를 눌러야합니다.
Big McLargeHuge

1
@DaveKennedy 당신 말이 맞습니다. Jet Brains가 기본 단축키를 변경했습니다.
Alexander Bogushov

이중 Ctrl 솔루션은 키보드에 손을 얹을 수 있기 때문에 가장 좋습니다
Andrejs

사용하는 다른 편집기와 실제로 일치하도록 키 매핑을 변경하려면 설정-> 키맵으로 이동하고 오른쪽 검색 상자에서 "클론 캐럿"을 검색합니다. 작업을 마우스 오른쪽 버튼으로 클릭하고 "키보드 단축키 추가"를 선택합니다. 저장하면 충돌이 발생하면 "확인"을 클릭하십시오. 그런 다음 다른 할당 (아마도 원하는 것)을 "제거"할지 또는 "나가기"(의도적으로 하나의 바로 가기로 두 가지를 트리거하는 것이 이상해 보입니다 ...) 또는 "취소"(이유 이전에 입력 한 다음 확인을 클릭 않았다)?
ArtOfWarfare

38

또 다른 키보드 전용 접근 방식입니다. (13.1 버전부터) Alt+ J/ Shift+ Alt+ J( OS X의 경우 Ctrl+ G) 단축키를 사용하여 여러 개의 캐럿을 만들 수 있습니다. Alt+ J는 현재 선택된 텍스트의 다음 항목을 선택하고 다른 캐럿을 추가합니다.

  1. 첫 번째 세미콜론을 선택하십시오.

여기에 이미지 설명 입력

  1. 그런 다음 Alt+를 J네 번 누릅니다.

여기에 이미지 설명 입력

  1. 원하는 내용 편집

여기에 이미지 설명 입력

  1. Esc첫 번째 줄로 돌아가려면을 누르십시오 .

여기에 이미지 설명 입력


5
이런 기능없이 1 년 정도 살았어요! 감사합니다!
coffman21

27

끝에 캐럿 배치

Windows : CTRL + CTRL(길게 누르기) +↑ / ↓

Mac : option + option(길게 누르기) + ↑ / ↓.

행 끝에 캐럿을 배치하려면 : 캐럿을 맨 위 행으로 이동하고 아래로 복제 한 다음을 클릭 END합니다.

다중 캐럿 단축키 변경

사용자 정의 키맵을 추가하려면 CTRL+ SHIFT+ A를 입력 keymap하고 Settings하위 텍스트가 있는 키맵을 클릭합니다 . Clone Caret Above및을 검색합니다 Clone Caret Below.

난 내 매핑에 ALT+ SHIFT+ ↑ / ↓Windows에서와 + ↑ / ↓Mac에서.

보너스

지주 조합 시도 CTRL, SHIFT향상된 선택 전력 및 화살표.


1
'END'주석에 감사드립니다. 길이가 다른 변수에 대한 공통 할당에 좋습니다.
Keegan 82

1
이것이 가장 완전하고 정확한 응답이므로 답이되어야합니다. +1.
Ariel Mirra

또 다른 방법은 "alt"를 누른 상태에서 "j"를 계속 누르는 것입니다. 여러 줄 선택에 줄을 계속 추가합니다.
gaurav

13

열 모드는 잘 작동합니다. 먼저 열 모드에서 모든 줄을 선택한 다음 END를 누릅니다. 각 커서는 각 줄의 끝으로 이동합니다.

Linux에서 ( 마우스 필요 없음 ) :

  1. ALT+ SHIFT+ INSERT블록 모드로 들어가기

    열 편집 모드로 들어감

  2. SHIFT + UP또는 SHIFT + DOWN여러 줄을 선택하려면

    여기에 이미지 설명 입력

  3. END 각 줄의 끝으로 이동

    여기에 이미지 설명 입력

  4. 이제 입력 foo하면 각 줄에 추가됩니다.

    여기에 이미지 설명 입력

  5. 이제를 사용 ESCAPE하여 모든 것을 선택 취소 하고를 사용하여 일반 선택 모드로 다시 전환하십시오 ALT + SHIFT + INSERT.


9

마우스 휠클릭 하고 드래그 하여 수직 코드 블록 선택을 수행 할 수도 있습니다 .

여기에 이미지 설명 입력


8

다음 항목 선택 :

      Alt+J on Windows, Ctrl-G on Mac OS X

발생 선택 취소 :

      Alt+Shift+J on Windows, Ctrl-Shift-G on Mac OS X

모든 항목 선택 :

      Ctrl+Alt+Shift+J on Windows, Ctrl-Cmd-G on Mac OS X

더 많은 참조 : 링크


요점 (left) Alt + J은 먼저 코드를 선택해야한다는 것입니다.
ALIZEYN

7

저는 이런 종류의 매크로를 사용합니다. 매크로 기록을 시작하고 한 번 수행 한 다음 수정하려는 각 줄에서 매크로를 재생합니다. 매크로 기록 / 재생 기능으로 얼마나 멋진 지 놀랄 것입니다.


매크로를 버리면 이러한 종류의 변경을 수행하는 데 매우 편리 할 수 ​​있습니다. Zeus 편집기에서 이러한 변경을 수행하면 정확히 어떻게 할 것인지 결정합니다.
jussij

행이 모두 이렇게 그룹화되어 있으면 매크로를 기록하여 커서를 다음 행으로 이동 한 다음 첫 번째 행에서 매크로 실행을 시작하고 원하는 횟수만큼 반복하면됩니다.
weiji

"원하는만큼 반복"할 수 있다는 의미는 무엇입니까? 매크로를 자동으로 반복하는 방법이 있습니까?
pypmannetjies

편집-> 매크로-> 마지막 매크로 재생. F12에 매핑되었지만 비표준 키 바인딩이 있습니다. 매크로를 한 번 수행하고 F12를 계속해서 치기 시작합니다.
Chris Kessel

매크로는 좋은,하지만 난 인 IntelliJ에 ideavim를 사용하는 경우, 매크로는 정력의 바로 가기 해결할 수없는
아미타

5

알아내는 데 시간이 좀 걸렸지 만 Mac에서는 두 번 누르고 Option(한 번 누르고, 놓고, 다시 누르고, 계속 누르고 있음) Up/ Down키를 사용하여 원하는대로 캐럿을 생성 / 제거 할 수 있습니다.

Shift+ Option를 누른 상태에서 클릭하여 특정 지점에서 캐럿을 생성 / 제거 할 수도 있습니다 .


이것은 훌륭하지만이 작업을 수행하고 파일 끝까지 선택하는 방법이 있습니까? 그렇지 않으면 화살표를 사용하여 전체를 스크롤해야하고 대용량 파일이 있습니다.
Jackie


3

이 경우이를 수행하려는 코드 조각을 선택하고 교체를 수행 할 수도 있습니다. 바꾸기 :

"; 다음

으로 :

"+ "foo";

따라서 모르는 경우 : 바꾸기 (Ctrl + R 또는 Cmd + R)를 수행하는 동안 텍스트를 선택한 경우 선택한 텍스트에만 적용됩니다.


2

상태에서 ALT를 하고 위해 마우스를 사용 클릭 및 드래그




1

최신 버전 사용 : Alt+ Shift+Insert


1
완벽하게 작동합니다! 감사합니다 @Meysam
gaurav

또 다른 방법은 "alt"를 누른 상태에서 "j"를 계속 누르는 것입니다. 여러 줄 선택에 줄을 계속 추가합니다.
gaurav

0

내가 일반적으로 사용하는 것은 (NetBeans이지만 IDE에서 사용하기가 간단하다고 생각합니다) find&replace.

당신은 바로 찾을 수 ;\n와로 교체 + $foo;\n한 다음 모든 라인에 적용되지 않습니다하지만 당신은 첫 번째 줄에 커서를 놓고 그냥 "대체"히트 버튼을 시간에 7 개 라인을 변경하는 7 배 (당신의 IDE 내 생각에 따라 다름). 쉽고 간단하며 찾을 수있는 가장 기본적이고 가장 발전된 IDE로 수행해야합니다.

편집 : IntelliJ (다른 IDE에서도 작동하는지 여부는 알 수 없음)에서 정규식 검색 및 선택 항목으로 만 바꾸기를 사용할 수 있으므로 실제로 "모두 바꾸기"를 사용할 수 있습니다.


Ofc이 방법을 적용 할 수없는 경우가 있는데, 선이 완전히 다르거 나 뭔가 다른 경우가 있지만 고급 방법으로도이 상황에 대해 할 수있는 일이별로 없다고 생각합니다.
Srneczek 2013 년

그렇다면 왜 -1일까요? 나는 그가 묻는 질문에 대답했다. -1 당신이 정답이 아니라 어리 석다고 생각한다면 질문. 매크로로 받아 들여지는 대답은 솔직히 말하면 느린 방법입니다.
Srneczek


0

위의 모든 대답은 훌륭하지만 행 끝에서 여러 줄 편집을 원하면 여러 줄 선택이 활성화되어있는 동안 "종료"키를 눌러야합니다.

Mac의 경우 명령 순서는 다음과 같습니다.

shift option click # 라인 세트 선택

command right arrow # 줄 끝으로 이동

이렇게하면 줄 끝에서 여러 줄 선택이 수행되며 필요에 따라 편집 할 수 있습니다.

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