本記事の対象となる環境
- 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 が有効になってしまうため。
- Esc キーが効かないため、
解決策
- Vim キーバインドを使いつつ、Cloud9 のエディタに Esc キー入力相当のキーバインドを登録する。
操作手順
- Cloud9 のエディタを開く。
- メニューより、「Cloud9」をタップ。
- プルダウンメニューより、「Open Your Init Script」をタップ。init.js をエディタで開く。
- 次のコードを記述する。この記述で、Vim キーバインドの挿入モード時、「
~~
」と入力すると<Esc>
キーを押したときと同じ動きをさせる。
require(["plugins/c9.ide.ace.keymaps/vim/keymap"], funciton (vim) {
vim.map("~~", "<Esc>", "insert")
})
- init.js を上書き保存する。
- Caps Lock(Ctrl キー相当) + Enter を押して init.js の内容をエディタの設定に反映させる。
- メニューより、「Edit」→「Keyboard Mode」→「Vim」を選択する。
問題点
そもそも vim のキーバインドがわからないと、この解決方法では問題を解決できない。
参考:Qiita「Vimをメモ帳程度に使うために覚えておくべきコマンド」@honeniq 様の記事