IntelliJ IDEA For Mac 快捷鍵

根據(jù)官方pdf翻譯:https://www.jetbrains.com/idea/docs/IntelliJIDEA_ReferenceCard_Mac.pdf

在 IntelliJ IDEA 中有兩個(gè) Mac 版本的快捷鍵,一個(gè)叫做:Mac OS X,一個(gè)叫做:Mac OS X 10.5+

目前都是用:Mac OS X 10.5+

有兩套的原因:https://intellij-support.jetbrains.com/hc/en-us/community/posts/206159109-Updated-Mac-OS-X-keymap-Feedback-needed

建議將 Mac 系統(tǒng)中與 IntelliJ IDEA 沖突的快捷鍵取消或更改,不建議改 IntelliJ IDEA 的默認(rèn)快捷鍵。

Mac鍵盤符號(hào)和修飾鍵說(shuō)明

? Command

? Shift

? Option

? Control

?? Return/Enter

? Delete

? 向前刪除鍵(Fn+Delete)

↑ 上箭頭

↓ 下箭頭

← 左箭頭

→ 右箭頭

? Page Up(Fn+↑)

? Page Down(Fn+↓)

Home Fn + ←

End Fn + →

? 右制表符(Tab鍵)

? 左制表符(Shift+Tab)

? Escape (Esc)

一、Editing(編輯)

Control + Space 基本的代碼補(bǔ)全(補(bǔ)全任何類、方法、變量)

Control + Shift + Space 智能代碼補(bǔ)全(過(guò)濾器方法列表和變量的預(yù)期類型)

Command + Shift + Enter 自動(dòng)結(jié)束代碼,行末自動(dòng)添加分號(hào)

Command + P 顯示方法的參數(shù)信息

Control + J 快速查看文檔

Shift + F1 查看外部文檔(在某些代碼上會(huì)觸發(fā)打開瀏覽器顯示相關(guān)文檔)

Command + 鼠標(biāo)放在代碼上 顯示代碼簡(jiǎn)要信息

Command + F1 在錯(cuò)誤或警告處顯示具體描述信息

Command + N, Control + Enter, Control + N 生成代碼(getter、setter、構(gòu)造函數(shù)、hashCode/equals,toString)

Control + O 覆蓋方法(重寫父類方法)

Control + I 實(shí)現(xiàn)方法(實(shí)現(xiàn)接口中的方法)

Command + Option + T 包圍代碼(使用if..else, try..catch, for, synchronized等包圍選中的代碼)

Command + / 注釋/取消注釋與行注釋

Command + Option + / 注釋/取消注釋與塊注釋

Option + 方向鍵上 連續(xù)選中代碼塊

Option + 方向鍵下 減少當(dāng)前選中的代碼塊

Control + Shift + Q 顯示上下文信息

Option + Enter 顯示意向動(dòng)作和快速修復(fù)代碼

Command + Option + L 格式化代碼

Control + Option + O 優(yōu)化import

Control + Option + I 自動(dòng)縮進(jìn)線

Tab / Shift + Tab 縮進(jìn)代碼 / 反縮進(jìn)代碼

Command + X 剪切當(dāng)前行或選定的塊到剪貼板

Command + C 復(fù)制當(dāng)前行或選定的塊到剪貼板

Command + V 從剪貼板粘貼

Command + Shift + V 從最近的緩沖區(qū)粘貼

Command + D 復(fù)制當(dāng)前行或選定的塊

Command + Delete 刪除當(dāng)前行或選定的塊的行

Control + Shift + J 智能的將代碼拼接成一行

Command + Enter 智能的拆分拼接的行

Shift + Enter 開始新的一行

Command + Shift + U 大小寫切換

