xyk blog

最近は iOS 開発の記事が多めです。

Xcode にキーボードショートカットを追加する

検証環境:
Xcode 12
Swift 5.3

  • Finder を開き、「Command(⌘) + Shift(⇧) + G」を押す。
  • /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/ を入力してディレクトリを開く。
  • IDETextKeyBindingSet.plist ファイルをエディタで開く。
    またはターミナルから開く場合。
vi /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist
  • 最後の2行の上に追加する。今回は3つのコマンドを追加した。
    • 現在のカーソル行の複製
    • 現在のカーソル行の削除
    • 行末でなくても改行
    <key>My Custom Commands</key>
    <dict>
        <key>Duplicate Current Line</key>
        <string>selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string>

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

        <key>Continue Newline</key>
        <string>moveToEndOfLine:, insertNewline:</string>
    </dict>

</dict>
</plist>
  • Xcode を再起動する。
    「Command(⌘) + ,」で Preferences を開き、さらに Key Bindings を開く。

コマンドが追加されているので、右側の方をクリックし、実際のショートカットコマンドを入力する。

今回は以下のようなショートカットを登録した。

  • Delete Current Line(現在のカーソル行の削除)-> Command(⌘) + D
  • Continue Newline(行末でなくても改行)-> Shift(⇧) + enter(↩)
  • Duplicate Current Line(現在のカーソル行の複製)-> Shift(⇧) + Command(⌘) + V

既存のショートカットを被ると赤バツが表示される。

その場合は Conflicts タブを開き、既存のショートカットを見つけて、マイナスボタンを押してショートカットを削除する。
削除できないものもあるのでその場合は適当に他のショートカットを割り当てるなどする。

ここで追加したショートカットは

~/Library/Developer/Xcode/UserData/KeyBindings/ディレクトリにある
Default.idekeybindingsファイルに追記されている。

ちなみに Xcode をアップデートすると IDETextKeyBindingSet.plist がリセットされるので、再度追加する必要がある。