Xcode 중복 라인


127

이다Duplicate (기본 바로 가기와 편집 메뉴의 명령은 D), 그러나 (로는 누나가 엑스 코드의 인터페이스 빌더 부분에 중복에 대한 의미 지적했다).

그렇다면 Xcode 4에서 줄을 어떻게 ( 쉽게 ) 복제합니까?


Xcode 3에 대한 관련 질문 (작동하는 답변 포함) ... Xcode 4에서는 작동하지 않습니다.


복사하여 붙여 넣기 만하면 안 되나요?

지루하고 너무 많은 수작업 곡예가 필요하기 때문입니다.

(1) : 라인 시작 한 다음 Enter 키를 눌러 이동 ⇧^E, 다음으로 복사 ⌘C, 새로운 라인으로 이동, 커서를 alligning, 그리고 마지막 으로 붙여 넣기 ⌘V;

또는 (2) : ^A(커서를 줄 시작으로 ^SPACE설정), ^E( 마크 설정), (커서를 줄 끝으로 설정), ⇧^W( Select to Mark; 사용자 지정), 복사, 새 줄 등

Frank Schröder ( 관련 질문에서 )는 다음 같이 말했습니다.

요점은 Cmd-C / Cmd-V 단축키를 사용하지 않는 것입니다.


1
라인을 선택하고 붙여 넣기를 복사 하시겠습니까?
Dani

1
@Dani, CP는 너무 많은 작업입니다 (그리고 줄 중복은 거의 필요하지 않습니다). :) 질문을 업데이트했습니다.
Blaz

1
Command-D는 Interface Builder에서 제어 복제를위한 것입니다.
Hailei

@Halley, 이것은 알아서 좋습니다. 그리고 ⌥-mouse-drag (인터페이스 요소도 복사)와 동일합니까?
Blaz

@ 예의 바르게 생각합니다. disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/…의 수정 자 키 섹션에는 "드래그 앤 드롭 작업 중에 Option 키를 누르면 이동하는 대신 선택한 개체가 복사됩니다."라고 말합니다.
Hailei

답변:


173
  1. 힘의 어두운면이 포함 된이 폴더로 이동하십시오.

    • Xcode 4.2 이하 : /Developer/Library/PrivateFrameworks/IDEKit.framework/Resources
    • Xcode 4.3 이상 : /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources.
  2. 을 엽니 다 IDETextKeyBindingSet.plist.

  3. 아래 스크린 샷과 같이 새 사전과 새 명령 항목을 추가합니다 (원하는 이름으로 지정). plist 편집

    그게 : selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:

  4. Xcode를 다시 시작하고 Preferences-Key Bindings로 이동하여 명령을 검색하십시오.

  5. 명령에 대한 키 조합을 설정합니다. 키 바인딩

  6. 마침내 Xcode에서 키 바인딩의 힘을 발휘했습니다 ... 즐기십시오!


3
@MichalStefanow, 당신이 쓴 위치는 실제로 같은 위치/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources별명 포인트. 그렇지 않으면 버전 4.3.2에서 Halley의 단계를 성공적으로 따랐습니다. 원본 파일을 백업 한 다음 Xcode 자체에서 여는 것이 좋습니다 (TextEdit가 아님). 또한 권한과 관련하여 Finder에서 권한 변경 (파일 자체에만 해당, 재귀 필요 없음)은 정상적으로 작동했습니다.
Blaz 2011

29
고맙습니다! - 게으른 사용자의 경우 : selectLine :, :, moveToEndOfLine :, insertNewline :, :, deleteBackward을 붙여 복사
블라드 Tsepelev

15
xCode가 충돌하면! 닫기 엑스 코드를 열고 텍스트 편집기로 파일과 사전 추가 <key>Custom</key> <dict> <key>Duplicate Current Line</key> <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string> </dict>
블라드 Tsepelev

2
XCode 4.4.1에서 나를 위해 작동합니다! 권한을 변경하는 데 문제가 있습니다 (finder 또는 chmod 777 및 터미널에서 sudo로 시작하는 것이 어떤 이유로 작동하지 않음). 파일을 다른 곳으로 복사하고 편집 한 다음 작동했던 원본 파일을 덮어 썼습니다.
Ixx

