Set up better pane/buffer navigation
This commit is contained in:
		
							parent
							
								
									064e8ad1b4
								
							
						
					
					
						commit
						a4addb63da
					
				
							
								
								
									
										9
									
								
								init.lua
								
								
								
								
							
							
						
						
									
										9
									
								
								init.lua
								
								
								
								
							| 
						 | 
					@ -185,10 +185,10 @@ vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' }
 | 
				
			||||||
--  Use CTRL+<hjkl> to switch between windows
 | 
					--  Use CTRL+<hjkl> to switch between windows
 | 
				
			||||||
--
 | 
					--
 | 
				
			||||||
--  See `:help wincmd` for a list of all window commands
 | 
					--  See `:help wincmd` for a list of all window commands
 | 
				
			||||||
vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
 | 
					-- vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
 | 
				
			||||||
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
 | 
					-- vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
 | 
				
			||||||
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
 | 
					-- vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
 | 
				
			||||||
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
 | 
					-- vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
vim.keymap.set('n', '<leader>v', ':vsplit<CR>', { noremap = true, silent = true, desc = 'Create vertical split' })
 | 
					vim.keymap.set('n', '<leader>v', ':vsplit<CR>', { noremap = true, silent = true, desc = 'Create vertical split' })
 | 
				
			||||||
vim.keymap.set('n', '<leader>h', ':split<CR>', { noremap = true, silent = true, desc = 'Create horizontal split' })
 | 
					vim.keymap.set('n', '<leader>h', ':split<CR>', { noremap = true, silent = true, desc = 'Create horizontal split' })
 | 
				
			||||||
| 
						 | 
					@ -871,6 +871,7 @@ require('lazy').setup({
 | 
				
			||||||
    --
 | 
					    --
 | 
				
			||||||
    -- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
 | 
					    -- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
 | 
				
			||||||
    'rebelot/kanagawa.nvim',
 | 
					    'rebelot/kanagawa.nvim',
 | 
				
			||||||
 | 
					    lazy = false,
 | 
				
			||||||
    priority = 10000, -- Make sure to load this before all the other start plugins.
 | 
					    priority = 10000, -- Make sure to load this before all the other start plugins.
 | 
				
			||||||
    init = function()
 | 
					    init = function()
 | 
				
			||||||
      -- Load the colorscheme here.
 | 
					      -- Load the colorscheme here.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
  "LuaSnip": { "branch": "master", "commit": "45db5addf8d0a201e1cf247cae4cdce605ad3768" },
 | 
					  "LuaSnip": { "branch": "master", "commit": "45db5addf8d0a201e1cf247cae4cdce605ad3768" },
 | 
				
			||||||
  "barbar.nvim": { "branch": "master", "commit": "c20691d686addb0d6ea87896d186c082324b01f8" },
 | 
					  "barbar.nvim": { "branch": "master", "commit": "c20691d686addb0d6ea87896d186c082324b01f8" },
 | 
				
			||||||
  "bufferline.nvim": { "branch": "main", "commit": "0b2fd861eee7595015b6561dade52fb060be10c4" },
 | 
					  "bufferline.nvim": { "branch": "main", "commit": "0b2fd861eee7595015b6561dade52fb060be10c4" },
 | 
				
			||||||
 | 
					  "bufresize.nvim": { "branch": "master", "commit": "3b19527ab936d6910484dcc20fb59bdb12322d8b" },
 | 
				
			||||||
  "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
 | 
					  "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
 | 
				
			||||||
  "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
 | 
					  "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
 | 
				
			||||||
  "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
 | 
					  "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
 | 
				
			||||||
| 
						 | 
					@ -33,13 +34,14 @@
 | 
				
			||||||
  "nvim-ts-context-commentstring": { "branch": "main", "commit": "375c2d86cee6674afd75b4f727ce3a80065552f7" },
 | 
					  "nvim-ts-context-commentstring": { "branch": "main", "commit": "375c2d86cee6674afd75b4f727ce3a80065552f7" },
 | 
				
			||||||
  "nvim-web-devicons": { "branch": "master", "commit": "3722e3d1fb5fe1896a104eb489e8f8651260b520" },
 | 
					  "nvim-web-devicons": { "branch": "master", "commit": "3722e3d1fb5fe1896a104eb489e8f8651260b520" },
 | 
				
			||||||
  "plenary.nvim": { "branch": "master", "commit": "ec289423a1693aeae6cd0d503bac2856af74edaa" },
 | 
					  "plenary.nvim": { "branch": "master", "commit": "ec289423a1693aeae6cd0d503bac2856af74edaa" },
 | 
				
			||||||
 | 
					  "smart-splits.nvim": { "branch": "master", "commit": "aee30930689ae427729aad41568ccaae57c167fe" },
 | 
				
			||||||
  "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
 | 
					  "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
 | 
				
			||||||
  "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
 | 
					  "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
 | 
				
			||||||
  "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
 | 
					  "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
 | 
				
			||||||
  "todo-comments.nvim": { "branch": "main", "commit": "319c01b99b7a8c9ac2066bf0efd4d6ec68fef444" },
 | 
					  "todo-comments.nvim": { "branch": "main", "commit": "319c01b99b7a8c9ac2066bf0efd4d6ec68fef444" },
 | 
				
			||||||
  "tokyonight.nvim": { "branch": "main", "commit": "b0e7c7382a7e8f6456f2a95655983993ffda745e" },
 | 
					  "tokyonight.nvim": { "branch": "main", "commit": "b0e7c7382a7e8f6456f2a95655983993ffda745e" },
 | 
				
			||||||
 | 
					  "trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" },
 | 
				
			||||||
  "ts-comments.nvim": { "branch": "main", "commit": "98d7d4dec0af1312d38e288f800bbf6ff562b6ab" },
 | 
					  "ts-comments.nvim": { "branch": "main", "commit": "98d7d4dec0af1312d38e288f800bbf6ff562b6ab" },
 | 
				
			||||||
  "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" },
 | 
					  "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" },
 | 
				
			||||||
  "vim-tmux-navigator": { "branch": "master", "commit": "5b3c701686fb4e6629c100ed32e827edf8dad01e" },
 | 
					 | 
				
			||||||
  "which-key.nvim": { "branch": "main", "commit": "bfec3d6bc0a9b0b2cb11644642f78c2c3915eef0" }
 | 
					  "which-key.nvim": { "branch": "main", "commit": "bfec3d6bc0a9b0b2cb11644642f78c2c3915eef0" }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,5 +2,22 @@
 | 
				
			||||||
