telescope.nvim
概要
使い方
code:lua
-- :h telescope.builtin
-- require("telescope.builtin").$PICKER()
require("telescope.builtin").commands()
または
code:vim
コマンドのいずれかでピッカーを起動できます。
ピッカーにはnormalとinsertのモードがあり、デフォルトではinsertモードで開かれます。
insertモードの状態で<Esc>を押すとnormalモードへ変わり、normalモードの状態でiを押すとinsertモードに変わります。
normalモードの状態で?を押すと、キーマッピングが表示されます。
telescope.builtin
組み込みのピッカーの例
builtin() - このモジュールに組み込まれているピッカーの一覧を表示してくれます。
buffers() - バッファーの一覧を表示してくれます。
commands() - Vimコマンドの一覧を表示してくれます。
quickfix() - quickfixリストの内容を表示してくれます。
lsp_references() - LSPが返却するリファレンスの一覧を表示してくれます。
lsp_definitions() - カーソル配下のワードに関する定義の一覧を表示してくれます。
git_commits() - コミットログを表示してくれます。
git_bcommits() - 現在のバッファーに関するコミットログを表示してくれます。
git_branches() - Gitブランチの一覧を表示してくれます。 git_status() - git statusを実行し、その結果に対して操作を行うことができます。 キーマップ
<Tab> - ステージ/アンステージ
<CR> - 対象のファイルを開きます。
git_stash() - git stash listの結果を表示してくれます。
symbols() - あらかじめ定義されたシンボルの一覧を表示してくれます。
シンボルのセットはruntimepathのdata/telescope-sources/*.json または stdpath("data")/telescope/symbols/*.jsonで定義できます。
sourcesオプションによって、シンボルのセットを指定できます。
telescope.themes
ピッカーのスタイルを柔軟に切り替えるためのAPIを提供してくれます。
code:lua
require('telescope.builtin').commands(require('telescope.themes').get_ivy())
telescope.mappings
キーバインディングはrequire('telescope').setup()のdefaults.mappingsオプションなどでカスタマイズできます。
code:lua
-- :h telescope.mappings
mappings = {
-- insertモードのマッピング
i = {
-- キーバインディングの定義
-- 値にはtelescope.actionsで提供される関数/関数名 または ユーザーが用意した関数を指定できます
"<esc>" = "close" -- telescope.actionsのclose()関数を割り当てます }
}
telescope.layout
ピッカーのレイアウトはtelescope.setup()のdefaults.layout_strategyとtelescope.defaults.layout_configでカスタマイズできます。
telescope.utils
ピッカーを記述するためのユーティリティを提供するモジュール
telescope.actions
主にマッピングの定義(telescope.mappings)に使用する機能が提供されます。
このモジュールで提供されるのは以下の2種類のうちのいずれか
(1)prompt_bufnrを最初の引数として受け取る関数
prompt_bufnrをtelescope.actions.stateモジュールの関数に渡すことで、ピッカーの状態などにアクセスできます。
ピッカーのレイアウトを変更するためのアクションを提供するtelescope.actions.layoutなどのモジュールもあるようです。
extensions