return { 'mrjones2014/smart-splits.nvim', dependencies = { { 'kwkarlwang/bufresize.nvim', config = true }, }, config = function() require('smart-splits').setup { resize_mode = { hooks = { on_leave = require('bufresize').register, }, }, } local smart_splits = require 'smart-splits' vim.keymap.set('n', '', smart_splits.resize_left) vim.keymap.set('n', '', smart_splits.resize_down) vim.keymap.set('n', '', smart_splits.resize_up) vim.keymap.set('n', '', smart_splits.resize_right) -- moving between splits vim.keymap.set('n', '', smart_splits.move_cursor_left) vim.keymap.set('n', '', smart_splits.move_cursor_down) vim.keymap.set('n', '', smart_splits.move_cursor_up) vim.keymap.set('n', '', smart_splits.move_cursor_right) vim.keymap.set('n', '', smart_splits.move_cursor_previous) -- swapping buffers between windows vim.keymap.set('n', 'h', smart_splits.swap_buf_left) vim.keymap.set('n', 'j', smart_splits.swap_buf_down) vim.keymap.set('n', 'k', smart_splits.swap_buf_up) vim.keymap.set('n', 'l', smart_splits.swap_buf_right) end, }