Eclipse에서 왔으며 항상 줄을 복제하는 데 사용되었지만 Xcode에 그러한 기능이 없다는 것은 매우 이상합니다. 아니면?
시스템 전체의 키 바인딩을 변경할 수는 있지만 그 이후의 것은 아닙니다.
Eclipse에서 왔으며 항상 줄을 복제하는 데 사용되었지만 Xcode에 그러한 기능이 없다는 것은 매우 이상합니다. 아니면?
시스템 전체의 키 바인딩을 변경할 수는 있지만 그 이후의 것은 아닙니다.
답변:
요점은 Cmd-C
/ Cmd-V
바로 가기 를 사용하지 않는 것 입니다. IntelliJ에서 똑같은 문제가 발생하여 줄을 복제 Cmd-D
하고 삭제할 수있는 Cmd-Y
것이 시간 절약에 큰 도움이됩니다.
그 이후로 나를 괴롭 혔습니다. 그러나 다른 사람이 작동 하는 솔루션 을 찾은 것처럼 보입니다 .
간단히 말해서, ~/Library/KeyBindings/PBKeyBinding.dict
다음 내용 으로 파일 을 작성하고 Xcode를 다시 시작하십시오.
{
"^$K" = (
"selectLine:",
"cut:"
);
"^$D" = (
"selectLine:",
"copy:",
"moveToEndOfLine:",
"insertNewline:",
"paste:",
"deleteBackward:"
);
}
이 두 개의 바로 가기를 만들 것입니다 Ctrl- Shift- K현재 행을 삭제과 Ctrl- Shift- D현재 행을 복제합니다. 이것은 Xcode에서 사용자 정의 키 바인딩 세트를 사용 하지 않는 경우 에만 작동합니다 . "XCode Default"로 전환하면 작동합니다. Snow Leopard의 XCode 3.2에서 테스트되었습니다.
Mac OS X 키 바인딩에 대한 추가 정보 : http://funkworks.blogspot.it/2013/03/republishing-of-wwwerasetotheleftcompos.html
Duplicate
(의 명령 Edit -> Duplicate
) "항상"회색 (및 중복 행을 의미하지 않음) 것으로 보인다.
행을 삭제하려면 : Ctrl- A행 의 시작으로 이동 한 다음 Ctrl-K 행 을 삭제하고 다시 Ctrl-K 빈 행을 제거하십시오. (Xcode를 자주 사용하지는 않지만 Emacs와 Emacs와 같은 바인딩을 가진 다른 텍스트 입력에서 익숙합니다 .Xcode에서도 작동하는 것 같습니다.)
그리고 라인을 복제하는 내가 그에 대한 명령이 많은 프로그램의 모르겠지만, 일반적으로 그냥 복사를 사용 + 붙여 넣기 - 엑스 코드에서이 CUA-같다 : Ctrl+는A 줄의 시작 부분으로 이동, Shift+↓ 선택 이를 복사하려면 Command + C를, Command + * V를 두 번 붙여 넣으십시오 (한 번 무시하고 한 번 추가).
(종종 다른 프로그램에서 텍스트를 항상 입력하고 편집하는 사람이 종종 텍스트 입력을 약간 수정하면서 바보 같은 위젯으로 자신을 산만하게하는 것에 화가 나면 이러한 시퀀스를 기억하지 않아도됩니다. 그리고 습관)
이클립스 CTRL+ 와 같은 줄을 삭제하십시오 D(Xcode 4.5.1에서 테스트 됨) :
우선 다음 권리를 변경하십시오.
sudo chmod 666 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
sudo chmod 777 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/
열기 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
엑스 코드와 자신을이 새로운 항목을 추가 :
deleteToBeginningOfLine:, moveToEndOfLine:, deleteToBeginningOfLine:, deleteBackward:, moveDown:, moveToBeginningOfLine:
Xcode를 다시 시작하고 Xcode> 환경 설정> 키 바인딩을여십시오. 매크로를 찾아서 단축키를 정의하십시오.
키 바인딩 솔루션을 시도했지만 작동하지 못했습니다. 그러나 내 XCode 키 바인딩을 편집하면 매력처럼 작동합니다. 내가 만든 방법은 다음과 같습니다.
이 솔루션은 클립 보드의 내용을 변경하지 않습니다!
XCode 키 바인딩을 엽니 다.
사용자 스크립트 편집 대화 상자에서 :
중복 된 라인업 :
using terms from application "Xcode"
tell first text document
set {startLine, endLine} to selected paragraph range
if startLine > 1 then
set theText to (paragraphs startLine through endLine)
set theText to (theText as string)
make new paragraph at beginning of paragraph (startLine) with data theText
set selected paragraph range to {endLine + 1, endLine + endLine - startLine + 1}
else
beep 1
end if
end tell
end using terms from
중복 된 줄 다운 :
using terms from application "Xcode"
tell first text document
set {startLine, endLine} to selected paragraph range
if endLine < (count paragraphs) then
set theText to (paragraphs startLine through endLine)
set theText to (theText as string)
(* delete (paragraphs startLine through endLine) *)
make new paragraph at beginning of paragraph (endLine + 1) with data theText
set selected paragraph range to {startLine, endLine}
else
beep 1
end if
end tell
end using terms from
좋아, 그래서 나는 잠시 동안이 일을 한 다음 갑자기 파산했다. 이제 다른 게시물에서 결합하여 XCode 6.3.1에서 작동하는 솔루션을 찾았습니다.
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/
Finder로 이동하십시오 .
Resources라는 폴더를 찾으십시오. 마우스 오른쪽 버튼으로 클릭하고 정보 입수를 누르고 공유 및 권한 설정을 잠금 해제하고 (잠금을 눌러) 읽기 및 쓰기로 설정하십시오.
폴더를 입력하고 IDETextKeyBindingSet.plist 파일을 찾으십시오. 마우스 오른쪽 버튼으로 클릭하고 정보 입수를 누르고 공유 및 권한 설정을 잠금 해제하고 (잠금을 눌러) 읽기 및 쓰기로 설정하십시오.
XCode로 파일 열기 (기본값)
삭제를 찾아 마우스 오른쪽 단추로 클릭하고 새 행을 추가하십시오. 예를 들어 Delete Line과 같이 이름을 지정하십시오. 값 필드에 다음을 입력하십시오 selectLine:, deleteBackward:
.. (이것은 중복 행에 대해서도 수행 할 수 있습니다. selectLine:,copy:,moveToEndOfLine:,insertNewline:,paste:,deleteBackward:
)
Xcode 4가 키 바인딩을 사용하여 구현하기가 어려워 지면서 키보드 Maestro 를 사용했습니다 ( Quickeys 도 잘 작동하지만 완전히 Lion 호환되지는 않습니다). 예를 들어 다음은 키보드 마에스트로 단축키입니다 (⌘-⇧-D에 바인딩 됨).
이 스레드는 꽤 오래되었지만 BetterTouchTool 을 사용하는 다른 솔루션을 찾았습니다 .BTT 에서 다음 과 같이 구성하여 하나의 바로 가기에서 Ctrl+ A, Ctrl+ K, Ctrl+ K시퀀스를 실행할 수 있습니다 .
추가 작업 첨부 버튼을 사용하여 두 번째 및 세 번째 단축키를 추가하십시오.
추신 : Cmd+ D는 삭제 줄 인 Eclipse에서 ^^
우리는 Xcode 9.0에 있고 키 바인딩이 여전히 작동하지 않습니다. 한숨.
나는 발견 이 요지 매우 도움이 그래서 미래의 참조를 위해 여기를 다시 게시 :
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist
</dict>
<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>
damien.flament 의 솔루션은 훌륭하게 작동하며 출력 을 "Discard Output"으로 설정해야 할 수도 있습니다. 아래 그림을 참조하십시오.
추신 : 나는 그의 대답에 대해 언급하는 방법을 모른다.
위에서 말했듯이 XCode를 닫고 섹션 ~/Library/Application Support/Xcode/Key Bindings/ <user>.pbxkeys
내부 <dict>
에 다음을 삽입 <key>text</key>
하십시오.
<key>^D</key>
<array>
<string>moveToLeftEndOfLine:</string>
<string>deleteToEndOfLine:</string>
</array>
<key>^K</key>
<array>
<string>selectLine:</string>
<string>copy:</string>
<string>moveToEndOfLine:</string>
<string>insertNewline:</string>
<string>paste:</string>
<string>deleteBackward:</string>
</array>
시작 엑스 코드와 즐길 CTRL- SHIFT- D및 CTRL- SHIFT- K.
당신이 원하는 경우 CTRL- D및 CTRL- K사용 ^d
하고 ^k
대신 키 정의한다. 파일에 중복 키 바인딩이 없는지 확인하십시오.
XCode 3.2에서 잘 작동합니다.
이것은 BetterTouchTool을 사용하여 가능합니다 . CMD + D는 한 줄을 복제합니다. 다음과 같이 새 바로 가기를 만듭니다.
추가 작업 첨부 버튼을 사용하여 두 번째 및 세 번째 단축키를 추가하십시오.
Xcode 키 바인딩을 이미 사용자 정의한 경우 파일을 편집해야합니다 ~/Library/Application Support/Xcode/Key Bindings/<user>.pbxkeys
. 두 개의 배열 (위에 설명)을 Root/text
사전에 추가하십시오 .
XCodePlus delete line plugin은이를 수행하는 XCode입니다. Alcatraz 패키지 관리자와 함께 사전 설치되었습니다 ...
이 주소로 이동하십시오 :
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet
IDETextKeyBindingSet.plist 파일을 특정 위치에 복사 한 다음 복사 된 파일을 열고 삽입하십시오.
selectLine :, copy :, paste :, paste :이 그림과 같이 여기에 이미지 설명을 입력 하고 저장하고이 주소에 복사 된 파일을 대체합니다. /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet
그런 다음 xcode를 다시 시작하고 xcode prefences를 열고 keybinding 탭으로 이동하여 중복 된 행을 검색하고 아래 이미지와 같이 짧은 키를 정의하십시오.