概要
neovimでbufferline.nvimを使用しています。
キーマップの設定を備忘録として残します。
やったこと
プラグインを読み込む->keymapを設定する
plugin/file-header-view.lua
|
-custom-keys.lua
init.lua
require('custom-keys')
require('file-header-view')
require('bufferline').setup{}
リーダーキーをスペースにしています
--fetch keymap
local map = vim.api.nvim_set_keymap
-- update leader key to space
vim.g.mapleader = " "
-- use keymap in file-header-view(bufferline-plugin)
-- bufferline close setting
vim.keymap.set('n', '<leader>wl', '<CMD>BufferLineCloseRight<CR>')
vim.keymap.set('n', '<leader>wh', '<CMD>BufferLineCloseLeft<CR>')
vim.keymap.set('n', '<leader>wall', '<CMD>BufferLineCloseOthers<CR>')
vim.keymap.set('n', '<leader>we', '<CMD>BufferLinePickClose<CR>')
-- (reference)https://github.com/kazhala/dotfiles/blob/master/.config/nvim/lua/kaz/plugins/bufferline.lua
vim.keymap.set('n', 'gb', '<CMD>BufferLinePick<CR>')
vim.keymap.set('n', '<leader>ts', '<CMD>BufferLinePickClose<CR>')
vim.keymap.set('n', '<S-l>', '<CMD>BufferLineCycleNext<CR>')
vim.keymap.set('n', '<S-h>', '<CMD>BufferLineCyclePrev<CR>')
vim.keymap.set('n', ']b', '<CMD>BufferLineMoveNext<CR>')
vim.keymap.set('n', '[b', '<CMD>BufferLineMovePrev<CR>')
vim.keymap.set('n', 'gs', '<CMD>BufferLineSortByDirectory<CR>')
各キーの解説
ファイル削除系
左右のファイルを削除
vim.keymap.set('n', '<leader>wl', '<CMD>BufferLineCloseRight<CR>')
vim.keymap.set('n', '<leader>wh', '<CMD>BufferLineCloseLeft<CR>')
編集中のファイル以外を削除
vim.keymap.set('n', '<leader>wall', '<CMD>BufferLineCloseOthers<CR>')
削除するファイルの選択モードに入る
vim.keymap.set('n', '<leader>we', '<CMD>BufferLinePickClose<CR>')
ファイル選択・移動系
こちらをそのまま使わせていただきました。
ファイル選択モード
vim.keymap.set('n', 'gb', '<CMD>BufferLinePick<CR>')
vim.keymap.set('n', '<leader>ts', '<CMD>BufferLinePickClose<CR>')
左右のファイルに移動
vim.keymap.set('n', '<S-l>', '<CMD>BufferLineCycleNext<CR>')
vim.keymap.set('n', '<S-h>', '<CMD>BufferLineCyclePrev<CR>')
現在のファイルを移動
vim.keymap.set('n', ']b', '<CMD>BufferLineMoveNext<CR>')
vim.keymap.set('n', '[b', '<CMD>BufferLineMovePrev<CR>')
ファイルのソート
vim.keymap.set('n', 'gs', '<CMD>BufferLineSortByDirectory<CR>')
:luafile %
で各ファイルを読み込んで有効化したら設定できているはずです。
参考