nvim-config
This commit is contained in:
parent
3338d39206
commit
ad5d34530f
14 changed files with 563 additions and 33 deletions
16
lua/custom/keymaps/files.lua
Normal file
16
lua/custom/keymaps/files.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
-- File navigation and Telescope-related keybindings
|
||||
|
||||
-- File explorer
|
||||
vim.keymap.set('n', '<leader>e', ':NvimTreeToggle<CR>', { desc = 'Toggle file explorer' })
|
||||
vim.keymap.set('n', '<leader>fb', ':Telescope file_browser<CR>', { desc = 'Telescope file browser' })
|
||||
|
||||
-- Telescope pickers (additional to Kickstart defaults)
|
||||
-- Note: These require telescope to be loaded, so we'll use pcall for safety
|
||||
local ok, telescope_builtin = pcall(require, 'telescope.builtin')
|
||||
if ok then
|
||||
vim.keymap.set('n', '<leader>ff', telescope_builtin.find_files, { desc = 'Find files' })
|
||||
vim.keymap.set('n', '<leader>fg', telescope_builtin.live_grep, { desc = 'Live grep' })
|
||||
vim.keymap.set('n', '<leader>fh', telescope_builtin.help_tags, { desc = 'Search help' })
|
||||
vim.keymap.set('n', '<leader>fr', telescope_builtin.oldfiles, { desc = 'Recent files' })
|
||||
vim.keymap.set('n', '<leader>fc', telescope_builtin.current_buffer_fuzzy_find, { desc = 'Search in current buffer' })
|
||||
end
|
||||
34
lua/custom/keymaps/general.lua
Normal file
34
lua/custom/keymaps/general.lua
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
-- General keymaps for navigation, editing, and window management
|
||||
|
||||
-- Exit insert mode with jj
|
||||
vim.keymap.set('i', 'jj', '<Esc>', { desc = 'Exit insert mode' })
|
||||
|
||||
-- Split management
|
||||
vim.keymap.set('n', 'sj', '<C-W>w', { desc = 'Move to next window' })
|
||||
vim.keymap.set('n', 'sk', '<C-W>W', { desc = 'Move to previous window' })
|
||||
vim.keymap.set('n', 'su', ':resize +5<CR>', { desc = 'Increase window height' })
|
||||
vim.keymap.set('n', 'si', ':resize -5<CR>', { desc = 'Decrease window height' })
|
||||
vim.keymap.set('n', 'sh', ':vertical resize +5<CR>', { desc = 'Increase window width' })
|
||||
vim.keymap.set('n', 'sl', ':vertical resize -5<CR>', { desc = 'Decrease window width' })
|
||||
vim.keymap.set('n', 'sd', ':hide<CR>', { desc = 'Hide current window' })
|
||||
vim.keymap.set('n', 'so', ':', { desc = 'Open command mode' })
|
||||
vim.keymap.set('n', 'ss', ':split ', { desc = 'Horizontal split' })
|
||||
vim.keymap.set('n', 'sv', ':vsplit ', { desc = 'Vertical split' })
|
||||
|
||||
-- Tab management
|
||||
vim.keymap.set('n', 'th', ':tabfirst<CR>', { desc = 'Go to first tab' })
|
||||
vim.keymap.set('n', 'tj', ':tabnext<CR>', { desc = 'Go to next tab' })
|
||||
vim.keymap.set('n', 'tk', ':tabprev<CR>', { desc = 'Go to previous tab' })
|
||||
vim.keymap.set('n', 'tl', ':tablast<CR>', { desc = 'Go to last tab' })
|
||||
vim.keymap.set('n', 'tt', ':tabedit ', { desc = 'Create new tab' })
|
||||
vim.keymap.set('n', 'tn', ':tabnext<CR>', { desc = 'Go to next tab' })
|
||||
vim.keymap.set('n', 'tm', ':tabm ', { desc = 'Move tab' })
|
||||
vim.keymap.set('n', 'td', ':tabclose<CR>', { desc = 'Close tab' })
|
||||
|
||||
-- Buffer management
|
||||
vim.keymap.set('n', '<C-k>', ':bnext<CR>', { desc = 'Next buffer' })
|
||||
vim.keymap.set('n', '<C-j>', ':bprev<CR>', { desc = 'Previous buffer' })
|
||||
vim.keymap.set('n', '<leader>bd', ':bdelete<CR>', { desc = 'Close current buffer' })
|
||||
|
||||
-- Python debugging
|
||||
vim.keymap.set('n', '<leader>p', 'oimport ipdb; ipdb.set_trace()<Esc>', { desc = 'Insert Python debugger breakpoint' })
|
||||
6
lua/custom/keymaps/git.lua
Normal file
6
lua/custom/keymaps/git.lua
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
-- Git-related keymaps
|
||||
|
||||
-- LazyGit
|
||||
vim.keymap.set('n', '<leader>gg', ':LazyGit<CR>', { desc = 'Open LazyGit' })
|
||||
vim.keymap.set('n', '<leader>gc', ':LazyGitCurrentFile<CR>', { desc = 'LazyGit current file' })
|
||||
vim.keymap.set('n', '<leader>gf', ':LazyGitFilter<CR>', { desc = 'LazyGit filter' })
|
||||
5
lua/custom/keymaps/init.lua
Normal file
5
lua/custom/keymaps/init.lua
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
-- Central loader for all keymap modules
|
||||
require('custom.keymaps.general')
|
||||
require('custom.keymaps.files')
|
||||
require('custom.keymaps.git')
|
||||
require('custom.keymaps.terminal')
|
||||
12
lua/custom/keymaps/terminal.lua
Normal file
12
lua/custom/keymaps/terminal.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
-- Terminal and code execution keymaps
|
||||
|
||||
-- ToggleTerm keybindings
|
||||
-- Note: <c-\> is already mapped in toggleterm config for opening terminal
|
||||
vim.keymap.set('n', '<leader>tt', ':ToggleTerm<CR>', { desc = 'Toggle terminal' })
|
||||
vim.keymap.set('n', '<leader>tf', ':ToggleTerm direction=float<CR>', { desc = 'Toggle floating terminal' })
|
||||
vim.keymap.set('n', '<leader>th', ':ToggleTerm direction=horizontal<CR>', { desc = 'Toggle horizontal terminal' })
|
||||
vim.keymap.set('n', '<leader>tv', ':ToggleTerm direction=vertical<CR>', { desc = 'Toggle vertical terminal' })
|
||||
|
||||
-- Terminal mode mappings to escape easily
|
||||
vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })
|
||||
vim.keymap.set('t', 'jj', '<C-\\><C-n>', { desc = 'Exit terminal mode with jj' })
|
||||
Loading…
Add table
Add a link
Reference in a new issue