refactor(terminals): enhance mappings for improved terminal interaction
This commit is contained in:
1 parent
5e3461c5f3
commit
8931dc4589
1 file changed
+33
-1
@@ -87,7 +87,7 @@ function M.setup()
|
|||||||
count = 99, -- fixed ID so toggleterm never creates a duplicate
|
count = 99, -- fixed ID so toggleterm never creates a duplicate
|
||||||
on_open = function(term)
|
on_open = function(term)
|
||||||
vim.cmd "startinsert!"
|
vim.cmd "startinsert!"
|
||||||
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", { noremap = true, silent = true })
|
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>tabprevious<CR>", { noremap = true, silent = true })
|
||||||
vim.api.nvim_buf_set_keymap(
|
vim.api.nvim_buf_set_keymap(
|
||||||
term.bufnr,
|
term.bufnr,
|
||||||
"t",
|
"t",
|
||||||
@@ -95,6 +95,20 @@ function M.setup()
|
|||||||
"<cmd>tabprevious<CR>",
|
"<cmd>tabprevious<CR>",
|
||||||
{ noremap = true, silent = true }
|
{ noremap = true, silent = true }
|
||||||
)
|
)
|
||||||
|
vim.api.nvim_buf_set_keymap(term.bufnr, "t", "<C-p>", "", {
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
callback = function()
|
||||||
|
vim.fn.chansend(term.job_id, "\x10") -- raw Ctrl-P
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
vim.api.nvim_buf_set_keymap(term.bufnr, "t", "<S-CR>", "", {
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
callback = function()
|
||||||
|
vim.fn.chansend(term.job_id, "\x1b[13;2u") -- kitty protocol Shift+Enter
|
||||||
|
end,
|
||||||
|
})
|
||||||
vim.api.nvim_buf_set_keymap(
|
vim.api.nvim_buf_set_keymap(
|
||||||
term.bufnr,
|
term.bufnr,
|
||||||
"n",
|
"n",
|
||||||
@@ -102,6 +116,24 @@ function M.setup()
|
|||||||
"<cmd>tabprevious<CR>",
|
"<cmd>tabprevious<CR>",
|
||||||
{ noremap = true, silent = true }
|
{ noremap = true, silent = true }
|
||||||
)
|
)
|
||||||
|
vim.api.nvim_buf_set_keymap(term.bufnr, "t", "<C-o>", "<cmd>tabprevious<CR>", { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "<C-o>", "<cmd>tabprevious<CR>", { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_buf_set_keymap(term.bufnr, "t", "<C-c>", "", {
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
callback = function()
|
||||||
|
term:shutdown()
|
||||||
|
vim.cmd "tabprevious"
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "<C-c>", "", {
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
callback = function()
|
||||||
|
term:shutdown()
|
||||||
|
vim.cmd "tabprevious"
|
||||||
|
end,
|
||||||
|
})
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
-- Scratch terminal
|
-- Scratch terminal
|
||||||
|
|||||||
Reference in new issue
Block a user