@@ -28,3 +28,29 @@ vim.keymap.set('n', 'zo', 'zo', { desc = 'Open fold' }) -- Open current fold
2828vim .keymap .set (' n' , ' za' , ' za' , { desc = ' Toggle fold' }) -- Toggle fold open/close
2929vim .keymap .set (' n' , ' zR' , ' zR' , { desc = ' Open all folds' }) -- Open all folds
3030vim .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)' })
0 commit comments