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

Macのターミナル上で起動しているVimでノーマルモードに移行する時にIMEをOFFにする方法

$
0
0

やりたいことは、シンプルで、Vimのノーマルモード移行時にIMEをオフにするというものです。これには、ノーマルモード移行キーとIMEをオフにするキーを組み合わせます。

私の場合は、C-jでノーマルモードに移行しますので、好みの問題ですが、これは適時読み替えてください。ちなみに、今回採用する方法は、Vimの設定は基本不要になります。

imap <C-j> <ESC>

BetterTouchToolを使った方法

BetterTouchToolというアプリを使うのですが、これはショートカットキー、タッチパッドなどを設定するアプリです。個人的にはこのアプリに頼りたくないのですが、既存の方法が全滅でしたので、とりあえずこのアプリで設定しました。誰か、シンプルな方法を知っていたら、ぜひ教えて下さい。

図にするとこんなかんじでキーを設定します。Select ApplicationはGlobalでも良いし、Terminalを指定してもよいです。ここで、Ctrl+Jには、Attach Additional Actionを設定することも忘れずに。

Ctrl+J ---> Ctrl+Shift+;|
       ---> Ctrl+[

解説ですが、私の場合は、Google IMEを使用していて、英数に切り替えるショートカットキーがCtrl+Shift+;なのです。

ちなみに、これは独自に設定できます。例えば、以下の設定などが便利ですね。

これをしておくと、ターミナルを除くほとんどのアプリでC-Jを押すと、IMEをオフに出来ます。しかし、何故かターミナルでは有効になりませんでした...。

Karabiner

2015年05月、前まで使っていた方法が何故か使えなくなってしまいました。

今までは、Karabinerというアプリを使って、特定のキーをEscape, JIS_EISUU(英数)に割り当てていました。

private.xml
<?xml version="1.0"?><root><list><item><name>LeaveInsMode with EISUU(Terminal)</name><identifier>private.app_terminal_esc_with_eisuu</identifier><only>TERMINAL</only><autogen>--KeyToKey-- KeyCode::ESCAPE, KeyCode::ESCAPE, KeyCode::JIS_EISUU</autogen><autogen>--KeyToKey-- KeyCode::J, VK_CONTROL, KeyCode::J, VK_CONTROL, KeyCode::JIS_EISUU</autogen></item></list></root>

割り当て方法としては、アプリの仕様変更などがあったかもしれないと、様々な方法を使ってみたのだけど、何故か有効にならない。アクセシビリティでも権限与えてるはずなんだけどな...。

とりあえず、それは置いておいて、これは、Custom Settingと呼ばれるもので、所定の形式で書かれたXMLファイルを読み込むと、nameで指定された項目が表示され、その設定を有効にできるというものです。設定をチェック後は、Reload XMLで独自の設定が読み込まれ、有効になります。

デフォルトではprivate.xmlなので私はそれを使っていますが、ファイルは指定することもできます。

内容を見ていくと、例えば、以下のようになります。

private.xml
<autogen>

 --KeyToKey-- 
 KeyCode::ESCAPE, 
 KeyCode::ESCAPE, 
 KeyCode::JIS_EISUU

 </autogen>

これは、ESCが押された場合、ESC,JIS_EISUUの順にキーを押すというか、キーを変換します。

つまり、ESC -> ESC, 英数となるわけですね。また、onlyでは、キーを有効にするアプリを指定できます。ここでは、TERMINAL(ターミナルのこと)を指定していますが、他には、VI, MACVIMなども指定できます。

ちなみに、指定できるキーコードは以下のページが参考になります。USではなくJISキーボードの場合は、前にJIS_をつける点に注意です。

https://github.com/tekezo/Karabiner/blob/version_10.5.0/src/bridge/generator/keycode/data/KeyCode.data


Viewing all articles
Browse latest Browse all 5608

Trending Articles



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