Skip to content

Commit ad86e8b

Browse files
committed
feat: Add keymaps for Spectre and Lazygit
1 parent 0f14f2d commit ad86e8b

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

lua/keymaps.lua

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,29 @@ vim.keymap.set('n', 'zo', 'zo', { desc = 'Open fold' }) -- Open current fold
2828
vim.keymap.set('n', 'za', 'za', { desc = 'Toggle fold' }) -- Toggle fold open/close
2929
vim.keymap.set('n', 'zR', 'zR', { desc = 'Open all folds' }) -- Open all folds
3030
vim.keymap.set('n', 'zM', 'zM', { desc = 'Close all folds' }) -- Close all folds
31+
32+
-- Spectre: Search and replace in all files
33+
vim.keymap.set('n', '<leader>sr', function()
34+
require('spectre').open()
35+
end, { desc = '[S]earch and [R]eplace in all files' })
36+
37+
-- Lazygit: Open in a floating terminal
38+
vim.keymap.set('n', '<leader>gg', function()
39+
local Terminal = require('toggleterm.terminal').Terminal
40+
local lazygit = Terminal:new {
41+
cmd = 'lazygit',
42+
dir = 'git_dir', -- Open Lazygit in the current Git repository
43+
hidden = true, -- Hide the terminal buffer
44+
direction = 'float', -- Open in a floating window
45+
float_opts = {
46+
border = 'curved', -- Add a border to the floating window
47+
},
48+
on_open = function(term)
49+
vim.cmd 'startinsert!' -- Enter insert mode when Lazygit opens
50+
end,
51+
on_close = function(term)
52+
vim.cmd 'startinsert!' -- Exit insert mode when Lazygit closes
53+
end,
54+
}
55+
lazygit:toggle() -- Toggle Lazygit
56+
end, { desc = '[G]it [G]UI (Lazygit)' })

lua/settings.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ vim.opt.foldcolumn = '1'
4444
function _G.custom_foldtext()
4545
local line = vim.trim(vim.fn.getline(vim.v.foldstart))
4646
local fold_size = vim.v.foldend - vim.v.foldstart + 1
47-
return string.format('%s ⏤ %d lines', line, fold_size)
47+
return string.format('%s ⏤ %d lines', line, fold_size)
4848
end
4949

5050
vim.opt.foldtext = 'v:lua.custom_foldtext()'

0 commit comments

Comments
 (0)