LoginSignup
5
4

More than 5 years have passed since last update.

command-paletteっぽいUIのプラグインのキーバインドをまとめて設定する

Last updated at Posted at 2015-03-24

はじめに

Atomのプラグインは、command-paletteとかfuzzy-finderとか、「入力した内容で絞り込んでその中から選んで実行する」というUIのものが多いですよね。

command-palette.png
fuzzy-finder.png

そういった似たようなUIのプラグイン用にキーバインドを設定する場合、それら共通のキーバインドを設定して使い回したいと思うのですが、
それをまとめて設定するkeymapの書き方を紹介します。

SelectListView用のプラグインを設定する

「入力した内容で絞り込んでその中から選んで実行する」UIを持つプラグインは多くの場合、SelectListViewを継承することで実現されています。

これを継承したプラグインの多くはこれと共通したビューからなるので、

keymap.cson
'.select-list atom-text-editor':
  'ctrl-c': 'core:cancel' # Vimっぽくキャンセル出来るようにしたい
  'ctrl-[': 'core:cancel'
  'tab': 'core:move-down' # Tab, Shift-Tabで順送り、逆送りしたい
  'shift-tab': 'core:move-up'

…のように、.select-list atom-text-editorのようなセレクタを指定してあげると、まとめて設定することが出来ます。(atom-text-editorは付けなくても良い)

SelectListViewに用意されたコマンド

ちなみに、SelectListViewでは、いくつか選択肢を操作するコマンドが用意されていて、以下のコマンドは共通して次の動作になります。

コマンド名 動作
core:move-up 前の(上の)選択肢に移動する
core:move-down 次の(下の)選択肢に移動する
core:move-to-top 最初の(一番上の)選択肢に移動する
core:move-to-bottom 最後の(一番下の)選択肢に移動する
core:confirm 決定
core:cancel キャンセル

他にも、SelectListViewの絞り込みの入力欄は縮小版のテキストエディタを使っているのでテキストエディタ(atom-text-editor)で有効なコマンドを設定することが出来ます。

他のプラグインでもcore:confirm, core:cancelなどは決定、キャンセルの動作になることが多いのでキーバインドを設定する場合は試してみるといいと思います。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4