2
저는 안드로이드 개발자이고 ios dev를 시도하기 시작했을 때 안드로이드 스튜디오 (또는 인텔 리즈 아이디어)가 얼마나 좋은지 깨달았습니다.
IlyaEremin

90

2020 업데이트

Xcode 버전에서 작동 : 11.3.1도

Xcode 버전에서 작동 : 7.1, 7.3, 7.3.1, 8.0, 8.1, 8.2, 8.3, 9.0, 9.1, 9.2, 10.0, 10.1, 10.2.1

교수

  1. 다음 파일을 편집 할 수있는 권한을 부여하십시오. 대부분의 경우 OS는 파일 편집을 허용하지 않습니다.

11.3.1 버전 용

sudo chmod 666 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources//IDETextKeyBindingSet.plist

sudo chmod 777 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/

11.3 이하 버전


sudo chmod 666 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

sudo chmod 777 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/
  1. 다음 명령을 작성하여 파일을 편집하십시오. (가능한 경우 숭고한 또는 텍스트 편집기에서여십시오)

11.3.1 용

open  

/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/

아래 버전

open /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist
  1. 다음 xml 스 니펫을 추가하십시오.
<key>custom</key>
<dict>
    <key>Duplicate Current Line</key>
    <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string>
    <key>Duplicate Lines</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
    <key>Delete Line</key>
    <string>selectLine:, deleteBackward:</string>
</dict>

스크린 샷

여기에 이미지 설명 입력

Xcode를 다시 시작하고으로 이동하여 Preferences - Key Bindings입력 한 명령 (Duplicate Lines & Duplicate Current Line)을 검색합니다.

여기에 이미지 설명 입력

그게 다야.

유닉스 사람들이 주목할 사항 :-

sudo chmod 755 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/ 

매력처럼 작동합니다! IDETextKeyBindingSet.plist위의 사전을 편집 하고 추가 한 다음 XCode의 Preferences에 키를 매핑했습니다.
Randika Vishman

3
이것은 Mac 사용자에게 필요한 괴상한 답변입니다!
Luca Davanzo

1
XCode 10.1의 경우 moveToBeginningOfLine :, deleteToEndOfLine :, yank :, insertNewline :, setMark :, moveToBeginningOfLine :, selectToMark :, yank : 문자열을 사용해야했습니다 . @tmsimont에 큰 감사
marcelosalloum

1
이것은 Xcode가 업데이트 될 때마다 내가 Google에서 가장 먼저하는 것입니다.
newDeveloper

1
이 솔루션은 받아 들여진 대답보다는 나를 위해 작동합니다
khalid

18

좋아, 나는 이것을 생각 해냈다.

XCode 11 용 버전 :

selectParagraph:, delete:, undo:, moveRight:, yankAndSelect:
  • 클립 보드를 건드리지 않는다
  • 여러 줄로 작동
  • 추가 된 줄을 선택하므로 다시 선택하지 않고 여러 번 사용할 수 있습니다.
  • XCode 11의 고정 선택
  • 실행 취소와 함께 더 잘 작동합니다.

모든 XCode 업데이트 후에이 변경 사항을 적용하기 때문에 이에 대한 스크립트를 만들었습니다. 아마도 약간의 손상을 입힐 수 있지만 비교적 안전하게 만들려고 노력했습니다. 파일의 복사본을 만든 다음 perl을 사용하여 해당 복사본 및 추가 명령으로 줄을 바꿉니다. XCode를 설치해야합니다./Applications/Xcode.app

cp /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist ~/Desktop/IDETextKeyBindingSet.plist; sudo perl -pi -e 's/\<string\>selectWord:\<\/string>/'$'\<string\>selectWord:\<\/string\>\n\t\t\<key\>Duplicate Selection\<\/key\>\n\t\t\<string\>selectParagraph:, delete:, undo:, moveRight:, yankAndSelect:\<\/string>/g' /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

