これはなに
Mac の PhpStorm で
- ファイルツリーなど、エディタ以外の場所でも
ctonrtol+P/Nでカーソルを上下させる - ファイルツリーからファイルを選択してすぐエディタにフォーカスする
ための、Karabiner (旧 KeyRemap4MacBook) の設定。
なんでこんなことするの
- PhpStorm のエディタ上では
ctonrtol+P/Nでカーソル上下するけど、ファイルツリーではこのショートカットが効かないから。 - ファイルツリーから
returnでファイルを開いてもファイルツリーにフォーカスしたままで、エディタに移動するにはescを押さないといけないから。
設定のしかた
- Karabiner の設定画面の
Misc & UninstallタブにあるCustom Setting欄のOpen private.xmlボタンを押す。 -
private.xmlを何かエディタで開く。 - 下記
private.xmlの内容を書き込む。もう何か書いてあったら適当にマージ。 - KeyRemap4MacBook の
Change Keyタブで右上のReloadXMLボタンを押したらremappingのツリーに次の2つが出るのでチェックを入れる。Control+P/N to Arrow Up/Down (on PhpStorm)Command+Control+Enter to Enter+Escape (on PhpStorm)
private.xml
<?xml version="1.0"?>
<root>
<appdef>
<appname>PHPSTORM</appname>
<equal>com.jetbrains.PhpStorm</equal>
</appdef>
<list>
<item>
<name>Control+P/N to Arrow Up/Down (on PhpStorm)</name>
<identifier>private.control_pn_to_updown</identifier>
<only>PHPSTORM</only>
<autogen>
--KeyToKey--
KeyCode::P, ModifierFlag::CONTROL_L | ModifierFlag::NONE,
KeyCode::CURSOR_UP
</autogen>
<autogen>
--KeyToKey--
KeyCode::N, ModifierFlag::CONTROL_L | ModifierFlag::NONE,
KeyCode::CURSOR_DOWN
</autogen>
</item>
<item>
<name>Command+Control+Enter to Enter+Escape (on PhpStorm)</name>
<identifier>private.command_control_enter_to_enter_escape</identifier>
<only>PHPSTORM</only>
<autogen>
--KeyToKey--
KeyCode::RETURN, ModifierFlag::COMMAND_L | ModifierFlag::CONTROL_L,
KeyCode::RETURN, KeyCode::ESCAPE
</autogen>
</item>
</list>
</root>
使い方
- PhpStorm でファイルツリーにフォーカスする。(
Command+1) -
controlを押しながらP/Nで上下する。 - 開きたいファイルにカーソルをあわせて
command+control+returnを押す。
これでファイルを開いてすぐエディタにフォーカスします。
なんで command + control + return にしたかというと、control + return は PhpStorm デフォルトのキーマップとかぶるから。control + P/N で上下してそのまま親指で command を押しつつ return を押すという流れを覚えれば割と楽です。