return {
 | 
					return {
 | 
				
			||||||
  'akinsho/bufferline.nvim',
 | 
					  'akinsho/bufferline.nvim',
 | 
				
			||||||
  enabled = true,
 | 
					  enabled = true,
 | 
				
			||||||
  opts = {},
 | 
					  opts = {
 | 
				
			||||||
 | 
					    options = {
 | 
				
			||||||
 | 
					      mode = 'buffers',
 | 
				
			||||||
 | 
					      themable = true,
 | 
				
			||||||
 | 
					      diagnostics = 'nvim_lsp',
 | 
				
			||||||
 | 
					      offsets = {
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          filetype = 'neo-tree',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  config = function(_, opts)
 | 
				
			||||||
 | 
					    require('bufferline').setup(opts)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<Tab>', ':BufferLineCycleNext<CR>', { noremap = true, silent = true, desc = 'Move to next buffer' })
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<S-Tab>', ':BufferLineCyclePrev<CR>', { noremap = true, silent = true, desc = 'Move to previous buffer' })
 | 
				
			||||||
 | 
					  end,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,31 @@
 | 
				
			||||||
 | 
					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', '<A-h>', smart_splits.resize_left)
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<A-j>', smart_splits.resize_down)
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<A-k>', smart_splits.resize_up)
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<A-l>', smart_splits.resize_right)
 | 
				
			||||||
 | 
					    -- moving between splits
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<C-h>', smart_splits.move_cursor_left)
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<C-j>', smart_splits.move_cursor_down)
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<C-k>', smart_splits.move_cursor_up)
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<C-l>', smart_splits.move_cursor_right)
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<C-\\>', smart_splits.move_cursor_previous)
 | 
				
			||||||
 | 
					    -- swapping buffers between windows
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<leader><leader>h', smart_splits.swap_buf_left)
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<leader><leader>j', smart_splits.swap_buf_down)
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<leader><leader>k', smart_splits.swap_buf_up)
 | 
				
			||||||
 | 
					    vim.keymap.set('n', '<leader><leader>l', smart_splits.swap_buf_right)
 | 
				
			||||||
 | 
					  end,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,18 +0,0 @@
 | 
				
			||||||
return {
 | 
					 | 
				
			||||||
  'christoomey/vim-tmux-navigator',
 | 
					 | 
				
			||||||
  cmd = {
 | 
					 | 
				
			||||||
    'TmuxNavigateLeft',
 | 
					 | 
				
			||||||
    'TmuxNavigateDown',
 | 
					 | 
				
			||||||
    'TmuxNavigateUp',
 | 
					 | 
				
			||||||
    'TmuxNavigateRight',
 | 
					 | 
				
			||||||
    'TmuxNavigatePrevious',
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  keys = {
 | 
					 | 
				
			||||||
    { '<c-h>', '<cmd>TmuxNavigateLeft<cr>' },
 | 
					 | 
				
			||||||
    { '<c-j>', '<cmd>TmuxNavigateDown<cr>' },
 | 
					 | 
				
			||||||
    { '<c-k>', '<cmd>TmuxNavigateUp<cr>' },
 | 
					 | 
				
			||||||
    { '<c-l>', '<cmd>TmuxNavigateRight<cr>' },
 | 
					 | 
				
			||||||
    { '<c-\\>', '<cmd>TmuxNavigatePrevious<cr>' },
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
-- vim: ts=2 sts=2 sw=2 et
 | 
					 | 
				
			||||||
		Loading…
	
		Reference in New Issue