12
2

Neovimのプラグインでよく使うキーマップ一覧

Last updated at Posted at 2022-08-19

はじめに

Neovimのプラグインで私がよく使うキーマップを紹介します。

Vim版は こちら です。

環境

  • macOS: Ventura 13.5.2(22G91)
  • Neovim: v0.10.0-dev-1336+g9c2270b83

注意

  • 表の見やすさを優先して noremap を省略している
    • 実際に設定するときは 私のdotfiles が参考になるはず
  • 「カスタマイズ」は私が使いやすいように変更している
  • 私は <Leader>, にしている
  • わからない説明は先頭に「(?)」を付けている

Neovimのプラグインでよく使うキーマップ一覧

Neovimのプラグインでよく使うキーマップの一覧です。

ノーマル

ノーマルモード( n )でよく使うキーマップの一覧です。

nvim-treesitter-context

説明 デフォルト カスタマイズ 備考
前方のコンテキストにジャンプする function() require('treesitter-context').go_to_context() end [c context

Todo Comments

説明 デフォルト カスタマイズ 備考
後方のキーワードにジャンプする function() todo_comments.jump_next { keywords = { 'FIXME', 'TODO' } } end ]t todo
前方のキーワードにジャンプする function() todo_comments.jump_prev { keywords = { 'FIXME', 'TODO' } } end [t todo

LSP

説明 デフォルト カスタマイズ 備考
次の指摘へ進む vim.diagnostic.goto_next g]
前の指摘へ戻る vim.diagnostic.goto_prev g[
指摘を一覧表示する vim.diagnostic.setloclist gl
(?)宣言へジャンプする vim.lsp.buf.declaration gD
定義へジャンプする vim.lsp.buf.definition gd
情報を表示する vim.lsp.buf.hover K
(?)実装へジャンプする vim.lsp.buf.implementation gi
(?)シグニチャのヘルプを表示する vim.lsp.buf.signature_help <C-k>
ワークスペースに現在のフォルダを追加する vim.lsp.buf.add_workspace_folder gwa
ワークスペースから現在のフォルダを取り除く vim.lsp.buf.remove_workspace_folder gwr
ワークスペースを出力する function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end gwl
型の定義へジャンプする vim.lsp.buf.type_definition gt
リネームする vim.lsp.buf.rename gn
指摘に対するアクションの候補を表示する vim.lsp.buf.code_action ga
参照している箇所を一覧表示する vim.lsp.buf.references gr
ファイル全体をフォーマットする function() vim.lsp.buf.format { async = true } end gf
インレイヒントの表示を切り替える function() vim.lsp.buf.inlay_hint(bufnr) end gh hints

LSP関連のキーマップはほぼ g をプリフィックスにしています。

Neovim 0.8.0から vim.lsp.buf.formatting が非推奨になったので、代わりに vim.lsp.buf.format { async = true } を使っています。

参考

lsp-lens.nvim

説明 デフォルト カスタマイズ 備考
表示を切り替える <Cmd>LspLensToggle<CR> gs

lsp_lines

説明 デフォルト カスタマイズ 備考
指摘の表示を切り替える require('lsp_lines').toggle gp

telescope

説明 デフォルト カスタマイズ 備考
Gitリポジトリ内のファイルを検索する require('telescope.builtin').git_files <Leader>F,F find
グレップする require('telescope').extensions.egrepify.egrepify <Leader>f,f find
カーソル下の単語でグレップする require('telescope.builtin').grep_string <Leader>G,G grep
バッファを検索する require('telescope.builtin').buffers <Leader>b,b buffers
過去に開いたファイルを検索する require('telescope').extensions.frecency.frecency <Leader>r,r recently
コマンド履歴を検索する require('telescope.builtin').command_history <Leader>hc,hc history command
検索履歴を検索する require('telescope.builtin').search_history <Leader>hs,hs history search
ヘルプを検索する require('telescope.builtin').help_tags <Leader>H,H help
通知の履歴を検索する <Cmd>Telescope notify<CR> <Leader>n,n notify
Gitのコミット履歴を検索する require('telescope.builtin').git_commits <Leader>gc,gc git commits
バッファのGitのコミット履歴を検索する require('telescope.builtin').git_bcommits <Leader>gf,gf git file
Gitのブランチを検索する require('telescope.builtin').git_branches <Leader>gb,gb git branches
Gitのステータスを検索する require('telescope.builtin').git_status <Leader>gs,gs git status
Gitのスタッシュを検索する require('telescope.builtin').git_stash <Leader>gt,gt git stash
ghqで管理しているリポジトリを検索する <Cmd>Telescope ghq list<CR> <Leader>gl,gl ghq list
追加できるimport文を検索する <Cmd>Telescope import<CR> <Leader>i,i import

telescopeのファジーファインダー(あいまい検索)はよく使うので、かんたんなキーマップにしています。

ssr.nvim

説明 デフォルト カスタマイズ 備考
ストラクチュアルサーチする require('ssr').open <Leader>sr,sr structual search and replace

text-case.nvim

説明 デフォルト カスタマイズ 備考
カーソル下の単語の変換するケースを検索する <Cmd>TextCaseOpenTelescope<CR> cr.
カーソル下の単語をアッパーケースに変換する require('textcase').current_word('to_upper_case') cru upper case
カーソル下の単語をローワーケースに変換する require('textcase').current_word('to_lower_case') crl lower case
カーソル下の単語をスネークケースに変換する require('textcase').current_word('to_snake_case') crs snake case
カーソル下の単語をダッシュケースに変換する require('textcase').current_word('to_dash_case') crd dash case
カーソル下の単語をコンスタントケースに変換する require('textcase').current_word('to_constant_case') crn constant case
カーソル下の単語をキャメルケースに変換する require('textcase').current_word('to_camel_case') crc camel case
カーソル下の単語をパスカルケースに変換する require('textcase').current_word('to_pascal_case') crp pascal case
カーソル下の単語をすべてアッパーケースに変換する require('textcase').lsp_rename('to_upper_case') crU upper case
カーソル下の単語をすべてローワーケースに変換する require('textcase').lsp_rename('to_lower_case') crL lower case
カーソル下の単語をすべてスネークケースに変換する require('textcase').lsp_rename('to_snake_case') crS snake case
カーソル下の単語をすべてダッシュケースに変換する require('textcase').lsp_rename('to_dash_case') crD dash case
カーソル下の単語をすべてコンスタントケースに変換する require('textcase').lsp_rename('to_constant_case') crN constant case
カーソル下の単語をすべてキャメルケースに変換する require('textcase').lsp_rename('to_camel_case') crC camel case
カーソル下の単語をすべてパスカルケースに変換する require('textcase').lsp_rename('to_pascal_case') crP pascal case

gitlinker.nvim

説明 デフォルト カスタマイズ 備考
対象行のGitリポジトリをWebブラウザで開く require('gitlinker.actions').open_in_browser <Leader>go,go git open in browser

dropbar.nvim

説明 デフォルト カスタマイズ 備考
ピックモードに入る require('dropbar.api').pick <Leader>p,p pick

nvim-tree.lua

説明 デフォルト カスタマイズ 備考
ファイルツリーの表示を切り替える <Cmd>NvimTreeToggle<CR> <Leader>e,e explorer

symbols-outline.nvim

説明 デフォルト カスタマイズ 備考
シンボルアウトラインの表示を切り替える <Cmd>SymbolsOutline<CR> <Leader>s,so symbols outline

git-conflict.nvim

説明 デフォルト カスタマイズ 備考
自分の変更を適用する co - <Cmd>GitConflictChooseOurs<CR>
相手の変更を適用する ct - <Cmd>GitConflictChooseTheirs<CR>
変更を両方とも適用する cb - <Cmd>GitConflictChooseBoth<CR>
変更を両方とも適用しない c0 - <Cmd>GitConflictChooseNone<CR>
次の競合へジャンプする [x - <Cmd>GitConflictNextConflict<CR>
前の競合へジャンプする ]x - <Cmd>GitConflictPrevConflict<CR>

ugaterm

説明 デフォルト カスタマイズ 備考
ターミナルの表示を切り替える <Cmd>UgatermToggle<CR> <Leader>t,t terminal

peek.nvim

説明 デフォルト カスタマイズ 備考
WebViewでプレビューを開く require('peek').open <C-p> preview

挿入

挿入モード( i )でよく使うキーマップの一覧です。

nvim-cmp

説明 デフォルト カスタマイズ 備考
前の候補に移動する <Down> -
前の候補に移動する <C-p> - previous
前の候補に移動する - <S-Tab>
次の候補に移動する <Up> -
次の候補に移動する <C-n> - next
次の候補に移動する - <Tab>
(?)候補を4つ前にスクロールする - <C-b> back、なぜか効かない
(?)候補を4つ後ろにスクロールする - <C-f> forward、なぜか効かない
(?)補完を確定する - <C-l> completion、なぜか効かない
補完を確定する <C-y> -
補完を確定する - <CR>
補完せずに閉じる <C-e> - exit

参考

ビジュアル、選択

ビジュアル、選択モード( v )でよく使うキーマップの一覧です。

gitlinker.nvim

説明 デフォルト カスタマイズ 備考
対象行のGitリポジトリをWebブラウザで開く require('gitlinker.actions').open_in_browser <Leader>go,go git open in browser

ビジュアル

ビジュアルモード( x )でよく使うキーマップの一覧です。

ssr.nvim

説明 デフォルト カスタマイズ 備考
ストラクチュアルサーチする require('ssr').open <Leader>sr,sr structual search and replace

コマンドライン

コマンドラインモード( c )でよく使うキーマップの一覧です。

nvim-cmp

説明 デフォルト カスタマイズ 備考
前の候補に移動する <C-p> - previous
前の候補に移動する <S-Tab> -
次の候補に移動する <C-n> - next
次の候補に移動する <Tab> -
候補を閉じる <C-e> - exit

参考

端末ジョブ

端末ジョブモード( t )でよく使うキーマップの一覧です。

ugaterm

説明 デフォルト カスタマイズ 備考
ターミナルの表示を切り替える <Cmd>UgatermToggle<CR> <Leader>t,t terminal
ターミナルを抜ける <C-\\><C-n> <Esc>

おわりに

これでNeovimのプラグインをかんたんに呼び出せます :relaxed:

12
2
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
12
2