diff --git a/lua/addons/QQdock.lua b/lua/addons/QQdock.lua index 42b5610..9510918 100644 --- a/lua/addons/QQdock.lua +++ b/lua/addons/QQdock.lua @@ -1,21 +1,21 @@ --- addons/term.lua — 持久化自适应终端 +-- addons/QQdock.lua — 持久化自适应终端 +-- +-- 注意:这是 QQdock.nvim 插件的本地副本(根分区只读,无法通过 lazy 装远程插件) +-- 远程仓库:https://git.qyhhh.top/newbie/QQdock.nvim -- -- 用法: --- local T = require('addons.term') --- T.shell() -- 打开/关闭普通终端() --- T.open('reasonix') -- 打开/关闭 Reasonix() --- --- 特性: --- - 同一个终端实例持久化(关掉再开回来,对话不丢) --- - 窗口方向自适应:横屏→右侧(45%),竖屏→下方(40%) --- - 依赖 toggleterm.nvim +-- local Q = require('addons.QQdock') +-- Q.shell() -- 普通终端 +-- Q.open('reasonix') -- Reasonix +-- Q.open('lazygit') -- gg lazygit local M = {} -local terms = {} -- 缓存终端实例,key 是命令名(nil = 普通 shell) +local terms = {} function M.open(cmd) local ui = vim.api.nvim_list_uis()[1] + if not ui then return end local tall = ui.height > ui.width local name = cmd or '__shell__' diff --git a/lua/keymap.lua b/lua/keymap.lua index eec9d21..c641cd9 100644 --- a/lua/keymap.lua +++ b/lua/keymap.lua @@ -38,11 +38,11 @@ G.map({ { 'n', '', ':vertical resize +5' }, }) --- 终端(addons/term:持久化 + 自适应分屏) -local T = require('addons.QQdock') +-- 终端 / Reasonix / lazygit(addons/QQdock:持久化 + 自适应分屏) +local Q = require('addons.QQdock') G.map({ - { 'n', '', T.shell, { noremap = true } }, - { 'i', '', T.shell, { noremap = true } }, - { 'n', '', function() T.open('reasonix') end, { noremap = true } }, - { 'n', 'gg', function() T.open('lazygit') end, { noremap = true } }, + { 'n', '', Q.shell, { noremap = true } }, + { 'i', '', Q.shell, { noremap = true } }, + { 'n', '', function() Q.open('reasonix') end, { noremap = true } }, + { 'n', 'gg', function() Q.open('lazygit') end, { noremap = true } }, }) diff --git a/lua/plugs/dev.lua b/lua/plugs/dev.lua index b906bcc..f5e3b6c 100644 --- a/lua/plugs/dev.lua +++ b/lua/plugs/dev.lua @@ -32,7 +32,7 @@ return { dependencies = { "nvim-lua/plenary.nvim" }, }, { - -- 终端(方向由 keymap.lua 自适应控制) + -- toggleterm:被 addons/QQdock 使用的底层终端 'akinsho/toggleterm.nvim', version = "*", config = function() @@ -44,7 +44,6 @@ return { shading_factor = 1, start_in_insert = true, persist_size = true, - -- direction 不写死,由 keymap 创建时动态决定 } end }