Command + Shift + ] / Command + Shift + [ 選擇直到代碼塊結(jié)束/開始

Option + Fn + Delete 刪除到單詞的末尾

Option + Delete 刪除到單詞的開頭

Command + 加號(hào) / Command + 減號(hào) 展開 / 折疊代碼塊

Command + Shift + 加號(hào) 展開所以代碼塊

Command + Shift + 減號(hào) 折疊所有代碼塊

Command + W 關(guān)閉活動(dòng)的編輯器選項(xiàng)卡

二、Search/Replace(查詢/替換)

Double Shift 查詢?nèi)魏螙|西

Command + F 文件內(nèi)查找

Command + G 查找模式下,向下查找

Command + Shift + G 查找模式下,向上查找

Command + R 文件內(nèi)替換

Command + Shift + F 全局查找(根據(jù)路徑)

Command + Shift + R 全局替換(根據(jù)路徑)

Command + Shift + S 查詢結(jié)構(gòu)(Ultimate Edition 版專用,需要在Keymap中設(shè)置)

Command + Shift + M 替換結(jié)構(gòu)(Ultimate Edition 版專用,需要在Keymap中設(shè)置)

三、Usage Search(使用查詢)

Option + F7 / Command + F7 在文件中查找用法 / 在類中查找用法

Command + Shift + F7 在文件中突出顯示的用法

Command + Option + F7 顯示用法

四、Compile and Run(編譯和運(yùn)行)

Command + F9 編譯Project

Command + Shift + F9 編譯選擇的文件、包或模塊

Control + Option + R 彈出 Run 的可選擇菜單

Control + Option + D 彈出 Debug 的可選擇菜單

Control + R 運(yùn)行

Control + D 調(diào)試

Control + Shift + R, Control + Shift + D 從編輯器運(yùn)行上下文環(huán)境配置

五、Debugging(調(diào)試)

F8 進(jìn)入下一步,如果當(dāng)前行斷點(diǎn)是一個(gè)方法,則不進(jìn)入當(dāng)前方法體內(nèi)

F7 進(jìn)入下一步,如果當(dāng)前行斷點(diǎn)是一個(gè)方法,則進(jìn)入當(dāng)前方法體內(nèi),如果該方法體還有方法,則不會(huì)進(jìn)入該內(nèi)嵌的方法中

Shift + F7 智能步入,斷點(diǎn)所在行上有多個(gè)方法調(diào)用,會(huì)彈出進(jìn)入哪個(gè)方法

Shift + F8 跳出

Option + F9 運(yùn)行到光標(biāo)處,如果光標(biāo)前有其他斷點(diǎn)會(huì)進(jìn)入到該斷點(diǎn)

Option + F8 計(jì)算表達(dá)式(可以更改變量值使其生效)

Command + Option + R 恢復(fù)程序運(yùn)行,如果該斷點(diǎn)下面代碼還有斷點(diǎn)則停在下一個(gè)斷點(diǎn)上

Command + F8 切換斷點(diǎn)(若光標(biāo)當(dāng)前行有斷點(diǎn)則取消斷點(diǎn),沒(méi)有則加上斷點(diǎn))

Command + Shift + F8 查看斷點(diǎn)信息

六、Navigation(導(dǎo)航)

Command + O 查找類文件

Command + Shift + O 查找所有類型文件、打開文件、打開目錄,打開目錄需要在輸入的內(nèi)容前面或后面加一個(gè)反斜杠/

Command + Option + O 前往指定的變量 / 方法

Control + 方向鍵左 / Control + 方向鍵右 左右切換打開的編輯tab頁(yè)

F12 返回到前一個(gè)工具窗口

Esc 從工具窗口進(jìn)入代碼文件窗口

Shift + Esc 隱藏當(dāng)前或最后一個(gè)活動(dòng)的窗口,且光標(biāo)進(jìn)入代碼文件窗口

Command + Shift + F4 關(guān)閉活動(dòng)run/messages/find/... tab

Command + L 在當(dāng)前文件跳轉(zhuǎn)到某一行的指定處

Command + E 顯示最近打開的文件記錄列表

Option + 方向鍵左 / Option + 方向鍵右 光標(biāo)跳轉(zhuǎn)到當(dāng)前單詞 / 中文句的左 / 右側(cè)開頭位置

