From 26dd7dbf3ef14a146e0658c6adee987ab7925527 Mon Sep 17 00:00:00 2001 From: phanium <91544758+phanen@users.noreply.github.com> Date: Mon, 6 Oct 2025 22:12:09 +0800 Subject: [PATCH] fix: prevent NvimTree to be alternate buffer when tab open --- lua/nvim-tree/actions/node/open-file.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lua/nvim-tree/actions/node/open-file.lua b/lua/nvim-tree/actions/node/open-file.lua index de43416e..094b8945 100644 --- a/lua/nvim-tree/actions/node/open-file.lua +++ b/lua/nvim-tree/actions/node/open-file.lua @@ -198,7 +198,14 @@ local function open_file_in_tab(filename) if M.relative_path then filename = utils.path_relative(filename, vim.fn.getcwd()) end - vim.cmd("tabe " .. vim.fn.fnameescape(filename)) + vim.cmd.tabnew() + -- HACK: prevent NvimTree to be alternate buffer + if utils.is_nvim_tree_buf(vim.fn.bufnr("#")) then + local tmpbuf = vim.api.nvim_create_buf(false, true) + vim.fn.setreg("#", tmpbuf) + vim.api.nvim_buf_delete(tmpbuf, { force = true }) + end + vim.cmd.edit(vim.fn.fnameescape(filename)) end local function drop(filename)