web-dev-qa-db-ja.com

Xcode 8でDelete-Line Keyboardショートカットを作成するにはどうすればよいですか? Xcode 3ソリューションはもう機能しません

Xcodeの以前のバージョンでは、現在の行を削除するキーバインディングを作成できました。さまざまな解決策がありましたが、それらの例を次に示します。

Xcode:行のホットキーを削除

Xcodeの重複/削除行

http://bigdiver.wordpress.com/2009/09/11/configure-homeend-key-bidings-on-mac-os-x/

http://www.betadesigns.co.uk/Blog/2010/02/03/custom-xcode-shortcuts/

すべてのソリューションには、これらのファイルのいずれかを変更することが含まれます。

〜/ライブラリ/ Application Support/Xcode/Key Bindings/*。pbxkeys
〜/ Library/KeyBindings/DefaultKeyBinding.dict
〜/ Library/KeyBindings/PBKeyBinding.dict

Xcode 4の既存のショートカットの適切なリソースは http://cocoasamurai.blogspot.com/2011/03/xcode-4-keyboard-shortcuts-now.html です。削除に関して多くのリストがありますが、「行の削除」はありません。

しかし、これらのソリューションは[〜#〜] not [〜#〜]Xcode 4以降で動作します。

更新:問題はまだXcode 5.1.1と同じです

更新:問題はまだXcode 6.1 GM Seed 2と同じです

更新:2016年4月26日の時点でXcodeバージョン7.3(7D175)に引き続き適用

更新:6年後、Xcode 8.3にはソリューションが組み込まれています。以下の回答をご覧ください。

77
Klaas

Xcode 8.3最後にDelete Lineコマンドを追加したように見えます:)

デフォルトでは、キーボードショートカットは割り当てられていないため、自分でキーボードショートカットを追加する必要があります。

  1. OpenXcode>Preferences>Key Bindings
  2. 検索する Delete Line
  3. Key列にキーボードショートカットを追加します

Xcode Key Bindings

58
Paulo Mattos

あちこちで多くの検索を行った後、私は次の解決策を見つけました。

押したまま control キーを押してから、 AKK

(注:2番目 K 空の行を削除します)。

実際には、2つのコマンドの組み合わせです:Move to Beginning of ParagraphDelete to End of Paragraph。他のキーを使用/設定することもできます。また、他のコマンドにキーバインディングを使用/設定/変更することもできます。 Move to Beginning of LineDelete to End of Line。上記(デフォルト)のキーバインドを使用しました。

編集:

複数のconcecutive行を削除するには、最初に長押しします control キーを押してから、A (段落/行の先頭に移動するだけ)、押し続けます K すべての行が削除されるまで(これはカーソルが先頭に残っているため機能します)。

タスクを簡単にするために(私にとって)、設定しました commandD ために Delete to End of Paragraphおよび home/end 段落の最初/最後に移動します。

92
Vasu

とった!これはXCode 4.3〜4.5で機能し、追加のアプリケーションを必要とせず、XCode固有です。

このソリューションは、基本的に説明されている「行の複製」コマンドと同じです here

Plistファイルを編集します

/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plistにあります

ご了承ください:

  • リンクされた答えはこれにXCodeを使用することを示唆していますが、これはXCodeをクラッシュさせることがわかります
  • このパスはLion向けです-他のOSバージョンでは異なる場合があります
  • このファイルを編集するには、Sudoまたは権限を変更する必要がある場合があります
  • 編集する前にXCodeを閉じます

新しい<dict>要素を追加します

このファイルの最後にある<dict>のすぐ上にこのテキストを追加してください

    <key>Custom</key>
    <dict>
      <key>Delete Current Line In One Hit</key>
      <string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:</string> 
    </dict>

ご了承ください:

  • これはinside既存の<dict>であるため、この後に</dict></plist>があります
  • これにより、名前付きアクション「1回のヒットで現在の行を削除」が文字列の3つのキーアクションに関連付けられます。適切な組み合わせを得るために、ここでさまざまなオプションを試しました。たとえば、moveToBeginningOfLine、deleteToEndOfLineをその逆にしようとすると、空の行で使用すると、行および次の行全体が削除されます。どちらが嫌ですか

これを保存してXCodeを開きます

XCodeに新しいキーバインディングを追加する

リンクされた回答 でこれのスクリーンショットを参照するか、これを行います:

  1. XCode設定を開く
  2. キーバインドの選択
  3. すべてをクリックします
  4. SEarchボックスに「削除」と入力し、「現在の行を1ヒットで削除」を検索します。
  5. 新しいバインディングを追加します。

これを行う必要がありますが、1つの警告があります。 XCodeを取得して新しいバインディングをsaveすることはできませんでした。同じ問題が説明されています here 私の回避策にはわずかな違いがありました:

  1. デフォルトのバインディングの複製を作成します(「バインディング」ウィンドウの左下にある+ボタンを押して複製を作成します)
  2. 複製に新しいバインディングを設定します
  3. 設定ダイアログを閉じます(これがバリエーションです!)
  4. 設定を再度開き、古い複製の新しい複製を作成し、古い複製を削除します。

なんというリグマロール?しかし、それは機能します。これで、Ctrl + Dがマップされ、LionのXCode 4.3で現在の行全体が削除されます。

59
Rhubarb

Xcode 9の一時的な回避策を見つけました。

Xcode/Content/Frameworks/IDEKit.framework/Resources/IDETextK‌ eyBindingSet.plistを開き、以下の行を追加します。

サポートが制限されているXcode 8で発生するアクションを模倣します。削除できるのは1行だけですが、なんとか満足しています。これがすぐに修正されることを願っています。

<key>Customized</key>
<dict>
    <key>Delete Line</key>
    <string>moveToBeginningOfLine:, deleteToEndOfLine:, moveDown:, deleteBackward:</string>
</dict>

Xcodeを再起動すると、Key Bindings以下のようになります。

enter image description here

バインドして使用してください!

編集)下のものは元のものよりも良いと思います。

<string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:</string>
16
Wooseong Kim

BetterTouchTool を使用します。かなりクールです。

enter image description here

13
borisdiakur

Rhubarb の答えは正解で動作しますが、一つだけ、plistファイルにもっと簡単なコマンドがあります。 Rhubarb のすべての指示に従いますが、

の代わりに

<string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:</string>

以下を使用

<string>selectLine:, delete:</string>

これはより明確であり、誤動作の可能性を排除します。

これをコメントとして書きたいのですが、私の「評判」ではそれができません。

9
RabbitHole

これを試して:

  1. 最初に開くXcode-> Preferences

  2. Key Bindigsを選択します

  3. 検索段落の削除

  4. 変更ショートカットを削除ショートカット

enter image description here

7
Bary Levy

Keyboard Maestroユーザーの場合は、次のことを行うマクロを作成するだけです。

  • コマンド左矢印
  • シフトダウン矢印
  • 削除する

Command-Dに割り当て、Xcodeでのみ使用できるようにしました。

2
Paul Waldo

XCode 5および6の簡単なソリューション:

Alcatrazをインストールします: http://alcatraz.io/ その後、それを使用して「 XCodePlus delete line 」プラグインをインストールします。

Window > Package manager

他の素晴らしいプラグインの多く もあります。

1
Simon Epskamp

XCodeはdictファイルではなくplistファイルを使用するように見えます。また、新しい形式はキーバインディングへの複数のコマンドの追加をサポートしていません。また、カスタムコマンドを追加してバインドする方法もありません。何かを機能させるために私が見つけた唯一の方法は、^DdeleteToEndOfLine:^LmoveToBeginningOfLine:など、個別のアクションのキーバインディングを設定することです。 ^L+^Dを使用すると、複合効果が得られます。

1
onteria_

今はできないように思えます...私が間違っていれば私を修正してください...しかし、ここに私の新しい解決策があります...

xcodeの設定に移動してから、[キーバインド]タブに移動します。デフォルトのセットを複製します。そうすることで、私が行う提案が使用するものを壊すとき、あなたは私に腹を立てることはありません。

隣接し、使用するコマンドに使用されていない2つのキーを検索します...「;」、「 '」。

最初のキーを「行の先頭に移動」に設定し、2番目のキーを「行末まで削除」に設定します

その後、そのシーケンスを使用して行を削除します...

alternateは、行を選択するために何かを設定し、deleteを使用します。

1
Grady Player

他のアプリでそのキーバインドを使用しても構わない場合は、一般的なCocoaキーバインドで設定してみてください。 これ に説明があります。

1
LaC