|
1 | 1 | *nvim-tree.lua* A File Explorer For Neovim Written In Lua |
2 | 2 |
|
3 | | -Author: Yazdani Kiyan <yazdani.kiyan@protonmail.com> |
| 3 | +Author: Yazdani Kiyan |
4 | 4 |
|
5 | 5 | ============================================================================== |
6 | 6 | CONTENTS *nvim-tree* |
@@ -73,39 +73,30 @@ Requirements |
73 | 73 |
|
74 | 74 | ============================================================================== |
75 | 75 | 2. QUICK START *nvim-tree-quickstart* |
| 76 | +> |
| 77 | + -- disable netrw at the very start of your init.lua (strongly advised) |
| 78 | + vim.g.loaded_netrw = 1 |
| 79 | + vim.g.loaded_netrwPlugin = 1 |
76 | 80 |
|
77 | | -Setup should be run in a lua file or in a |lua-heredoc| if using in a vim file. |
78 | | - |
79 | | - -- examples for your init.lua |
80 | | - |
81 | | - -- disable netrw at the very start of your init.lua (strongly advised) |
82 | | - vim.g.loaded_netrw = 1 |
83 | | - vim.g.loaded_netrwPlugin = 1 |
84 | | - |
85 | | - -- set termguicolors to enable highlight groups |
86 | | - vim.opt.termguicolors = true |
| 81 | + -- set termguicolors to enable highlight groups |
| 82 | + vim.opt.termguicolors = true |
87 | 83 |
|
88 | | - -- empty setup using defaults |
89 | | - require("nvim-tree").setup() |
| 84 | + -- empty setup using defaults |
| 85 | + require("nvim-tree").setup() |
90 | 86 |
|
91 | | - -- OR setup with some options |
92 | | - require("nvim-tree").setup({ |
93 | | - sort_by = "case_sensitive", |
94 | | - view = { |
95 | | - width = 30, |
96 | | - mappings = { |
97 | | - list = { |
98 | | - { key = "u", action = "dir_up" }, |
99 | | - }, |
100 | | - }, |
101 | | - }, |
102 | | - renderer = { |
103 | | - group_empty = true, |
104 | | - }, |
105 | | - filters = { |
106 | | - dotfiles = true, |
107 | | - }, |
108 | | - }) |
| 87 | + -- OR setup with some options |
| 88 | + require("nvim-tree").setup({ |
| 89 | + sort_by = "case_sensitive", |
| 90 | + view = { |
| 91 | + width = 30, |
| 92 | + }, |
| 93 | + renderer = { |
| 94 | + group_empty = true, |
| 95 | + }, |
| 96 | + filters = { |
| 97 | + dotfiles = true, |
| 98 | + }, |
| 99 | + }) |
109 | 100 | < |
110 | 101 | ============================================================================== |
111 | 102 | 3. COMMANDS *nvim-tree-commands* |
@@ -1729,35 +1720,44 @@ Active mappings may be viewed via HELP, default `g?`. The mapping's description |
1729 | 1720 | is used when displaying HELP. |
1730 | 1721 |
|
1731 | 1722 | The `on_attach` function is passed the `bufnr` of nvim-tree. Use |
1732 | | -|vim.keymap.set()| or |nvim_set_keymap()| to define mappings as usual. e.g. |
1733 | | -> |
1734 | | - local M = {} |
| 1723 | +|vim.keymap.set()| or |nvim_set_keymap()| to define mappings as usual. e.g. > |
1735 | 1724 |
|
1736 | | - local api = require("nvim-tree.api") |
| 1725 | + local function my_on_attach(bufnr) |
| 1726 | + local api = require('nvim-tree.api') |
1737 | 1727 |
|
1738 | | - function M.on_attach(bufnr) |
1739 | | - -- put some default mappings here |
1740 | | - vim.keymap.set('n', 'h', api.tree.toggle_help, { desc = 'Help', buffer = bufnr, noremap = true, silent = true, nowait = true }) |
1741 | | - vim.keymap.set('n', '?', api.tree.toggle_help, { desc = 'Help', buffer = bufnr, noremap = true, silent = true, nowait = true }) |
1742 | | - vim.keymap.set('n', 'p', M.print_node_path, { desc = 'Print', buffer = bufnr, noremap = true, silent = true, nowait = true }) |
| 1728 | + local function opts(desc) |
| 1729 | + return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true } |
1743 | 1730 | end |
1744 | 1731 |
|
1745 | | - function M.print_node_path() |
1746 | | - local node = api.tree.get_node_under_cursor() |
1747 | | - print(node.absolute_path) |
1748 | | - end |
| 1732 | + -- put some default mappings here |
1749 | 1733 |
|
1750 | | - require("nvim-tree").setup({ |
1751 | | - on_attach = M.on_attach, |
1752 | | - -- |
1753 | | - }) |
| 1734 | + -- user mappings |
| 1735 | + vim.keymap.set('n', '?', api.tree.toggle_help, opts('Help')) |
| 1736 | + end |
| 1737 | +
|
| 1738 | + require("nvim-tree").setup({ |
| 1739 | + --- |
| 1740 | + on_attach = my_on_attach, |
| 1741 | + --- |
| 1742 | + }) |
1754 | 1743 | < |
1755 | 1744 | Mouse support is defined in |KeyBindings| |
1756 | 1745 |
|
1757 | 1746 | Single left mouse mappings can be achieved via `<LeftRelease>`. |
1758 | 1747 |
|
1759 | 1748 | Single right / middle mouse mappings will require changes to |mousemodel| or |mouse|. |
1760 | 1749 |
|
| 1750 | +You may execute your own functions as well as |nvim-tree-api| functions e.g. > |
| 1751 | +
|
| 1752 | + local function print_node_path() |
| 1753 | + local api = require('nvim-tree.api') |
| 1754 | + local node = api.tree.get_node_under_cursor() |
| 1755 | + print(node.absolute_path) |
| 1756 | + end |
| 1757 | +
|
| 1758 | + -- on_attach |
| 1759 | + vim.keymap.set('n', '<C-P>', print_node_path, opts('Print Path')) |
| 1760 | +< |
1761 | 1761 | ============================================================================== |
1762 | 1762 | 6.1 DEFAULT MAPPINGS *nvim-tree-mappings-default* |
1763 | 1763 |
|
|
0 commit comments