Open
Description
Description
Bug Description
When creating a new file in nvim-tree
using the a
key, the prompt opens as expected. However, as I type the file name, the cursor keeps jumping back to the beginning of the input, making it impossible to enter the full file name.
Neovim version
NVIM v0.11.0
Build type: Release
LuaJIT 2.1.1744318430
Operating system and version
Macos
Windows variant
No response
nvim-tree version
HEAD
Clean room replication
return {
"nvim-tree/nvim-tree.lua",
commit = "HEAD",
dependencies = {
"nvim-tree/nvim-web-devicons",
"ryanoasis/vim-devicons",
"folke/which-key.nvim",
},
config = function()
local api = require("nvim-tree.api")
-- Toggle с <Tab>
vim.keymap.set(
"n",
"<Tab>",
api.tree.toggle,
{ desc = "Toggle NvimTree" }
)
require("which-key").add({
{
"<leader>e",
function()
vim.cmd("cd %:p:h")
vim.cmd("pwd")
api.tree.toggle({
path = vim.fn.expand("%:p:h"),
find_file = false,
})
end,
desc = "Nvim-tree: setup",
},
})
local function my_on_attach(bufnr)
local function opts(desc)
return {
desc = "NvimTree: " .. desc,
buffer = bufnr,
noremap = true,
silent = true,
nowait = true,
}
end
api.config.mappings.default_on_attach(bufnr)
vim.keymap.set("n", "<C-o>", function()
local node =
require("nvim-tree.api").tree.get_node_under_cursor()
if not node or not node.absolute_path then
vim.notify("No file under cursor", vim.log.levels.WARN)
return
end
vim.fn.jobstart(
{ "open", "-R", node.absolute_path },
{ detach = true }
)
end, opts("Reveal in Finder"))
vim.keymap.set("n", "<Tab>", api.tree.toggle, opts("Toggle"))
vim.keymap.set(
"n",
"<CR>",
api.node.open.preview,
opts("Preview file")
)
vim.keymap.set("n", "s", api.node.open.horizontal, opts("Split"))
vim.keymap.set("n", "v", api.node.open.vertical, opts("VSplit"))
vim.keymap.set("n", "p", api.tree.change_root_to_parent, opts("Up"))
vim.keymap.set(
"n",
"c",
api.tree.collapse_all,
opts("Collapse all")
)
vim.keymap.set(
"n",
"gm",
api.marks.bulk.move,
opts("Bulk Move Marked Files")
)
end
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
require("nvim-tree").setup({
on_attach = my_on_attach,
disable_netrw = true,
hijack_cursor = true,
update_focused_file = {
enable = true,
update_cwd = false,
},
renderer = {
indent_markers = {
enable = true,
},
icons = {
webdev_colors = true,
show = {
file = true,
folder = true,
folder_arrow = true,
git = true,
},
},
},
filters = {
dotfiles = true,
custom = { "node_modules" },
},
diagnostics = {
enable = true,
show_on_dirs = true,
},
git = {
enable = true,
ignore = true,
show_on_dirs = true,
},
view = {
width = 30,
side = "left",
preserve_window_proportions = true,
},
})
end,
}
Steps to reproduce
- Open
nvim-tree
- Press
a
to create a file - Start typing something like:
Users/antonarlazarov/GG Freight Services/Daily Notes/2025/July/test.md
- After typing a few characters, the cursor jumps to the start of the line, and continues to reset on every keystroke.
Expected behavior
The cursor should remain at the end of the input as the user types, allowing a full path or long file name to be entered without interruption.
Actual behavior
After typing a few characters, the cursor jumps to the start of the line, and continues to reset on every keystroke.