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:"
);
}
:これは、2つのショートカットを作成します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でも動作するようです。)
そして、行を複製するには:そのためのコマンドを持つ多くのプログラムを知りませんが、通常は単にコピー+貼り付けを使用します-XcodeではCUAのようです: Ctrl+A行の先頭に移動し、Shift+↓を選択しますそれは、コマンド +はCコピーするとコマンド + * V(ラインをオーバーライドしたら、それに追加する一度)を2回貼り付けます。
(いつもテキストを入力して編集している人から、多くの場合異なるプログラムで、テキスト入力を少し修正している間、時々ダムウィジェットで気を散らさなければならないことに腹を立て、彼はこれらのシーケンスを覚えておくことを避けられないだけです)と習慣)
Eclipse 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
Xcode自身で開き、次の新しいエントリを追加します。
deleteToBeginningOfLine:, moveToEndOfLine:, deleteToBeginningOfLine:, deleteBackward:, moveDown:, moveToBeginningOfLine:
Xcodeを再起動し、Xcode> Preferences> KeyBindingsを開きます。マクロを見つけて、ショートキーを定義します。
キーバインディングソリューションを試しましたが、機能しませんでした。ただし、私の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ではキーバインディングを使用してこれを実装することが困難になるため、キーボードマエストロを使用することに頼りました(Quickeyもうまく機能するはずですが、完全にLion互換ではありません)。たとえば、ここに私のキーボードMaestroショートカットがあります(⌘-⇧-Dにバインドされています)。
私はこのスレッドがかなり古いことを知っていますが、BetterTouchToolを使用して別の解決策を見つけました。BTTで次のように構成することにより、1つのショートカットでCtrl+ A、Ctrl+ K、Ctrl+ Kシーケンスを実行できます。
([追加のアクションをアタッチ]ボタンを使用して、2番目と3番目のショートカットを追加します)
PS:Cmd+ Dが削除行であるEclipseから来ます^^
ユーザースクリプトを使用します。
行を移動および削除するスクリプトはまだあります。これらのスクリプトのキーバインドを定義する必要があります(xCode 3.2の下で、メニュースクリプト -> ユーザースクリプトの編集...)。
行を複製するには、独自のスクリプトを作成する必要があります。しかし、それは非常に簡単です!「行を下に移動」スクリプトを複製し、選択したテキストを削除する行を削除します。
delete (paragraphs startLine through endLine)
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」に設定する必要がある場合があります。下の画像を参照してください
PS:私は彼の答えにコメントする方法がわかりません。
上記のように、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>
スタートXcodeと楽しむCTRL- SHIFT- DとCTRL- - 。SHIFT - と-
が必要な場合は、代わりにand をキー定義で使用します。ファイルに重複したキーバインディングがないことを確認します。K
CTRLDCTRLK^d
^k
XCode 3.2でうまく動作します
これはBetterTouchToolを使用して可能です。CMD + Dは行を複製します。次のような新しいショートカットを作成します。
[追加のアクションをアタッチ]ボタンを使用して、2番目と3番目のショートカットを追加します。
Xcodeキーバインディングをすでにカスタマイズしている場合は、ファイルを編集する必要があります~/Library/Application Support/Xcode/Key Bindings/<user>.pbxkeys
。(上記の)2つの配列をRoot/text
ディクショナリに追加するだけです。
XCodePlus行削除プラグインは、これを行うXCodeです。アルカトラズパッケージマネージャーがプリインストールされています...
Xcode 9以降、行を複製する組み込みの方法はまだありません。カスタムキーバインディングには問題があるようです。
更新: Xcode 10.0ベータ6(10L232m)は同じです。
このアドレスに行きます:
/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を開き、キーバインドタブに移動し、重複する行(カスタマイズされた行)を検索し、以下の画像のように短いキーを定義します