Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Karabiner-Elements おすすめ設定8選

$
0
0

1. 親指を Virtual modifier 1

例えば JIS キーボードの場合は Spaceの幅が狭いため、Spaceの左右にあるキーは親指で押しやすいです。そのため、Virtual modifier として設定するのがおすすめです。

以下のように定義すると、lang12が押されている間は変数 vk11 (離した時は 0)が設定され、単体で押した場合は かなとして動作するようになります。

{"type":"basic","from":{"key_code":"lang1"},"to":[{"set_variable":{"name":"vk1","value":1}}],"to_after_key_up":[{"set_variable":{"name":"vk1","value":0}}],"to_if_alone":[{"key_code":"japanese_kana"}]}

2. vk1 + H / J / K / Lでどこでもカーソル移動

以下の定義は、先程定義した vk1を使って vk1 + H / J / K / Lで上下左右にカーソル移動できるようにしたものです。これで、どのアプリにいても Vim 気分を味わうことができます。

{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"h","modifiers":{"optional":["any"]}},"to":[{"key_code":"left_arrow"}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"j","modifiers":{"optional":["any"]}},"to":[{"key_code":"down_arrow"}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"k","modifiers":{"optional":["any"]}},"to":[{"key_code":"up_arrow"}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"l","modifiers":{"optional":["any"]}},"to":[{"key_code":"right_arrow"}]}

3. vk1 + N / M / , / .でマウス移動

以下の定義は、先程の H / J / K / Lからキーボードの行を一段下げた N / M / , / .でマウスを移動させるものです。同時に Shiftも押している場合に移動距離を半分にすることで、低速モードを実現しています。

{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"n","modifiers":{"mandatory":["shift"]}},"to":[{"mouse_key":{"x":-1536}}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"m","modifiers":{"mandatory":["shift"]}},"to":[{"mouse_key":{"y":1536}}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"comma","modifiers":{"mandatory":["shift"]}},"to":[{"mouse_key":{"y":-1536}}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"period","modifiers":{"mandatory":["shift"]}},"to":[{"mouse_key":{"x":1536}}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"n"},"to":[{"mouse_key":{"x":-3072}}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"m"},"to":[{"mouse_key":{"y":3072}}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"comma"},"to":[{"mouse_key":{"y":-3072}}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"period"},"to":[{"mouse_key":{"x":3072}}]}

また、以下のように vk1 + /で左クリックというのもおすすめです。ダブルクリックをしたい場合は /を素早く二度、右クリックをしたい場合は Controlを押しながら /という感じです。

{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"slash","modifiers":{"optional":["any"]}},"to":[{"pointing_button":"button1"}]}

4. vk1 + FEsc

Vim を使う方は特に Escは多用すると思います。Touch Bar になって物理キーがなくなっても安心です。

{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"f"},"to":[{"key_code":"escape"}]}

5. vk1 + P / OControl+Tab / Control+Shift+Tab

Control+Tabはブラウザ等でよく利用すると思います。

{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"o"},"to":[{"key_code":"tab","modifiers":["control","shift"]}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"p"},"to":[{"key_code":"tab","modifiers":["control"]}]}

iTerm2がアクティブな場合は Control+Tabではなく Control+T3Control+Nにバインドすることで tmuxで次の Window を表示できるようにしたい』といった場合は、以下のようにして実現できます。

{"type":"basic","conditions":[{"type":"frontmost_application_if","bundle_identifiers":["com.googlecode.iterm2"]},{"type":"variable_if","name":"vk1","value":1}],"from":{"key_code":"o"},"to":[{"key_code":"t","modifiers":["control"]},{"key_code":"p","modifiers":["control"]}]},

6. セミコロンをエンターに

;Enterにしてしまうのもおすすめです。何のために Enter が大きくなっているんだと思われるかもしれませんが、おすすめです。以下のように定義することで、Control + ;でちゃんと ;も入力できますし、Shift + ;+も入力できます。

{"type":"basic","from":{"key_code":"semicolon","modifiers":{"mandatory":["control"]}},"to":[{"key_code":"semicolon"}]},{"type":"basic","from":{"key_code":"semicolon","modifiers":{"mandatory":["shift"]}},"to":[{"key_code":"semicolon","modifiers":["shift"]}]},{"type":"basic","from":{"key_code":"semicolon","modifiers":{"optional":["any"]}},"to":[{"key_code":"return_or_enter"}]}

