Cloud9 を iPad Pro の物理キーボードからつかう

  • 1
    いいね
  • 0
    コメント

本記事の対象となる環境

  • iPad Pro 10.5 inch WiFi モデル 64GB
  • iOS 11.0.2
  • bluetooth キーボード:EC Technology 3つ折りキーボード タッチパッド搭載
  • Cloud9 無料アカウント

問題

  • Cloud9 のエディタ(ace editor)は iOS デバイスでアクセス時、物理キーボードのカーソルキーおよび Esc キー、Ctrl キー、Alt キーからの入力を受け付けない。さらに、Caps Lock キーに Ctrl キーを割り当てる(重複する)。
    • Default キーバインドではキャレットの移動ができない。
    • Emacs キーバインドでは、Ctrl キー機能が物理キーボードの Caps Lock キーに割り当てられているため、キャレットの移動が困難である。
      • 筆者が Emacs キーバインドに詳しくないのも理由の一つ。😓
    • Vim キーバインドでは挿入モードから抜けるとき、Caps Lock を強要される。
      • Esc キーが効かないため、<C-[> で挿入モードから抜けるが、Ctrl キーが Caps Lock キーに割り当てられており、Caps Lock キーは iOS 側で生きているので、Caps Lock が有効になってしまうため。

解決策

  • Vim キーバインドを使いつつ、Cloud9 のエディタに Esc キー入力相当のキーバインドを登録する。

操作手順

  1. Cloud9 のエディタを開く。
  2. メニューより、「Cloud9」をタップ。
  3. プルダウンメニューより、「Open Your Init Script」をタップ。init.js をエディタで開く。
  4. 次のコードを記述する。この記述で、Vim キーバインドの挿入モード時、「~~」と入力すると<Esc>キーを押したときと同じ動きをさせる。

    require(["plugins/c9.ide.ace.keymaps/vim/keymap"], funciton (vim) {
     vim.map("~~", "<Esc>", "insert")
    })

  5. init.js を上書き保存する。

  6. Caps Lock(Ctrl キー相当) + Enter を押して init.js の内容をエディタの設定に反映させる。

  7. メニューより、「Edit」→「Keyboard Mode」→「Vim」を選択する。

問題点

そもそも vim のキーバインドがわからないと、この解決方法では問題を解決できない。

参考:Qiita「Vimをメモ帳程度に使うために覚えておくべきコマンド@honeniq 様の記事