在 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。

Neovim Bufferline: 使用 Lua 配置实现 ZZ 命令切换左侧 Buffer 并关闭当前 Buffer

原文地址: https://www.cveoy.top/t/topic/8V8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录