ST: 既に開いているファイル群からファイル表示ショートカット

Sublime Textでプロジェクト内のファイルを表示するショートカットキーは ctrl + p ですが、既に開いているファイル群からファイルをショートカットで表示(Eclipse で言う所の ctrl + e のような処理)したい場面は割りとよくあると思います。しかしSublime Textでは現時点(2019-10-09)ではデフォルトでそのようなショートカットを持っていません。それを行えるようにするには以下のように少しだけ工夫が必要です。

目次

前提

  • Sublime Text 3 (Sublime Text 2 では試してません)

手順

  1. Sublime TextのメニューからTools > Developer > New Plugin...を選択してpluginファイル作成画面に切り替えます。

  2. ファイル名を例えばshow_buffers.pyなどとして、以下の内容で<sublime_root>/Packages/Userフォルダ配下に保存します:

# <sublime_root>/Packages/User/show_buffer.py
import sublime_plugin
import os


def _show_name(name):
    return ([os.path.basename(name), name] if name
            else ["untitled", "untitled"])


class ShowBuffersCommand(sublime_plugin.WindowCommand):
    def run(self):
        window = self.window
        views = list(window.views())
        show_entries = [_show_name(v.file_name()) for v in views]

        def on_done(index):
            if index == -1:
                return
            window.focus_view(views[index])

        window.show_quick_panel(show_entries, on_done)
  1. Sublime TextのメニューからPreferences > Key Bindingsを選択し、ショートカットキーを割り当てます:
[
  ...
  // ctrl + i を割り当て!
  {
    "keys": ["ctrl+i"],
    "command": "show_buffers"
  },
  ...
]

NOTE: 上記の通り、自分は ctrl + i をショートカットキーに割り当てました。各自お好みで変更してください。

はい、これだけです🎉

ctrl + i を押すと開いているファイル群のみからショートカットでファイル選択が可能になります。

それでは良いコーディングライフを。

参考

Is there a shortcut for Sublime Text to find an open file (Eclipse Ctrl + E)? - stackoverflow

PR:時事ネタチェックの時間節約!
芽萌丸プログラミング部 @programming
プログラミング関連アカウント。Web標準技術を中心に書いていきます。フロントエンドからサーバサイドまで JavaScript だけで済ませたい人たちの集いです。