[Mac OS X] Sublime Text 3 を Vim化したら文字の連続入力ができない(キーリピートが効かない)ときの解決方法

@kasumiiです。こんにちは。

ふと思い立って Sublime Text 3 をインストールし、Vim化してみたら意外と使いやすかったので、ちょっとずつ自分好みにカスタマイズしてひっそりと楽しんでいたら、とある問題に気付きました。

Sublime Text で Vim キーバインドを使えるのはすごくいいんですが、なぜかコマンドモードでキー移動が連続してできないという現象に遭遇。

普通なら、j キーを押しっぱなしにすればカーソルがどんどん下へ移動するはず。でもなぜか Vim化した Sublime Text では、押しっぱなしでは反応せず、何度も j キーを押さないと移動できない……これでは不便すぎます。

Sublime Text を Vim化するのはとても簡単で、設定ファイルに以下を記述するだけですが、これをやると上記の現象が起こります。

"ignored_packages": [],
"vintage_ctrl_keys": true,
"vintage_start_in_command_mode": true,

公式ページをよく見てみると、Sublime Text 2 のドキュメントに解決方法が書いてあり、このやり方の一部を Sublime Text 3 に読み変えて実行するだけでいけました。

【参考】Vintage Mode – Sublime Text 2 Documentation

ターミナル.app を起動して、以下のコマンドを実行します。(Sublime Text 2 の人は、「com.sublimetext.3」部分を「com.sublimetext.2」に変更すればOK。)

defaults write com.sublimetext.3 ApplePressAndHoldEnabled -bool false

これで、ちゃんと押しっぱなしでカーソル移動ができるようになりました!(∩´∀`)∩ワーイ

ちなみに、このカーソル移動時のスピード(Key Repeat)を早めるとさらに快適になるので、まだやってないかたは以下の設定も参考にしてみてください。

【参考】Mac のキーリピート速度をあげる KeyRemap4MacBook 設定 | memobits