04 October 2012
最近剛拿到了mba, 開始在進行ios & mac的study!
所以一定要用到xcode!
xcode真的是蠻強大的,像是analysis memory leak的工具!
但一直用習慣eclipse的我,還是有點點小小不習慣,
例如在eclispe可以刪除目前游標所在的一整行或者是複製一整行!
在eclispe可以透過hot key去操作!很方便! 在Eclipse裡面就有這些選項可以讓開發者設定!

但是在Xcode沒有預設的hot key可以“直接”做到!
得透過一連串的hot key去做到,例如先按下cmd+d -> cmd+x (隨便舉例的)
簡單的說無法透過一個步驟就去做到(例如cmd+d)

但好險我們可以自行設定一個combine的組合鍵來完成上述的動作!

首先先開啓terminal!
然後切換到下面的目錄
cd /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/

然後可以下ls -al看一下該目錄底下的目錄結構,
你會看到如下圖的結構!
你會發現有兩個Link指向Versions這個資料夾!
你的資料夾的權限應該是r--r--r--x!
只有讀的權限!
但我們等等要修改該目錄底下的檔案,所以先把權限設777吧!


指令如下:
chmod 777 Versions


改變以後我們在進到裡面的目錄!
如下:
cd ./Current/Resources


然後Xcode的預設key binding設定檔就在該目錄底下
接著就用vim去修改設定檔案吧!
sudo vim ./IDETextKeyBindingSet.plist 


打開以後會看到一大串的xml格式,基本上只要在下面dist中間加入入即可!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>

</dict>
</plist>

所以加入以後,就會變成下面的樣子!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<dict>
<key>DeleteCurrentLine</key>
<string>moveToBeginningOfLine:, deleteToEndOfLine:</string>
</dict>

</dict>
</plist>


這個例子是刪除目前游標行,
裡面就是這個指令的名稱 (別亂取,待會 要在Xcode裡面進行這個指令的快捷鍵)
裡面就是這個指令的一連串指令,我們可以看到有下面兩個

  • moveToBeginningOfLine(意思是移到這行的最前面)
  • deleteToEndOfLine(意思是從游標位置開始刪除,刪除到這行的最後面)


透過上述的指令就可以進行刪除一整行,
接著就打開Xcode吧!
1) 先進到Preferences裡面!
2) 選擇Key Binding!
3) 然後在搜尋筐中輸入你剛剛上面xml檔案中填入的key名稱
4) 基本上你就可以找到你剛剛設定的檔案!就可以修改他的快捷鍵了!像下圖的案例就是以cmd+d來進行刪除一整行













blog comments powered by Disqus