Neovim Bufferline: 使用 Lua 配置实现 ZZ 命令切换左侧 Buffer 并关闭当前 Buffer
在 Neovim 的 Bufferline 插件中使用 Lua 配置来实现在普通模式按下 ZZ 后切换到左侧 buffer 并关闭原有 buffer,你可以在你的 Neovim 配置文件(通常是 init.lua)中添加以下代码:
-- 在普通模式按下 ZZ 后切换到左侧 buffer 并关闭原有 buffer
vim.cmd([[command! -nargs=0 ZZ lua require('mybuffer').switch_and_close()]])
-- 定义 switch_and_close 函数
require('mybuffer').switch_and_close = function()
local current_buffer = vim.fn.bufnr('%') -- 获取当前 buffer 的编号
local prev_buffer = vim.fn.bufnr('#') -- 获取前一个 buffer 的编号
if prev_buffer > 0 then
vim.cmd('buffer ' .. prev_buffer) -- 切换到前一个 buffer
vim.cmd('bdelete ' .. current_buffer) -- 关闭当前 buffer
end
end
上述配置中,我们定义了一个名为 'mybuffer' 的 Lua 模块,并在其中定义了 switch_and_close 函数。该函数使用 Neovim 的 Lua API 实现了切换到左侧 buffer 并关闭原有 buffer 的功能。然后,我们将自定义命令 ZZ 关联到这个 Lua 函数。
请将以上代码添加到你的 Neovim 配置文件(init.lua)中,重新载入配置文件,然后在普通模式下按下 ZZ 即可实现按照你的需求切换 buffer 并关闭原有 buffer。
原文地址: https://www.cveoy.top/t/topic/8V8 著作权归作者所有。请勿转载和采集!