Cloud9のショートカットを変更して作業を効率化する

問題

Cloud9のデフォルトの設定だと普段使っているターミナルのショートカットが使えない。

自分が不満に思ったのは以下。

ショートカット 自分が期待する動作 デフォルトの動作
Ctrl-N 次の行に移動 新しいウィンドウが開く
Ctrl-P 前の行に移動 印刷が開く
Ctrl-TAB タブの移動 ブラウザのタブ移動
Ctrl-F 次の文字へ移動 検索窓が開く
Ctrl-E 行末へ移動 Navigateが開く
Ctrl-K 行末まで削除 効かない

Ctrl-Kのデフォルト設定はfindnextとなっていて、最後に入力した検索クエリの次の出現を検索する)

問題は2つ。

  1. ブラウザのショートカットが優先されてしまうこと
  2. Cloud9のデフォルトキーバインドの設定

上の3つは前者が原因。他のは後者。

ブラウザのショートカットが優先されることの解決

これは以下の記事を参考に、Chromeでアプリとして起動すれば解決。

f:id:yskoht:20180101160703p:plain
Google Chromeの設定から「その他のツール」→「デスクトップに追加」

Cloud9のキーバインドを変更する

Cloud9のPerferencesの"KEYBINDINGS"の項目を変更する。

  • findを空欄にする1
  • navigateを空欄にする2

f:id:yskoht:20180101163747p:plain
Cloud9のKEYBINDINGSの変更

でもなぜか、Ctrl-Kだけうまくいかない。

  • findnextを空欄にし、removetolineend3Ctrl-Kに変更する

この設定をしても findnextが実行される模様。 でもデフォルトのCtrl-Shift-Kで行末まで削除ができるっぽい4のでとりあえずこのままでいいか…

keybindings.settings

GUIから設定するのが面倒ならkeybindings.settingsをコピペしてもよい

// Edit this keymap file and save to apply.
[
    { "command": "find", "keys": { "win": [""] } },
    { "command": "findnext", "keys": { "win": [""] } },
    { "command": "navigate", "keys": { "win": [""] } },
    { "command": "removetolineend", "keys": { "win": ["Ctrl-K"] } }
]

  1. 空欄にしただけで期待する動作になった

  2. 空欄にしただけで期待する動作になった

  3. デフォルトではAlt-Deleteとなっている

  4. キーバインド上はfindpreviousのはずなんだけど