Skip to content

Commit 3419c4b

Browse files
committed
feat: add terminal QoL stuff, keymaps & autocmd.
1 parent dbdbd78 commit 3419c4b

3 files changed

Lines changed: 37 additions & 0 deletions

File tree

lua/core/autocommands.lua

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,13 @@ vim.api.nvim_create_autocmd('ColorScheme', {
2020
vim.api.nvim_set_hl(0, 'EndOfBuffer', vim.api.nvim_get_hl(0, { name = 'CursorLineNr' }))
2121
end,
2222
})
23+
24+
vim.api.nvim_create_autocmd('TermOpen', {
25+
desc = 'Rename terminal buffer',
26+
group = vim.api.nvim_create_augroup('RenameTerminalBufer', { clear = true }),
27+
callback = function(ev)
28+
local pid, cmd = ev.file:match '//(%d-:)(.+)'
29+
cmd = vim.fs.basename(cmd)
30+
vim.api.nvim_buf_set_name(ev.buf, 'term://' .. pid .. cmd)
31+
end,
32+
})

lua/core/keymaps.lua

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,32 @@ vim.keymap.set('n', '<leader>y', '<cmd>%y<CR>', { desc = '[y]ank buffer' })
5555
vim.keymap.set('n', '<leader>q', '<cmd>q<CR>', { desc = '[q]uit buffer' })
5656
vim.keymap.set('n', '<leader>c', '<cmd>bdelete<CR>', { desc = '[c]lose file' })
5757

58+
-- terminal keymaps
59+
vim.keymap.set('n', '<leader>;;', function()
60+
vim.cmd.term()
61+
end, { desc = 'New termianl proc - current buf' })
62+
vim.keymap.set('n', '<leader>;s', function()
63+
vim.cmd.new() -- or vim.cmd.vnew(); vim.cmd.wincmd 'J'
64+
vim.cmd.term()
65+
vim.api.nvim_win_set_height(0, 10)
66+
end, { desc = 'New termianl proc - horizontal' })
67+
vim.keymap.set('n', '<leader>;v', function()
68+
vim.cmd.vnew()
69+
vim.cmd.term()
70+
end, { desc = 'New termianl proc - vertical' })
71+
vim.keymap.set('n', '<leader>;t', function()
72+
vim.cmd.tabnew()
73+
vim.cmd.term()
74+
end, { desc = 'New termianl proc - tab' })
75+
vim.keymap.set('n', '<leader>;o', function()
76+
vim.cmd.tabnew()
77+
vim.cmd.term 'opencode'
78+
end, { desc = 'New opencode proc' })
79+
vim.keymap.set('n', '<leader>;l', function()
80+
vim.cmd.tabnew()
81+
vim.cmd.term 'lazygit'
82+
end, { desc = 'New lazygit proc' })
83+
5884
-- Add a keymap for delete while on insert-mode
5985
-- this works well with <C-h>, <C-w>, <C-u>
6086
vim.keymap.set('i', '<C-f>', '<Del>')

lua/plugins/which-key.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ return {
2727
{ '<leader>l', group = '[L]SP', mode = { 'n', 'v' } },
2828
{ '<leader>t', group = '[T]oggle' },
2929
{ '<leader>d', group = '[D]iagnostic' },
30+
{ '<leader>;', group = '[;]terminal' },
3031
{ 'ao', group = 'TS text[O]bject', mode = { 'v', 'o' } },
3132
{ 'io', group = 'TS text[O]bject', mode = { 'v', 'o' } },
3233
{ '[o', group = 'TS text[O]bject', mode = { 'n', 'v', 'o' } },

0 commit comments

Comments
 (0)