49 lines
1.5 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

return {
{
'akinsho/toggleterm.nvim',
version = "*",
config = function()
local function is_neo_tree_open()
-- 遍歷所有窗口,檢查是否有窗口對應到 "neo-tree" 緩衝區
for _, win in ipairs(vim.api.nvim_list_wins()) do
local buf = vim.api.nvim_win_get_buf(win)
if vim.fn.bufname(buf):match("neo%-tree") then
return true -- 找到 NeoTree 窗口
end
end
return false -- 沒有找到 NeoTree 窗口
end
require("toggleterm").setup {
open_mapping = [[<C-\>]],
on_open = function(_)
if is_neo_tree_open() then
vim.defer_fn(function()
local cmd = string.format("Neotree toggle")
vim.cmd(cmd)
vim.cmd(cmd)
vim.cmd("wincmd p")
end, 100)
end
end,
hide_numbers = true,
shade_filetypes = {},
shade_terminals = true,
start_in_insert = true,
insert_mappings = true,
persist_size = true,
direction = 'horizontal',
close_on_exit = true,
shell = vim.o.shell,
}
-- 添加第二個快捷鍵映射
vim.api.nvim_set_keymap('n', '<C-`>', '<cmd>ToggleTerm<CR>', { noremap = true, silent = true })
-- 添加Alt+Esc鍵離開終端模式回到Normal Mode
vim.api.nvim_set_keymap('t', '<A-Esc>', [[<C-\><C-n>]], { noremap = true, silent = true })
end,
},
}