이전 버전 (새 버전이 이전 버전과 호환되는지 확실하지 않으므로 여기에 보관하겠습니다) :

selectParagraph:, delete:, yank:, moveToBeginningOfLine:, setMark:, yank:, moveToBeginningOfLine:, moveLeft:, selectToMark:

수동 파일 편집을 피하기위한 이전 버전 용 스크립트 :

cp /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist ~/Desktop/IDETextKeyBindingSet.plist; sudo perl -pi -e 's/\<string\>selectWord:\<\/string>/'$'\<string\>selectWord:\<\/string\>\n\t\t\<key\>Duplicate Selection\<\/key\>\n\t\t\<string\>selectParagraph:, delete:, yank:, moveToBeginningOfLine:, setMark:, yank:, moveToBeginningOfLine:, moveLeft:, selectToMark:\<\/string>/g' /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

편집 : 사소한 수정 edit2 : 단락 선택으로 변경 edit3 : XCode 11 버전 추가


이 조합을 찾아 주셔서 정말 감사합니다. 원치 않는 newLine을 추가하지 않고 한 줄 또는 여러 줄을 복제 할 수 있으며 ctrl-z도 잘 작동합니다.
mkeremkeskin

감사합니다. 이것이 IntelliJ 동작 IMHO
OxyFlax

17

오늘 저는 줄과 선택을 삭제하고 복제하는 Xcode 5 용 아주 작은 플러그인을 작성했습니다.

내 GitHub 저장소에서 다운로드 할 수 있습니다. XcodeKit 플러그인-https : //github.com/ptfly/XcodeKit


방금 다운로드하여 설치했습니다. 시스템 환경 설정을 사용하여 명령에 대한 키보드 단축키도 설정할 수 있습니다. 아주 좋아요!
Orion Edwards

최선의 해결책은 이것이 현재 클립 보드를 손상시키지 않기 때문입니다. 키 바인딩을 추가하려면 : 시스템 환경 설정-> 키보드-> 단축키-> 앱 단축키-> '+'. '삭제 선택 / 라인'예를 들어 엑스 코드 및 메뉴 제목이 선택
Sjoerd Perfors을

방금 설치했습니다. 굉장합니다. 어떤 이유로 든 편집중인 "Duplicate"메뉴가 회색으로 표시됩니다. 에디터에서 라인을 선택했지만 커서 전체 라인을 선택해 보았습니다.
John Ballinger 2014 년

이것은 굉장한 것 이상입니다. 감사합니다!
0x6A75616E 2014 년

그것은 나를 위해 작동하지 않습니다. "복제"는 회색으로 표시되고 키보드 단축키도 작동하지 않습니다.
SquareBox

13

@Hailei의 대답은 꽤 좋았지 만 클립 보드 내용을 막는 불행한 부작용이있었습니다 (복제 된 줄의 내용으로 채워져 있음). 이것은 정확히 내가 피하려고했던 수동 복사 / 붙여 넣기 접근 방식의 일부입니다. .

그래서 명령 시퀀스를 다음과 같이 변경했습니다.

moveToBeginningOfLine:,
deleteToEndOfLine:,
yank:,
insertNewline:,
moveToBeginningOfLine:,
yank:

를 제외하고 설정 yank:한 경우 2 는 의도 한대로 작동하지 않을 수 있지만 기본값이라고 확신 하며이를 변경하려면 사소한 작업을 수행해야합니다 (에 항목을 추가해야 함 ).NSTextKillRingSize11~/Library/Preferences/.GlobalPreferences.plist


defaults write -g NSTextKillRingSize 1GlobalPreferences.plist를 사용하는 대신 명령을 사용하는 것이 좋습니다 . ;)
dbernard 2013 년

@amas 상위 폴더에 대한 권한을 변경하는 위험을 감수하지 않으려면 파일을 수정하기 전에 파일을 다른 곳에 복사 한 다음 원본 파일을 덮어 써야 할 수 있습니다.
nipponese