7. アプリを一発呼び出し

vk1同様、まずは以下のように Spaceの左側にあるキー lang2を Virtual modifier の vk2として定義します。

{"type":"basic","from":{"key_code":"lang2"},"to":[{"set_variable":{"name":"vk2","value":1}}],"to_after_key_up":[{"set_variable":{"name":"vk2","value":0}}],"to_if_alone":[{"key_code":"japanese_eisuu"}]}

この状態で以下のように定義すると、vk2 + Jで Google Chrome を起動することができます。

{"type":"basic","conditions":[{"type":"variable_if","name":"vk2","value":1}],"from":{"key_code":"j"},"to":[{"shell_command":"open -a 'Google Chrome.app'"}]}

また、以下のように定義すると、vk2 + Eを押した時に、『Alfred 3 を起動して snipが入力された状態にする』といったこともできます。

{"type":"basic","conditions":[{"type":"variable_if","name":"vk2","value":1}],"from":{"key_code":"e"},"to":[{"shell_command":"osascript -e \"tell application \\\"Alfred 3\\\" to search \\\"snip \\\"\""}]}

8. ホームポジションでの数字入力

Spaceの右 (vk1) のさらに右にあるキー right_guivk3として定義してしまいます。

{"type":"basic","from":{"key_code":"right_gui"},"to":[{"set_variable":{"name":"vk3","value":1}}],"to_after_key_up":[{"set_variable":{"name":"vk3","value":0}}]}

この状態で以下のように A, B, ... :まで定義すると、

{"type":"basic","conditions":[{"type":"variable_if","name":"vk3","value":1}],"from":{"key_code":"a"},"to":[{"key_code":"1"}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk3","value":1}],"from":{"key_code":"s"},"to":[{"key_code":"2"}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk3","value":1}],"from":{"key_code":"d"},"to":[{"key_code":"3"}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk3","value":1}],"from":{"key_code":"f"},"to":[{"key_code":"4"}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk3","value":1}],"from":{"key_code":"g"},"to":[{"key_code":"5"}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk3","value":1}],"from":{"key_code":"h"},"to":[{"key_code":"6"}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk3","value":1}],"from":{"key_code":"j"},"to":[{"key_code":"7"}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk3","value":1}],"from":{"key_code":"k"},"to":[{"key_code":"8"}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk3","value":1}],"from":{"key_code":"l"},"to":[{"key_code":"9"}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk3","value":1}],"from":{"key_code":"semicolon"},"to":[{"key_code":"0"}]},{"type":"basic","conditions":[{"type":"variable_if","name":"vk3","value":1}],"from":{"key_code":"quote"},"to":[{"key_code":"hyphen"}]}

ホームポジションにいながら数字を入力できるようになります。電話番号を入力する際などに特に便利に感じます。

入力結果
vk3 + A1
vk3 + S2
vk3 + D3
vk3 + F4
vk3 + G5
vk3 + H6
vk3 + J7
vk3 + K8
vk3 + L9
vk3 + ;0
vk3 + :-

まとめ

こちらに載せていないすべての設定は https://github.com/hioki-daichi/Personal-Rules-For-Karabiner-Elementsに公開しています。Ruby から JSON を生成していたりします。

すでに Karabiner-Elementsがインストール済みであれば、以下の URL をお使いのブラウザに貼り付けるだけで設定をインポートすることができます。よかったらお試しください。

karabiner://karabiner/assets/complex_modifications/import?url=https://raw.githubusercontent.com/hioki-daichi/Personal-Rules-For-Karabiner-Elements/master/personal_rules.json

  1. https://pqrs.org/osx/karabiner/json.html#virtual-modifier 

  2. Apple Internal Keyboard の Spaceの右に配置されているキーです。キーボードによって異なると思いますので、Karabiner-EventViewerを使ってご確認ください。 

  3. デフォルトだと C-bだと思います。~/.tmux.confunbind C-b; set -g prefix C-t; bind C-t send-prefixして変えています。 


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>