neovim: add nvim-tree
This commit is contained in:
@@ -1 +0,0 @@
|
|||||||
vim.g.netrw_banner = 0
|
|
||||||
100
neovim/.config/nvim/after/plugin/nvim-tree.lua
Normal file
100
neovim/.config/nvim/after/plugin/nvim-tree.lua
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
local function on_attach(bufnr)
|
||||||
|
local api = require("nvim-tree.api")
|
||||||
|
|
||||||
|
local function opts(desc)
|
||||||
|
return {
|
||||||
|
desc = "nvim-tree: " .. desc,
|
||||||
|
buffer = bufnr,
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
nowait = true,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.keymap.set("n", "tn", api.node.open.tab, opts("tabnew"))
|
||||||
|
vim.keymap.set("n", "l", api.node.open.edit, opts("edit"))
|
||||||
|
vim.keymap.set("n", "<CR>", api.node.open.edit, opts("edit ENTER"))
|
||||||
|
vim.keymap.set("n", "@", api.tree.change_root_to_node, opts("change root"))
|
||||||
|
vim.keymap.set("n", "<C-v>", api.node.open.vertical, opts("vertical split"))
|
||||||
|
vim.keymap.set("n", "<C-h>", api.node.open.horizontal, opts("horizontal split"))
|
||||||
|
vim.keymap.set("n", "a", api.fs.create, opts("create file"))
|
||||||
|
vim.keymap.set("n", "d", api.fs.remove, opts("remove file"))
|
||||||
|
vim.keymap.set("n", "r", api.fs.rename, opts("rename file"))
|
||||||
|
vim.keymap.set("n", "R", api.tree.reload, opts("reload"))
|
||||||
|
vim.keymap.set("n", "x", api.fs.cut, opts("cut"))
|
||||||
|
vim.keymap.set("n", "y", api.fs.copy.filename, opts("copy filename"))
|
||||||
|
vim.keymap.set("n", "Y", api.fs.copy.relative_path, opts("copy relative path file"))
|
||||||
|
vim.keymap.set("n", "W", api.tree.collapse_all, opts("collapse all"))
|
||||||
|
vim.keymap.set("n", "I", api.tree.toggle_gitignore_filter, opts("toggle git ignored files"))
|
||||||
|
vim.keymap.set("n", "H", api.tree.toggle_hidden_filter, opts("toggle hidden files"))
|
||||||
|
vim.keymap.set("n", "<TAB>", api.node.open.preview, opts("preview node"))
|
||||||
|
vim.keymap.set("n", "F", api.live_filter.clear, opts("clear filter"))
|
||||||
|
vim.keymap.set("n", "f", api.live_filter.start, opts("filter"))
|
||||||
|
vim.keymap.set("n", "q", api.tree.close, opts("quit"))
|
||||||
|
vim.keymap.set("n", "p", api.fs.paste, opts("paste"))
|
||||||
|
end
|
||||||
|
|
||||||
|
require("nvim-tree").setup({
|
||||||
|
disable_netrw = true,
|
||||||
|
hijack_netrw = true,
|
||||||
|
hijack_cursor = true,
|
||||||
|
open_on_tab = false,
|
||||||
|
update_cwd = true,
|
||||||
|
auto_reload_on_write = true,
|
||||||
|
reload_on_bufenter = true,
|
||||||
|
update_focused_file = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
view = {
|
||||||
|
width = 30,
|
||||||
|
adaptive_size = false,
|
||||||
|
side = "left",
|
||||||
|
preserve_window_proportions = true,
|
||||||
|
centralize_selection = true,
|
||||||
|
},
|
||||||
|
renderer = {
|
||||||
|
add_trailing = true,
|
||||||
|
group_empty = false,
|
||||||
|
highlight_git = true,
|
||||||
|
indent_markers = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
icons = {
|
||||||
|
show = {
|
||||||
|
git = true,
|
||||||
|
file = true,
|
||||||
|
folder = true,
|
||||||
|
},
|
||||||
|
glyphs = {
|
||||||
|
default = "",
|
||||||
|
symlink = "",
|
||||||
|
git = {
|
||||||
|
unstaged = "U",
|
||||||
|
staged = "S",
|
||||||
|
unmerged = "M",
|
||||||
|
renamed = "R",
|
||||||
|
untracked = "N",
|
||||||
|
deleted = "D",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
filters = {
|
||||||
|
custom = { "^.git$" },
|
||||||
|
},
|
||||||
|
actions = {
|
||||||
|
open_file = {
|
||||||
|
resize_window = true,
|
||||||
|
quit_on_open = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
git = {
|
||||||
|
ignore = true,
|
||||||
|
},
|
||||||
|
diagnostics = {
|
||||||
|
enable = true,
|
||||||
|
show_on_dirs = true,
|
||||||
|
icons = { hint = "", info = "", warning = "", error = "" },
|
||||||
|
},
|
||||||
|
on_attach = on_attach,
|
||||||
|
})
|
||||||
@@ -4,7 +4,7 @@ vim.keymap.set({ "n", "i", "v" }, "<PageUp>", "<nop>")
|
|||||||
vim.keymap.set({ "n", "i", "v" }, "<F1>", "<nop>")
|
vim.keymap.set({ "n", "i", "v" }, "<F1>", "<nop>")
|
||||||
vim.keymap.set("n", "q:", "<nop>")
|
vim.keymap.set("n", "q:", "<nop>")
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader><leader>", vim.cmd.Ex)
|
vim.keymap.set("n", "<leader><leader>", vim.cmd.NvimTreeToggle)
|
||||||
vim.keymap.set("n", "<C-c>", vim.cmd.nohl)
|
vim.keymap.set("n", "<C-c>", vim.cmd.nohl)
|
||||||
|
|
||||||
-- Move lines easily
|
-- Move lines easily
|
||||||
|
|||||||
@@ -49,6 +49,9 @@ require("packer").startup(function(use)
|
|||||||
|
|
||||||
use({ "mbbill/undotree" })
|
use({ "mbbill/undotree" })
|
||||||
|
|
||||||
|
use({ "kyazdani42/nvim-tree.lua" })
|
||||||
|
use({ "kyazdani42/nvim-web-devicons" })
|
||||||
|
|
||||||
if PACKER_BOOTSTRAP then
|
if PACKER_BOOTSTRAP then
|
||||||
require("packer").sync()
|
require("packer").sync()
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user