이것은 거의 작동하지만 어떤 이유로 든 중복 된 줄 끝에 공백이 추가됩니다. 이유가 무엇인지 아십니까?
tmsimont 2014-07-05

5
이 수정으로 수정 된 경우 :moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, setMark:, moveToBeginningOfLine:, selectToMark:, yank:
tmsimont

이것은 제안 된 답변이어야합니다 (@Hailei의 가이드에 따라). 감사!
brkeyal

9

한 줄을 복제하는 이유는 무엇입니까? 전체 단락을 복제하는 것이 좋습니다. 내 순서 :

현재 단락 복제

selectParagraph:,
delete:,
yank:,
moveToBeginningOfParagraph:,
yank:,
moveUp:,
moveToEndOfParagraph:

현재 단락 삭제

selectParagraph:,
delete:,
moveUp:,
moveToEndOfParagraph:

Xcode 4.6에서 잘 작동합니다.


동의하고 단락을 조작하는 것이 행보다 우수합니다. 여러분, 편집기를 줄 바꿈 할 수있을만큼 좁게 만들고 라인 명령을 사용해보십시오.
Logan Moseley

코드가 래핑되는 창은 얼마나 작습니다. 그렇게 자주 발생한다면 코드를 더 작은 줄로 나누는 것을 고려하십시오.
quemeful

9

커서를 이동하고 전체 줄을 선택하기 위해 화살표 키 ( ) 와 함께 사용 하는 것에 대해 언급하지 않은 이유가 궁금 합니다.

나는 정기적으로 사용하여 행의 시작 부분으로 커서를 이동하여 전체 라인 (중복) 복사 + (대신 ctrl+를 A) 다음 사용 +이 + (대신 ctrl+ +가 E마지막에 전체 라인을 선택하고 복사하는) / 붙여 넣습니다.

아무도 이러한 키보드 단축키를 사용하지 않는 다른 스레드를 만났습니다. 그들은 OS X에서 전역 적이며 항상 사용합니다! 훨씬 적은 수작업 곡예;)


이것은 하나의 액션 / 키 조합으로 복제하는 것보다 훨씬 더 많은 "수작업 곡예"를 필요로합니다. 텍스트 편집기 나 웹 브라우저에서 텍스트를 복제하는 방법입니다. 예,하지만 IDE에서 더 많은 것을 기대합니다.
Ixx

1
또한 중복 줄 바로 가기를 사용하면 클립 보드의 내용을 덮어 쓰지 않습니다. 여러 번 나는 무언가를 복사하고, 코드를 복제하고, 붙여 넣기를 원합니다. 당신의 방법으로 다시 복사해야합니다.
Ixx

그래. 그러나 OP가 제안한 방식보다 적습니다. 하나의 명령이 최선이라는 데 동의 할 수 있습니다. 나는 대안을 지적 할 것이라고 생각했습니다.
Baldur

1
이것은 기본적으로 아무것도없는 것보다 낫습니다. 내가 원하는 그 cmd를 + C / X 복사하여 / 전체 라인을 잘라 것없는 선택과 다른 편집기처럼 ...
manroe

@Baldur 이것이 내가하는 일이기도하다. cmd + 왼쪽 cmd + shift + 오른쪽 cmd + c cmd + 오른쪽 cmd + 왼쪽 cmd + p를 입력합니다. 7 번의 키 입력에서는 3 초 이내에 쉽게 수행 할 수 있지만, 많은 텍스트 편집기 에서처럼 ctrl + d에 비해 여전히 상당히 지루합니다. 불행히도 이것이 xcode에 빌드되지 않았거나 일반적으로 Mac 및 Apple 소프트웨어에 더 나은 단축키가 없다는 것입니다.
csga5000

9

편집 : 2020 년 7 월 12 일 Xcode 11.5로 다시 업데이트 한 후 파일의 duplicate line키 항목 plist이 사라졌습니다. 나는 그것을 다시 추가해야했다. 키 바인딩은 여전히 ​​거기에있었습니다.

