You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After close whole neovim editor, the jumps list will append an 0 buffer.
This will affect the behavior of <C+o>, which should be act like that it will open latest opened file.
Screenshots, Traceback
Steps to Reproduce
Open any file in buffer
Close buffer just opened
Check :jumps , the latest row show the file opened.
Close neovim
Reopen neovim
Check :jumps , the latest row be 0
Press <C-o>, neovim jump to null buffer rather the file opened recently
Expected Behavior
After press <C-o> neovim will open the recently opened file .
Your Configuration
return {
"nvim-neo-tree/neo-tree.nvim",
branch="v3.x",
dependencies= {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended"MunifTanjim/nui.nvim",
-- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information
},
config=function()
-- If you want icons for diagnostic errors, you'll need to define them somewhere:vim.fn.sign_define("DiagnosticSignError",
{ text=" ", texthl="DiagnosticSignError" })
vim.fn.sign_define("DiagnosticSignWarn",
{ text=" ", texthl="DiagnosticSignWarn" })
vim.fn.sign_define("DiagnosticSignInfo",
{ text=" ", texthl="DiagnosticSignInfo" })
vim.fn.sign_define("DiagnosticSignHint",
{ text="", texthl="DiagnosticSignHint" })
require("neo-tree").setup({
close_if_last_window=false, -- Close Neo-tree if it is the last window left in the tabpopup_border_style="rounded",
enable_git_status=true,
enable_diagnostics=true,
enable_normal_mode_for_inputs=false, -- Enable normal mode for input dialogs.open_files_do_not_replace_types= { "terminal", "trouble", "qf" }, -- when opening files, do not use windows containing these filetypes or buftypessort_case_insensitive=false, -- used when sorting files and directories in the treesort_function=nil, -- use a custom function for sorting files and directories in the tree-- sort_function = function (a,b)-- if a.type == b.type then-- return a.path > b.path-- else-- return a.type > b.type-- end-- end , -- this sorts files and directories descendantlydefault_component_configs= {
container= {
enable_character_fade=true
},
indent= {
indent_size=2,
padding=1, -- extra padding on left hand side-- indent guideswith_markers=true,
indent_marker="│",
last_indent_marker="└",
highlight="NeoTreeIndentMarker",
-- expander config, needed for nesting fileswith_expanders=nil, -- if nil and file nesting is enabled, will enable expandersexpander_collapsed="",
expander_expanded="",
expander_highlight="NeoTreeExpander",
},
icon= {
folder_closed="",
folder_open="",
folder_empty="",
-- The next two settings are only a fallback, if you use nvim-web-devicons and configure default icons there-- then these will never be used.default="*",
highlight="NeoTreeFileIcon"
},
modified= {
symbol="[+]",
highlight="NeoTreeModified",
},
name= {
trailing_slash=false,
use_git_status_colors=true,
highlight="NeoTreeFileName",
},
git_status= {
symbols= {
-- Change typeadded="", -- or "✚", but this is redundant info if you use git_status_colors on the namemodified="", -- or "", but this is redundant info if you use git_status_colors on the namedeleted="✖", -- this can only be used in the git_status sourcerenamed="", -- this can only be used in the git_status source-- Status typeuntracked="",
ignored="",
unstaged="",
staged="",
conflict="",
}
},
-- If you don't want to use these columns, you can set `enabled = false` for each of them individuallyfile_size= {
enabled=true,
required_width=64, -- min width of window required to show this column
},
type= {
enabled=true,
required_width=122, -- min width of window required to show this column
},
last_modified= {
enabled=true,
required_width=88, -- min width of window required to show this column
},
created= {
enabled=true,
required_width=110, -- min width of window required to show this column
},
symlink_target= {
enabled=true,
},
},
-- A list of functions, each representing a global custom command-- that will be available in all sources (if not overridden in `opts[source_name].commands`)-- see `:h neo-tree-custom-commands-global`commands= {},
window= {
position="left",
width=40,
mapping_options= {
noremap=true,
nowait=true,
},
mappings= {
['Y'] =function(state)
-- NeoTree is based on [NuiTree](https://github.com/MunifTanjim/nui.nvim/tree/main/lua/nui/tree)-- The node is based on [NuiNode](https://github.com/MunifTanjim/nui.nvim/tree/main/lua/nui/tree#nuitreenode)localnode=state.tree:get_node()
localfilepath=node:get_id()
localfilename=node.namelocalmodify=vim.fn.fnamemodifylocalresults= {
filepath,
modify(filepath, ':.'),
modify(filepath, ':~'),
filename,
modify(filename, ':r'),
modify(filename, ':e'),
}
-- absolute path to clipboardlocali=vim.fn.inputlist({
'Choose to copy to clipboard:',
'1. Absolute path: ' ..results[1],
'2. Path relative to CWD: ' ..results[2],
'3. Path relative to HOME: ' ..results[3],
'4. Filename: ' ..results[4],
'5. Filename without extension: ' ..results[5],
'6. Extension of the filename: ' ..results[6],
})
ifi>0thenlocalresult=results[i]
ifnotresultthenreturnprint('Invalid choice: ' ..i) endvim.fn.setreg('"', result)
vim.notify('Copied: ' ..result)
endend,
["<2-LeftMouse>"] ="open",
["<cr>"] ="open",
["l"] ="open",
["<esc>"] ="cancel", -- close preview or floating neo-tree window-- ["P"] = { "toggle_preview", config = { use_float = true, use_image_nvim = true } },-- Read `# Preview Mode` for more information
["<c-s>"] ="open_split",
["<c-v>"] ="open_vsplit",
-- ["S"] = "split_with_window_picker",-- ["s"] = "vsplit_with_window_picker",
["t"] ="open_tabnew",
-- ["<cr>"] = "open_drop",-- ["t"] = "open_tab_drop",
["<c-w>"] ="open_with_window_picker",
--["P"] = "toggle_preview", -- enter preview mode, which shows the current node without focusing
["h"] ="close_node",
-- ['C'] = 'close_all_subnodes',
["z"] ="close_all_nodes",
--["Z"] = "expand_all_nodes",
["a"] = {
"add",
-- this command supports BASH style brace expansion ("x{a,b,c}" -> xa,xb,xc). see `:h neo-tree-file-actions` for details-- some commands may take optional config options, see `:h neo-tree-mappings` for detailsconfig= {
show_path="none" -- "none", "relative", "absolute"
}
},
["A"] ="add_directory", -- also accepts the optional config.show_path option like "add". this also supports BASH style brace expansion.
["d"] ="delete",
["r"] ="rename",
["y"] ="copy_to_clipboard",
["x"] ="cut_to_clipboard",
["p"] ="paste_from_clipboard",
["c"] ="copy", -- takes text input for destination, also accepts the optional config.show_path option like "add":
["gy"] = {
"copy",
config= {
show_path="absolute" -- "none", "relative", "absolute"
}
},
["m"] ="move", -- takes text input for destination, also accepts the optional config.show_path option like "add".
["q"] ="close_window",
["R"] ="refresh",
["?"] ="show_help",
["<"] ="prev_source",
[">"] ="next_source",
["i"] ="show_file_details",
["S"] =function(state)
localnode=state.tree:get_node()
localabs_filepath=node:get_id()
require('utils.system_open').fn(abs_filepath);
end
}
},
nesting_rules= {},
filesystem= {
filtered_items= {
visible=false, -- when true, they will just be displayed differently than normal itemshide_dotfiles=true,
hide_gitignored=true,
hide_hidden=true, -- only works on Windows for hidden files/directorieshide_by_name= {
--"node_modules"
},
hide_by_pattern= { -- uses glob style patterns--"*.meta",--"*/src/*/tsconfig.json",
},
always_show= { -- remains visible even if other settings would normally hide it--".gitignored",
},
never_show= { -- remains hidden even if visible is toggled to true, this overrides always_show--".DS_Store",--"thumbs.db"
},
never_show_by_pattern= { -- uses glob style patterns--".null-ls_*",
},
},
follow_current_file= {
enabled=false, -- This will find and focus the file in the active buffer every time-- -- the current file is changed while the tree is open.leave_dirs_open=false, -- `false` closes auto expanded dirs, such as with `:Neotree reveal`
},
group_empty_dirs=false, -- when true, empty folders will be grouped togetherhijack_netrw_behavior="open_default", -- netrw disabled, opening a directory opens neo-tree-- in whatever position is specified in window.position-- "open_current", -- netrw disabled, opening a directory opens within the-- window like netrw would, regardless of window.position-- "disabled", -- netrw left alone, neo-tree does not handle opening dirsuse_libuv_file_watcher=false, -- This will use the OS level file watchers to detect changes-- instead of relying on nvim autocmd events.window= {
mappings= {
["<bs>"] ="navigate_up",
["."] ="set_root",
["H"] ="toggle_hidden",
["/"] ="fuzzy_finder",
["D"] ="fuzzy_finder_directory",
["#"] ="fuzzy_sorter", -- fuzzy sorting using the fzy algorithm-- ["D"] = "fuzzy_sorter_directory",
["f"] ="filter_on_submit",
["<c-x>"] ="clear_filter",
["[g"] ="prev_git_modified",
["]g"] ="next_git_modified",
["o"] = { "show_help", nowait=false, config= { title="Order by", prefix_key="o" } },
["oc"] = { "order_by_created", nowait=false },
["od"] = { "order_by_diagnostics", nowait=false },
["og"] = { "order_by_git_status", nowait=false },
["om"] = { "order_by_modified", nowait=false },
["on"] = { "order_by_name", nowait=false },
["os"] = { "order_by_size", nowait=false },
["ot"] = { "order_by_type", nowait=false },
},
fuzzy_finder_mappings= { -- define keymaps for filter popup window in fuzzy_finder_mode
["<down>"] ="move_cursor_down",
["<up>"] ="move_cursor_up",
},
},
commands= {} -- Add a custom command or override a global one using the same function name
},
buffers= {
follow_current_file= {
enabled=true, -- This will find and focus the file in the active buffer every time-- -- the current file is changed while the tree is open.leave_dirs_open=false, -- `false` closes auto expanded dirs, such as with `:Neotree reveal`
},
group_empty_dirs=true, -- when true, empty folders will be grouped togethershow_unloaded=true,
window= {
mappings= {
["bd"] ="buffer_delete",
["<bs>"] ="navigate_up",
["."] ="set_root",
["o"] = { "show_help", nowait=false, config= { title="Order by", prefix_key="o" } },
["oc"] = { "order_by_created", nowait=false },
["od"] = { "order_by_diagnostics", nowait=false },
["om"] = { "order_by_modified", nowait=false },
["on"] = { "order_by_name", nowait=false },
["os"] = { "order_by_size", nowait=false },
["ot"] = { "order_by_type", nowait=false },
}
},
},
git_status= {
window= {
position="float",
mappings= {
-- ["A"] = "git_add_all",-- ["gu"] = "git_unstage_file",-- ["ga"] = "git_add_file",-- ["gr"] = "git_revert_file",-- ["gc"] = "git_commit",-- ["gp"] = "git_push",-- ["gg"] = "git_commit_and_push",
["o"] = { "show_help", nowait=false, config= { title="Order by", prefix_key="o" } },
["oc"] = { "order_by_created", nowait=false },
["od"] = { "order_by_diagnostics", nowait=false },
["om"] = { "order_by_modified", nowait=false },
["on"] = { "order_by_name", nowait=false },
["os"] = { "order_by_size", nowait=false },
["ot"] = { "order_by_type", nowait=false },
}
}
}
})
-- vim.cmd([[nnoremap \ :Neotree reveal<cr>]])end,
}
The text was updated successfully, but these errors were encountered:
Did you check docs and existing issues?
Neovim Version (nvim -v)
NVIM v0.9.5 Build type: Release LuaJIT 2.1.1692716794
Operating System / Version
ubuntu 20.04
Describe the Bug
After close whole neovim editor, the jumps list will append an
0
buffer.This will affect the behavior of
<C+o>
, which should be act like that it will open latest opened file.Screenshots, Traceback
Steps to Reproduce
:jumps
, the latest row show the file opened.:jumps
, the latest row be0
<C-o>
, neovim jump to null buffer rather the file opened recentlyExpected Behavior
After press
<C-o>
neovim will open the recently opened file .Your Configuration
The text was updated successfully, but these errors were encountered: