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

Vim以外でVimっぽくctrl+hjklカーソル移動する。(Macのみ)

$
0
0

新参弱Vimmerなのでお手柔らかに…
タイトルにあるように、Macユーザー向けです。
hjklじゃなくて、ctrl+hjkl です。悪しからず。

vim使い始めるとhjklでのカーソル移動に慣れてしまって、カーソルキーまで移動するのが億劫に…
ブラウザはChromeなのでVimiumはもちろん導入しました。

で、当然ながら他の環境でもhjklしたくなるじゃないですか?

そこで、登場するのがKeyRemap4MacBookです。
名前にMacBookって入ってますが他のMacでもいけます。

名前の通りKeyをremapするものです。
そもそもKeyRemap4MacBookには
normal mode,visual modeとかが簡単に利用できる設定も存在します。

僕の場合は、normal modeに入ったりしないでctrl+hjklでのカーソル移動だけ使えりゃいい && MacVim使ってる時は無効化したいので自分で書きました。如何にも新参弱Vimmerっぽいですね!!

private.xml
<?xml version="1.0"?><root><appdef><appname>MACVIM</appname><equal>org.vim.MacVim</equal></appdef><item><name>Control_L + hjkl to Left/Down/Up/Right except MacVim</name><identifier>private.vim_mode_except_vim</identifier><not>MACVIM</not><autogen>__KeyToKey__ KeyCode::H, ModifierFlag::CONTROL_L, KeyCode::CURSOR_LEFT</autogen><autogen>__KeyToKey__ KeyCode::J, ModifierFlag::CONTROL_L, KeyCode::CURSOR_DOWN</autogen><autogen>__KeyToKey__ KeyCode::K, ModifierFlag::CONTROL_L, KeyCode::CURSOR_UP</autogen><autogen>__KeyToKey__ KeyCode::L, ModifierFlag::CONTROL_L, KeyCode::CURSOR_RIGHT</autogen></item></root>

自分で設定を追加する手順は公式にある通りです。


備忘録的にちょっと解説書くと
下記部分が設定内で指定したいアプリケーションの割り当て。

<appdef><appname>MACVIM</appname><equal>org.vim.MacVim</equal></appdef>

appnameは自分のわかりやすいように決めて大丈夫。あとで使う。
equalはKeyRemap4MacBook同梱アプリのEventViewerで確認します。

  1. KeyRemap4MacBook上部の Misc&Uninstallタブ を選択。
  2. Launch EventViewerで起動。
  3. 上部appタブを選択してからアプリを切り替えると、切り替えたアプリの履歴が出るのでApplication Bundle Identifier を確認。

といった感じです。
で、下記で具体的なremapの指定。

<item><name>Control_L + hjkl to Left/Down/Up/Right except MacVim</name><identifier>private.vim_mode_except_vim</identifier><not>MACVIM</not><autogen>__KeyToKey__ KeyCode::H, ModifierFlag::CONTROL_L, KeyCode::CURSOR_LEFT</autogen><autogen>__KeyToKey__ KeyCode::J, ModifierFlag::CONTROL_L, KeyCode::CURSOR_DOWN</autogen><autogen>__KeyToKey__ KeyCode::K, ModifierFlag::CONTROL_L, KeyCode::CURSOR_UP</autogen><autogen>__KeyToKey__ KeyCode::L, ModifierFlag::CONTROL_L, KeyCode::CURSOR_RIGHT</autogen></item>

nameはremapの名前。そのまんまですね。この名前が設定画面に表示されます。
identifierは…忘れたw
notはこのremapを除外するアプリを指定します。ここでさっきappdefで割り当てたnameを書いてやります。
最後にautogenに肝心のremapを書きます。ここの書き方はググるといっぱい出てくるので割愛。

このファイルを読み込んでやると、設定一覧に出てくるのでチェックを入れるだけです!

スクリーンショット 2014-01-14 4.11.01.jpg

これでカーソルキーまで手を伸ばさなくても!カーソルが!移動!で!き!r!u!

最後に一言

exceptって単語使い方あってるのかな…間違ってたら指摘して下さい…


Viewing all articles
Browse latest Browse all 5608

Trending Articles



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