편집 : 2019 년 9 월 17 일 Xcode 10.3으로 다시 업데이트 한 후 파일의 duplicate line키 항목 plist이 사라졌습니다. 나는 그것을 다시 추가해야했다. 키 바인딩은 여전히 ​​거기에있었습니다.

편집 : 2019 년 5 월 28 일 Xcode 10.2로 다시 업데이트 한 후 파일의 duplicate line키 항목 plist이 사라졌습니다. 나는 그것을 다시 추가해야했다. 키 바인딩은 여전히 ​​거기에있었습니다.

편집 : 2018 년 12 월 23 일 Xcode 10.1로 업데이트 한 후 모든 바로 가기가 다시 손상되었습니다. 그러나 다른 점은 줄 복제를 위해 plist 파일을 업데이트 한 후 키 바인딩을 정의 할 필요가 없었으며 이미 거기에 있다는 것입니다. 이상한.

편집 : 2018 년 10 월 14 일 Xcode 10 : Apple의 고위 직원은 복사 / 붙여 넣기를 정말 좋아하며 모든 버전의 Xcode 업데이트에서 줄 중복이 모든 사용자의 설치에서 제거되도록합니다. 우리 개발자들은 줄 복제 옵션이없는 유일한 IDE 인 Xcode에서이 말도 안되는 일이 계속되는 것에 대해 극도로 좌절했습니다. 방금 Xcode 10으로 업데이트했으며 예상했듯이 모든 바로 가기 키가 줄 복제 기능과 함께 제거되었습니다. 그러나 원래 답변과 같이 수정할 수 있습니다. 이번에는 약간 다른 점은 다음 줄이 필요하다는 것입니다.

<key>Duplicate Current Line</key>
<string>selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string>

편집 : Xcode 9 : 바로 가기와 줄 복제 및 삭제를 다시 실행해야했지만 이제 IDETextKeyBindingSet.plist를 다시 편집 할 수 있다는 것이 좋습니다. 이 최고급 애플 녀석은이 버전을 출시했을 때 휴가 중일 것입니다.

편집 : Xcode 8 : 버기, IDETextKeyBindingSet.plist 파일을 전혀 수정할 수 없습니다. Xcode는 시작시이를 재설정합니다. Apple의이 고위직은 다른 모든 IDE에서와 같이 단순한 줄 복제 대신 복사 / 붙여 넣기를 사용하기로 결정했습니다.

편집 : Xcode 7.1 및 여전히 줄 복제 및 삭제에 대한 바로 가기가 없습니다. 이것은 바로 가기없이 작업 한 유일한 IDE입니다. 그리고이 두 가지 중요한 지름길 없이는 개발자의 삶을 상상할 수 없습니다.

방법은 다음과 같습니다.

먼저 Xcode.app 번들 내에있는 plist 파일을 수정해야합니다 (수정하려면 sudo 필요)

/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

그런 다음 태그 <key>Insertions and Indentations</key>아래 <dict>에 다음을 추가하십시오.

<key>Insert New Line Below</key>
<string>moveToEndOfLine:, insertNewline:</string>
<key>Insert New Line Above</key>
<string>moveUp:, moveToEndOfLine:, insertNewline:</string>
<key>Duplicate Current Line</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>

그런 다음 태그 <key>Deletions</key>아래의 섹션 에서 및 다음을 찾습니다 <dict>.

<key>Delete Current Line</key>
<string>selectLine:, delete:</string>
<string>selectLine:, delete:</string>

여기에 이미지 설명 입력

이제 Xcode를 열거 나 다시 시작하고 기본 설정으로 이동 한 다음 "키 바인딩"탭으로 이동합니다. 검색 창을 사용하여 새 바로 가기를 필터링하고 찾습니다. 그런 다음 단축키 설명 앞을 클릭하여 원하는 단축키를 지정하십시오. 바로 가기가 기존 바로 가기와 충돌하지 않는지 확인하십시오.

여기에 이미지 설명 입력


3

명령 시퀀스를 다음과 같이 수정하는 것이 좋습니다.

selectLine:,
copy:,
moveToEndOfLine:,
insertNewline:,
deleteToBeginningOfLine:,
paste:,
moveToBeginningOfLine:, 
deleteBackward:

