1. 程式人生 > >Xcode自定義Eclipse中常用的快捷鍵

Xcode自定義Eclipse中常用的快捷鍵

之前在用Eclipse寫Java的時候,有幾個常用的快捷鍵,比如刪除當前行,在當前行下面插入空行,向上/下移動當前行等等,到了Xcode裡怎麼也找不到這些快捷鍵,一直覺得Xcode自帶的快捷鍵不夠強大,直到今天才知道不借助第三方的外掛,在Xcode下完全也可以實現這些功能,下面就說一下如何來做。

首先找到Xcode中的自帶的配置檔案
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist這個檔案裡配置了一些可以設定快捷鍵的操作, 使用常用的編輯器開啟它(需要root許可權)。

然後看看下面這段配置, (來自gist,感謝作者@gdavis )

<key>GDI Commands</key>
<dict>
  	<key>GDI Duplicate Current Line</key>
  	<string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
  	<key>GDI Delete Current Line</key>
  	<string>
moveToEndOfLine:, deleteToBeginningOfLine:, deleteBackward:, moveDown:, moveToEndOfLine:</string> <key>GDI Move Current Line Up</key> <string>selectLine:, cut:, moveUp:, moveToBeginningOfLine:, insertNewLine:, paste:, moveBackward:</string> <key>GDI Move Current Line Down</key>
<string>selectLine:, cut:, moveDown:, moveToBeginningOfLine:, insertNewLine:, paste:, moveBackward:</string> <key>GDI Insert Line Above</key> <string>moveUp:, moveToEndOfLine:, insertNewline:</string> <key>GDI Insert Line Below</key> <string>moveToEndOfLine:, insertNewline:</string> </dict>

這個dict是一組可以設定快捷鍵的操作,裡面的key是名稱,對應的string是對應的一組操作,從名字本身也可以看出是什麼意思,而且也可以根據這些自由裝配成自己的別的快捷操作。

  • GDI Duplicate Current Line 複製當前行到下面一行
  • GDI Delete Current Line 刪除當前行
  • GDI Move Current Line Up 把當前行往上移動一行
  • GDI Move Current Line Down 把當前行往下移動一行
  • GDI Insert Line Above 在當前行上面增加一空行
  • GDI Insert Line Below 在當前行下面增加一空行(不管游標是否在行尾)

把這段配置放到上面提到的IDETextKeyBindingSet.plist裡,放在檔案的最後的這兩行之前:

	</dict>
</plist>

重啟Xcode,在Xcode選單中,開啟Preferences,選中Key Binding,在右上方搜尋GDI, 會出現類似下圖的顯示,如果沒有的話,請檢查上面的每步操作。

img

雙擊右邊的空白處,就可以為每個功能設定不同的快捷鍵,我設定和Eclipse裡的一致,感受了下,非常爽,Cooool

Have fun!~