Edited at

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

More than 1 year has passed since last update.


本記事の対象となる環境


  • 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 様の記事