Hyperのショートカットキー一覧と変更方法(Mac)


最近流行りのターミナル、Hyperについてショートカットキーの一覧と変更方法をまとめてみました。

テキストエディタなどのツール一般にいえることですが、ショートカットキーを使いこなせるかどうかで作業効率が大幅に変わってきます。

この記事でみなさんの作業効率が少しでも上がれば幸いです

環境

  • OS:macOS High Sierra 10.13.1
  • Hyper:2.0.0

ショートカットキー一覧

デフォルトのキーマップ

デフォルトのキーマップは以下の通りです。
https://github.com/zeit/hyper/blob/master/app/keymaps/darwin.json

キー 設定名 説明
⌥⌘I "window:devtools" 開発ツールを開く
⌘R "window:reload" ウィンドウをクリアする
⇧⌘R "window:reloadFull" ウィンドウ全体をクリアする
⌘, "window:preferences" 設定ファイルを開く
⌘0 "zoom:reset" 縮尺をリセットする
⌘+ "zoom:in" 拡大する
⌘- "zoom:out" 縮小する
⌘N "window:new" 新しいウィンドウを開く
⌘M "window:minimize" ウィンドウを最小化する
^⌥⌘M "window:zoom" ウィンドウの最大化/解除
^⌘F "window:toggleFullScreen" ウィンドウのフルスクリーン/解除
⇧⌘W "window:close" ウィンドウを閉じる
⌘T "tab:new" 新しいタブを開く
⌘}, ⇧⌘→, ⌥⌘→ , ^⇥ "tab:next" 右のタブへ移動
⌘{, ⇧⌘←, ⌥⌘← , ^⇧⇥ "tab:prev" 左のタブへ移動
⌘{数字} "tab:jump:prefix" {数字}番目のタブへ移動
⌘] "pane:next" 右/下のペインへ移動
⌘[ "pane:prev" 左/上のペインへ移動
⌘D "pane:splitVertical" 左右にペインを分割する
⇧⌘D "pane:splitHorizontal" 上下にペインを分割する
⌘W "pane:close" ペイン/タブを閉じる
⌘Z "editor:undo" アンドゥ
⌘Y "editor:redo" リドゥ
⌘X "editor:cut" 切り取り
⌘C "editor:copy" コピー
⌘A "editor:selectAll" 全選択
⌥← "editor:movePreviousWord" 前の単語へ移動
⌥→ "editor:moveNextWord" 次の単語へ移動
⌘← "editor:moveBeginningLine" 先頭へ移動
⌘→ "editor:moveEndLine" 末尾へ移動
⌥⌫ "editor:deletePreviousWord" 前の単語を削除
⇧⌦ "editor:deleteNextWord" 次の単語を削除
⌘⌫ "editor:deleteBeginningLine" キャレットから先頭まで削除
⇧⌘⌦ "editor:deleteEndLine" キャレットから末尾まで削除
⌘K "editor:clearBuffer" バッファを削除
^⌘スペース "editor:emojis" 絵文字パレットの表示
^C "editor:break" 処理を中断する
⇧⌘U "plugins:update" プラグインの更新

私はreadlineで編集モードをviにしているせいか、「前の単語へ移動」など一部エディタ系のキーマップが反応しませんでした。

プラグインのキーマップ

自分が使っているプラグインで追加されるキーマップのみ載せます。

hyper-pane

Hyperにペインのショートカットキーを追加するプラグインです。
https://www.npmjs.com/package/hyper-pane

キー 説明
^⌥↑(^⌥K) 上のペインへ移動
^⌥↓(^⌥J) 下のペインへ移動
^⌥←(^⌥H) 左のペインへ移動
^⌥(^⌥L) 右のペインへ移動
^⌥{数字} {数字}番目のペインへ移動
⇧{ペインの移動} 移動先とペインを入れ替える
⌘⌤ ペインの最大化/解除

私はviのキーマップが好きなので()内のようにキーマップを変更しています。

.hyper.js
  config: {
    paneNavigation: {
      hotkeys: {
        navigation: {
          up: 'ctrl+alt+k',
          down: 'ctrl+alt+j',
          left: 'ctrl+alt+h',
          right: 'ctrl+alt+l',
        },
      },
    },
  },

hyper-search

Hyperに文字検索を追加するプラグインです。
https://www.npmjs.com/package/hyper-search

キー 説明
⌘F 検索ウィンドウを開く/閉じる
⌘G 次の検索結果に進む
⇧⌘G 前の検索結果に戻る
検索ウィンドウを閉じる

キーマップの変更方法

Hyperでは上記で紹介したデフォルトのショートカットキーを簡単に変更できます。すごい

設定ファイル( ~/.hyper.js ) の末尾に keymaps という項目があるので、その中に {設定名}: {キー} の順番で記述することで変更できます。

各値はシングルまたはダブルクォーテーションで括り、複数のキーマップを変更する場合はカンマで区切ります。

例えば以下のように記述します。

.hyper.js
  keymaps: {
    'window:devtools': 'cmd+alt+o',
  },

すると、デフォルトでは ⌥⌘I で開発ツールが開きましたが、 ⌥⌘O で開くようになります。
⌥⌘I を押下しても何も起きなくなります。

設定に複数のキーを紐付けたい場合、 [] で括って記述します。

.hyper.js
  keymaps: {
    'window:devtools': [
      'cmd+alt+o',
      'cmd+alt+t'
    ]
  },

この場合、 ⌥⌘O , ⌥⌘T の両方で開発ツールが開くようになります。

設定名を重複して記述した場合、後者が優先されます。

.hyper.js
  keymaps: {
    'window:devtools': 'cmd+alt+o',
    'window:devtools': 'cmd+alt+t',
  },

この場合は ⌥⌘T で開発ツールが開きます。 ⌥⌘O を押下しても何も起きません。

キーマップを重複して記述した場合も後者が優先されます。

.hyper.js
  keymaps: {
    'window:devtools': 'cmd+alt+o',
    'window:new': 'cmd+alt+o',
  },

この場合は ⌥⌘O を押下すると新しいウィンドウが開きます。開発ツールは開きません。

私のキーマップ設定

見てわかる通りiTerm2とほぼ同じキーマップのため、今のところ変えていません。
Hyperを使い込んで変えるようであれば、本記事に追記したいと思います。

逆にみなさんのおすすめの設定がありましたら、コメントなどで教えていただけると嬉しいです