Command + Option + 方向鍵左 / Command + Option + 方向鍵右 退回 / 前進(jìn)到上一個(gè)操作的地方

Command + Shift + Delete 跳轉(zhuǎn)到最后一個(gè)編輯的地方

Option + F1 顯示當(dāng)前文件選擇目標(biāo)彈出層,彈出層中有很多目標(biāo)可以進(jìn)行選擇(如在代碼編輯窗口可以選擇顯示該文件的Finder)

Command + B / Command +? 鼠標(biāo)點(diǎn)擊 進(jìn)入光標(biāo)所在的方法/變量的接口或是定義處

Command + Option + B 跳轉(zhuǎn)到實(shí)現(xiàn)處,在某個(gè)調(diào)用的方法名上使用會(huì)跳到具體的實(shí)現(xiàn)處,可以跳過(guò)接口

Option + Space, Command + Y 快速打開光標(biāo)所在方法、類的定義

Control + Shift + B 跳轉(zhuǎn)到類型聲明處

Command + U 前往當(dāng)前光標(biāo)所在方法的父類的方法 / 接口定義

Control + 方向鍵下 / Control + 方向鍵上 當(dāng)前光標(biāo)跳轉(zhuǎn)到當(dāng)前文件的前一個(gè)/后一個(gè)方法名位置

Command + ] / Command + [ 移動(dòng)光標(biāo)到當(dāng)前所在代碼的花括號(hào)開始/結(jié)束位置

Command + F12 彈出當(dāng)前文件結(jié)構(gòu)層,可以在彈出的層上直接輸入進(jìn)行篩選(可用于搜索類中的方法)

Control + H 顯示當(dāng)前類的層次結(jié)構(gòu)

Command + Shift + H 顯示方法層次結(jié)構(gòu)

Control + Option + H 顯示調(diào)用層次結(jié)構(gòu)

F2 / Shift + F2 跳轉(zhuǎn)到下一個(gè)/上一個(gè)突出錯(cuò)誤或警告的位置

F4 / Command + 方向鍵下 編輯/查看代碼源

Option + Home 顯示到當(dāng)前文件的導(dǎo)航條

F3選中文件/文件夾/代碼行,添加/取消書簽

Option + F3 選中文件/文件夾/代碼行,使用助記符添加/取消書簽

Control + 0...Control + 9 定位到對(duì)應(yīng)數(shù)值的書簽位置

Command + F3 顯示所有書簽

七、Refactoring(重構(gòu))

F5 復(fù)制文件到指定目錄

F6 移動(dòng)文件到指定目錄

Command + Delete 在文件上為安全刪除文件,彈出確認(rèn)框

Shift + F6 重命名文件

Command + F6 更改簽名

Command + Option + N 一致性

Command + Option + M 將選中的代碼提取為方法

Command + Option + V 提取變量

Command + Option + F 提取字段

Command + Option + C 提取常量

Command + Option + P 提取參數(shù)

八、VCS/Local History(版本控制/本地歷史記錄)

Command + K 提交代碼到版本控制器

Command + T 從版本控制器更新代碼

Option + Shift + C 查看最近的變更記錄

Control + C 快速?gòu)棾霭姹究刂破鞑僮髅姘?/p>

九、Live Templates(動(dòng)態(tài)代碼模板)

Command + Option + J 彈出模板選擇窗口,將選定的代碼使用動(dòng)態(tài)模板包住

Command + J 插入自定義動(dòng)態(tài)代碼模板

十、General(通用)

Command + 1...Command + 9 打開相應(yīng)編號(hào)的工具窗口

Command + S 保存所有

Command + Option + Y 同步、刷新

Control + Command + F 切換全屏模式

Command + Shift + F12 切換最大化編輯器

Option + Shift + F 添加到收藏夾

Option + Shift + I 檢查當(dāng)前文件與當(dāng)前的配置文件

