はじめに
普段Atom等のエディターを使っていてよく使うショットカットキーがXcode7にはなかった(自分が知らないだけかも)ので参考サイトを見ながら自分で作成してみました。備忘録として書き記します。
欲しいショートカットキー
1.行の削除
2.行の入れ替え(カーソルがある行を上下へ移動)
3.行の複製
4.カーソルの位置を問わず改行
設定方法
1.Finder を起動して Command
+ Shift
+ u
ユーティリティーディレクトリーが開かれるので、ターミナルを選択して起動。
下記のコマンドをターミナルにコピペ。
cp /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions
/A/Resources/IDETextKeyBindingSet.plist ~/Desktop/
デスクトップに上記のファイルが作成されます。
※編集権限が必要なので、一度デスクトップに設定ファイルをコピーしてきて編集します。
2.1で作ったファイル(IDETextKeyBindingSet.plist)を適当なエディターで開きます。
(ここではAtomで開いています。https://atom.io/)
ファイルの中身はXML形式のデータになっています。
開いたファイルの一番したのほうに(一番下にある</dict>
タグの一行上に)下記に
記述したコードをコピペします。
・<key>
タグはコマンドの名前
・<string>
タグは実現したい機能の命令
<key>Original Direction</key>
<dict>
// 行の削除
<key>Delete Line Original</key>
<string>selectLine:, delete:</string>
// 行の複製
<key>Duplicate Line Original</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
// 行を上に移動
<key>Move Line Up Original</key>
<string>selectParagraph:, cut:, moveBackward:, moveToBeginningOfParagraph:, paste:, moveBackward:, moveToBeginningOfParagraph:</string>
// 行を下に移動
<key>Move Line Down Original</key>
<string>selectParagraph:, cut:, moveToEndOfParagraph:, moveRight:, paste:, moveBackward:, moveToBeginningOfParagraph:</string>
// カーソルの位置を問わず改行
<key>Continue Newline Original</key>
<string>moveToEndOfLine:, insertNewline:</string>
</dict>
編集が完了したら、デスクトップにあるファイル(IDETextKeyBindingSet.plist)を
元の場所に戻します。
1の手順でターミナルを開き下記のコマンドをコピペします。
sudo cp ~/Desktop/IDETextKeyBindingSet.plist /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions
/A/Resources/IDETextKeyBindingSet.plist
※ここで編集したファイルはXcodeをバージョンアップした際に、デフォルトの
状態に戻ってしまうようなので、どこかにバックアップとして保存しておきます。
3.Xcodeを起動して、キーバインドの設定
Xcodeを起動してcommand
+,
で設定画面を開き
Key Bindingsを選択
Key Bindingsを選択し、下のほうへスクロールすると先程作成した
Original Directionという項目があるので
それぞれのCommandに任意のKeyを設定する。
ここでは
・Move Line Up Original(カーソルがある行を上へ)
command
+option
+shift
+↑
・Move Line Down Original(カーソルがある行を下へ)
command
+option
+shift
+↓
・Delete Line Original(カーソルがある行の削除)
command
+D
・Continue Newline Original(カーソルの位置を問わずに改行)
shift
+enter
・Duplicate Line Original(カーソルがある行の複製)
command
+shift
+V
おわりに
カーソルの位置を問わずに改行などは、特に重宝しています。
任意のKeyを設定する際に、デフォルトで設定されているKeyと同じKeyを設定しようとすると、Xcodeが警告を出します。使わないKeyならデフォルトKeyを削除してしまっても構いませんが、デフォルトKeyを削除、変更する際はよく確認してから編集しましょう。
一度いつのまにか、deletekeyに違うKeyが設定されていて泣きをみました・・・。
下記のサイトを参考にさせていただきました。ありがとうございます。
参考サイト