추가 deleteToBeginningOfLine는 중복 된 줄의 들여 쓰기를 유지합니다.


이것은 쉼표 뒤의 공백으로 (잘 생긴) 개행 문자를 교환해야한다는 것을 깨달았을 때 훌륭하게 작동했습니다.
McUsr 2014


2

MacOS Sierra 및 Xcode 9에서 .plist 파일의 잠금을 해제하는 데 큰 어려움이 있었지만 @Tim 결정도 저에게 효과가 없었습니다. 동일한 문제가 발생하면 터미널로 이동하여 다음을 수행하십시오.

cd /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/
sudo chmod -R 777 *
nano IDETextKeyBindingSet.plist

이 작업을 수행 할 수있는 다른 몇 가지 방법도 여기에 설명되어 있습니다 .

그런 다음 나노 편집기에서 ^W'삽입'을 클릭 하고 입력하여 '삽입 및 들여 쓰기'부분으로 이동합니다. <dict>태그 바로 아래에 다음 xml-snippet을 붙여 넣으십시오.

<key>Duplicate line</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertNewLine:, paste:, deleteBackward:</string>

control + X,,을 Y차례로 눌러 Enternano 편집기에 파일을 저장합니다.

UPD : 복제 전에 추가 줄을 추가하는 더 나은 결정을 내 렸습니다 (바로 아래에 다른 줄이있는 줄을 복제하려는 경우 유용함).

<key>Duplicate line</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertLineBreak:, moveUp:, paste:, moveToBeginningOfLine:</string>

1

다음은 IDETextKeyBindingSet.plist의 삭제 ( CTRL+ D) 및 복제 ( CMD+ SHIFT+ D) 항목입니다. (/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources에서)

방금 Xcode 4.6.1에서 설정했습니다 (위와 다른 곳에서 user570753의 답변을 기반으로 함)

    <key>Custimozed</key>
<dict>
    <key>Delete Current Line</key>
    <string>deleteToBeginningOfLine:, moveToEndOfLine:, deleteToBeginningOfLine:, deleteBackward:, moveDown:, moveToBeginningOfLine:</string>
    <key>Duplicate Current Line</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, deleteToBeginningOfLine:, paste:, moveToBeginningOfLine:, deleteBackward:</string>
</dict>

0

XCode에서 sublime의 duplicateLineUpduplicateLineDown 을 일치 시키려는 숭고한 텍스트 사용자는 IDETextKeyBindingSet.plist 파일에 다음을 추가 하십시오.

<key>Line Duplications</key>
<dict>
    <key>Duplicate Current Line Above</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:, moveUp:</string>
    <key>Duplicate Current Line Below</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
</dict>

0

다른 사람이 IDETextKeyBindingSet.plist 편집에 대한 액세스가 거부 된 경우 다음과 같이 자신에게 읽기 / 쓰기 권한을 부여 할 수 있습니다.

sudo chmod 777 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist

0

Hailei의 대답을 보완하기 위해 나에게 가장 적합한 명령은 다음과 같습니다.

selectLine:, copy:, moveRight:, moveLeft:, insertNewline:, paste:, deleteBackward:

그의 제안 된 명령은 나를 위해 아래 두 줄의 원하는 줄을 복사하는 것이었다.


0
<key>Duplicate Lines</key>    
<string>selectLine:, copy:, moveToBeginningOfLine:, paste:</string>

중복 라인이 지원됩니다. (이것은 Xcode 9.2에서 작동합니다)


0

Xcode 11의 경우 위의 어느 것도 나를 위해 일하지 않았습니다. 첫 번째 대답은 다음 줄 뒤에 줄을 삽입하는 것처럼 이상한 동작을 보였습니다. 그러나 다음 답변은 나를 위해 일했습니다.

<key>Duplication</key>
<dict>
    <key>Duplicate Current Line</key>
    <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string>
    <key>Duplicate Lines</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
    <key>Delete Line</key>
    <string>selectLine:, deleteBackward:</string>
</dict>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.