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

VimでInsertモードからNormalモードに切り替える時に自動で英数入力に切り替える (for Mac High Sierra)

$
0
0

VimのNormalモードで日本語入力が鬱陶しい

latexの文章を自分のテキストエディタで書いている時,日本語入力のままNormalモードでコマンドを打ってしまい,Vim操作にならず手間がかかることが多々あったので,InsertからNormalに切り替えるときに自動で英数入力に切り替える方法を調べた.

KarabinerではSierra, High Sierraでの方法がわからない

キーバインドを自由に設定できるKarabinerでは,Sierra,High Sierraにおいて複数キーを複数キーにリマップすることができないらしい.自分でもやってみたがうまくいかなかった.

Hammerspoonを利用するとできた

Hammerspoonは,macOSに関する様々な処理を自動化するツール.

https://blog.freedom-man.com/macos-sierra-keyremap/
このサイトを参考に,設定してみる.
Hammerspoonをインストールし,起動 -> Enable Accessibilityをクリック -> セキュリティとプライバシーのプライバシーでHammerspoonにチェック
このあと,configをいじる.
File -> Open configで,init.luaファイルを編集.

init.lua
localfunctionkeyCode(key,modifiers)modifiers=modifiersor{}returnfunction()hs.eventtap.event.newKeyEvent(modifiers,string.lower(key),true):post()hs.timer.usleep(1000)hs.eventtap.event.newKeyEvent(modifiers,string.lower(key),false):post()endendlocalfunctionkeyCodeSet(keys)returnfunction()fori,keyEventinipairs(keys)dokeyEvent()endendendlocalfunctionremapKey(modifiers,key,keyCode)hs.hotkey.bind(modifiers,key,keyCode,nil,keyCode)endremapKey({'ctrl'},']',keyCodeSet({keyCode('escape'),keyCode(';',{'ctrl','shift'})}))hs.hotkey.bind({"cmd","alt","ctrl"},"R",function()hs.reload()end)hs.alert.show("Config loaded")

コードの説明は下の参考にしたサイトでみていただければと思う.
このようにファイルを設定した後,File -> Reload configで,configをリロードする.
これでInsertからNormalにスムーズに切り替えができるようになった.
ちなみに,カタカナ入力をオンにしている場合はうまくいかない場合があるので,
システム環境設定 -> キーボード -> 入力ソース -> 日本語
から,カタカナ,半角カタカナのチェックを外しておくとうまく行くと思う.

めっちゃ参考にしたサイト:
https://blog.freedom-man.com/macos-sierra-keyremap/


Viewing all articles
Browse latest Browse all 5608

Trending Articles



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