require("bufferline").setup { animation = true, auto_hide = true, tabpages = true, closable = true, clickable = true, icon_separator_active = '', icon_separator_inactive = '▎', icon_close_tab = '', icon_close_tab_modified = '', icon_pinned = '車', --separator_style = "slant", --numbers = "buffer_id", } vim.keymap.set('n', 'bh', 'BufferPrevious', {desc = "buffer previous"}) vim.keymap.set('n', 'bl', 'BufferNext', {desc = "buffer next"}) -- Re-order to previous/next vim.keymap.set('n', 'b<', 'BufferMovePrevious', { desc = "move previous" }) vim.keymap.set('n', 'b>', 'BufferMoveNext', { desc = "move next" }) -- Goto buffer in position... vim.keymap.set("n", "bH", "BufferFirst", { desc = "first" }) vim.keymap.set('n', 'bs1', 'BufferGoto 1', { desc = "1" }) vim.keymap.set('n', 'bs2', 'BufferGoto 2', { desc = "2" }) vim.keymap.set('n', 'bs3', 'BufferGoto 3', { desc = "3" }) vim.keymap.set('n', 'bs4', 'BufferGoto 4', { desc = "4" }) vim.keymap.set('n', 'bs5', 'BufferGoto 5', { desc = "5" }) vim.keymap.set('n', 'bs6', 'BufferGoto 6', { desc = "6" }) vim.keymap.set('n', 'bs7', 'BufferGoto 7', { desc = "7" }) vim.keymap.set('n', 'bs8', 'BufferGoto 8', { desc = "8" }) vim.keymap.set('n', 'bs9', 'BufferGoto 9', { desc = "9" }) vim.keymap.set('n', 'bL', 'BufferLast', { desc = "last" }) -- Pin/unpin buffer vim.keymap.set('n', 'bp', 'BufferPin', { desc = "pin" }) -- Close buffer vim.keymap.set('n', 'bc', 'BufferClose', { desc = "close" }) -- Wipeout buffer -- :BufferWipeout -- Close commands -- :BufferCloseAllButCurrent -- :BufferCloseAllButPinned -- :BufferCloseAllButCurrentOrPinned -- :BufferCloseBuffersLeft -- :BufferCloseBuffersRight -- Magic buffer-picking mode vim.keymap.set('n', 'bb', 'BufferPick', { desc = "buffer picker" }) -- Sort automatically by... --vim.keymap.set('n', 'bb', 'BufferOrderByBufferNumber', { desc = "" }) --vim.keymap.set('n', 'bd', 'BufferOrderByDirectory', { desc = "" }) --vim.keymap.set('n', 'bl', 'BufferOrderByLanguage', { desc = "" }) --vim.keymap.set('n', 'bw', 'BufferOrderByWindowNumber', { desc = "" }) local nvim_tree_events = require('nvim-tree.events') local bufferline_api = require('bufferline.api') local function get_tree_size() return require'nvim-tree.view'.View.width end nvim_tree_events.subscribe('TreeOpen', function() bufferline_api.set_offset(get_tree_size()) end) nvim_tree_events.subscribe('Resize', function() bufferline_api.set_offset(get_tree_size()) end) nvim_tree_events.subscribe('TreeClose', function() bufferline_api.set_offset(0) end)