Engineering

Apr 18, 2021

CodeSandboxでキーリピーティングができない問題の対処法

普段、フロントエンドのコードを書くのにCodeSandboxを使っていますが、ちょっとした問題があったので、この記事ではその解決方法をご紹介します。

問題: CodeSandboxのVimキーバインドでキーリピートが効かない

私は普段コードを書くときにvimを使っているので、ご多分にもれず、CodeSandboxでもvimのキーバインドを使っています。

Vimのキーバインドを設定すると、キーリピーティングが効かなくなり、jキーを押してもカーソルが下に移動せず、キーを連打しないと移動しなくなってしまい、非常に困っていました。

解決策

ターミナルで下記コマンドを実行してください。

defaults write -g ApplePressAndHoldEnabled -bool false

現在のCodeSandboxはVSCodeの設定を継承しているようで、VSCodeでVim Keybindingを使いたい場合、ターミナルでMacの設定を変更する必要があるのですが、CodeSandboxではターミナルを使う条件が限定されているようで、それができません。

VSCodeの設定はこちらに書いてあります。

Macには、キーを押したときの動作をアプリケーションごとに設定する仕組みがあるようですが、キーリピートを有効にするには、この設定ApplePressAndHoldEnabledを無効にする必要があります。

VSCodeでは、ローカルターミナルでコマンドを実行することで、この設定を無効にすることができるのですが、CodeSandboxでは同じことができなかったので、一度、グローバル設定のApplePressAndHoldEnabledをオフにしています。 (反映にはコンピュータの再起動が必要です。)

何か問題があれば元に戻せばいいので、ワークアラウンドとしてグローバル設定をオフにしました。

defaults write -g ApplePressAndHoldEnabled -bool true

Chromeを対象に範囲を限定して設定してみてもうまくいかなかったので、過不足なく動くようにするにはう少し追加の設定が必要なのかと思います。

いざとなれば戻せるのであまり問題にならないと思っていますが、グローバルな設定を変更することになりますので、注意して使用していただければと思います。

関連記事

記事検索

気になるサイト内の記事を検索する

プロフィール

バンクーバー在住のフルスタックエンジニアです。React, Ruby on Rails, Go などでお仕事しています。職場がトロントなので日本、トロント、バンクーバーの三つの時天空を操って生活しています。

プロモーション

Index

  • 問題: CodeSandboxのVimキーバインドでキーリピートが効かない
  • 解決策