Control + ` 快速切換當(dāng)前的scheme(切換主題、代碼樣式等)

Command + , 打開IDEA系統(tǒng)設(shè)置

Command + ; 打開項(xiàng)目結(jié)構(gòu)對(duì)話框

Shift + Command + A 查找動(dòng)作(可設(shè)置相關(guān)選項(xiàng))

Control + Shift + Tab 編輯窗口標(biāo)簽和工具窗口之間切換(如果在切換的過(guò)程加按上delete,則是關(guān)閉對(duì)應(yīng)選中的窗口)

十一、Other(一些官方文檔上沒(méi)有體現(xiàn)的快捷鍵)

Command + Shift +8 豎編輯模式

移動(dòng)與選取

光標(biāo)移動(dòng)

剛從 Windows 轉(zhuǎn)過(guò)來(lái)的時(shí)候可能會(huì)發(fā)現(xiàn),Mac 上沒(méi)有 Home 和 End 鍵。其實(shí),直接這樣就好了:Cmd + ← 移至行首 (Home)Cmd + → 移至行尾 (End)

類似的,找不到 PageUp 和 PageDown,其實(shí) Mac 系統(tǒng)也是有的:Fn + ↓ 向下翻頁(yè) (PageUp)Fn + ↑ 向上翻頁(yè) (PageDown)

再比如,對(duì)于一些很長(zhǎng)的網(wǎng)頁(yè),想快速跳到頂部和底部,即使網(wǎng)頁(yè)上沒(méi)有按鈕也沒(méi)關(guān)系,可以這樣:

Cmd + ↑ 回到頂部Cmd + ↓ 跳到底部

Mac 中也提供了按詞跳光標(biāo)的功能,英文中就是通過(guò)空格來(lái)判斷:

Option + ← 向前跳一個(gè)詞Option + → 向后跳一個(gè)詞

刪除

Windows 系統(tǒng)很貼 ♂ 心地為我們加上了兩個(gè)刪除鍵,一個(gè)是位于等號(hào)右邊的退格(BackSpace),一個(gè)是位于方向鍵上面的向后刪除(Delete)。Mac 雖然只有一個(gè) delete,相當(dāng)于 Windows的退格。但其實(shí),我們只要通過(guò)組合鍵 fn + delete 就可以實(shí)現(xiàn)向后刪除了

不僅如此,delete 和 fn + delete 絕大部分情況下可以搭配 Option 實(shí)現(xiàn)向前/向后刪除一個(gè)詞。一些情況下可以搭配 Cmd實(shí)現(xiàn)刪除整行(在編輯器 Atom 中不行,因?yàn)?Atom 把這個(gè)組合鍵默認(rèn)設(shè)置成了刪除至行首/行尾,如有需要,改下配置就好了)

文本選取

以上所有提到的快捷鍵,都可以搭配 Shift 來(lái)實(shí)現(xiàn)選取

想向上選中半頁(yè)的內(nèi)容,只需要:Fn + Shift + ↑

想從當(dāng)前位置選到末尾(多行),只需要:Cmd + Shift + ↓

想向后選中三個(gè)詞,只需要(* 3 表示按三次):Option + Shift + → * 3

想選擇整行,只需要:Cmd + ← 然后 Cmd + Shift + →當(dāng)然也可以 Cmd + → 然后 Cmd + Shift + ←

編輯操作

基礎(chǔ)操作

簡(jiǎn)單來(lái)說(shuō),大部分快捷鍵,就是把 Windows 的 Ctrl 替換成 Cmd 就行了,比如:Cmd + A 全選Cmd + C 復(fù)制Cmd + X 剪切Cmd + V 粘貼Cmd + Z 撤銷Cmd + Shift + Z 恢復(fù)(恢復(fù)撤銷操作)

移動(dòng)文件

這部分可能不應(yīng)該放在這篇博客中。只是個(gè)人覺(jué)得,與復(fù)制粘貼文本快捷鍵一起去記憶和使用,會(huì)比較好理解

上面提到的大部分快捷鍵對(duì)于在 Finder 中操作文件也是同理,我們可以全選、復(fù)制、粘貼甚至撤銷和恢復(fù),唯獨(dú)不能通過(guò) Cmd + X 來(lái)剪切

很多朋友抱怨說(shuō) Mac 只能復(fù)制粘貼文件之后再把原來(lái)的刪除(順便,把文件移動(dòng)到 Trash 的快捷鍵是 Cmd + delete),移動(dòng)文件的時(shí)候很不方便。其實(shí),Mac 是有這個(gè)功能的。復(fù)制之后,在目標(biāo)文件夾右鍵,菜單打開后,按住Option,本來(lái)的 “Paste Item” 就會(huì)變成 “Move Item Here”:

當(dāng)然,也可以通過(guò)快捷鍵 Cmd + Option + V 來(lái)完成移動(dòng)文件,會(huì)出現(xiàn)這樣的提示,確定即可:

格式快捷鍵

在大部分文本編輯器,比如 Microsoft Word 或者 Apple 的 Pages,Numbers 中,我們可以用快捷鍵調(diào)格式:Cmd + B 文字加粗(Bold)Cmd + I 斜體文字(Italic)Cmd + U 文字下劃線(Underline)

特殊快捷鍵

補(bǔ)充:有朋友提到,絕大部分文字編輯區(qū)都支持以下快捷鍵,如果你用 Emacs,可能對(duì)這些不會(huì)陌生

這些快捷鍵可以不去記憶,對(duì)于開發(fā)者來(lái)說(shuō)可能會(huì)偶爾用,對(duì)于絕大部分用戶,可能并不怎么需要

比如在 iTerm 中,我們會(huì)發(fā)現(xiàn),用 Cmd + ← 是跳不回開頭的,因?yàn)?iTerm 已經(jīng)把這個(gè)鍵設(shè)置成了跳到上一個(gè) Tab。同樣,用 Option鍵跳單詞也不行了

這種情況下,我們需要這些特殊快捷鍵來(lái)實(shí)現(xiàn)功能:Ctrl + A 跳到行首(Home)Ctrl + E 跳到行尾(End)Ctrl + F 向后移動(dòng)一個(gè)字符Ctrl + B 向前移動(dòng)一個(gè)字符Ctrl + P 光標(biāo)上移一行Ctrl + N 光標(biāo)下移一行

向前后跳詞的方式比較特殊,我們需要:ESC + F 向后移動(dòng)一個(gè)單詞ESC + B 向前移動(dòng)一個(gè)單詞同時(shí),iTerm 也為我們提供了特殊快捷鍵:Ctrl + ← 向前移動(dòng)一個(gè)單詞Ctrl + → 向后移動(dòng)一個(gè)單詞再比如,iTerm 中我還經(jīng)常用這個(gè):Ctrl + U 刪除整行

這些快捷鍵,特別是在手打比較長(zhǎng)的命令的時(shí)候,會(huì)很有用。這些快捷鍵也適用于其他的大部分環(huán)境。對(duì)于一般用戶,沒(méi)必要去特別記憶了,用上面提到的那些就好

一點(diǎn)點(diǎn)補(bǔ)充

關(guān)于 Cmd + F 文字查找,我打算在后面說(shuō) Chrome 操作的時(shí)候再提及。關(guān)于 Cmd + R 文字替換,暫時(shí)不打算多介紹。個(gè)人覺(jué)得這個(gè)功能對(duì)于普通用戶來(lái)說(shuō)可能意義不太大吧。而且現(xiàn)在很多編輯器和軟件都有比較友好的替換窗口,用起來(lái)也不會(huì)太困難

寫在最后

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,156評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,401評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,069評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,873評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,635評(píng)論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,128評(píng)論 1 323
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,203評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,365評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,881評(píng)論 1 334
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,733評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,935評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,475評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,172評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,582評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,821評(píng)論 1 282
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,595評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,908評(píng)論 2 372