Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A file explorer tree for neovim written in lua

License

NotificationsYou must be signed in to change notification settings

cooperuser/nvim-tree.lua

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notice

This plugin doesn't support windows yet.
This plugin requiresneovim nightly.

Install

Install withvim-plug:

" requiresPlug'kyazdani42/nvim-web-devicons'" for file iconsPlug'kyazdani42/nvim-tree.lua'

Setup

letg:nvim_tree_side='right' |'left'"left by defaultletg:nvim_tree_width=40"30 by defaultletg:nvim_tree_ignore= ['.git','node_modules','.cache' ]"empty by defaultletg:nvim_tree_auto_open=1"0 by default, opens the tree when typing `vim $DIR` or `vim`letg:nvim_tree_auto_close=1"0 by default, closes the tree when it's the last windowletg:nvim_tree_auto_ignore_ft= {'startify','dashboard'}"empty by default, don't auto open tree on specific filetypes.letg:nvim_tree_quit_on_open=1"0 by default, closes the tree when you open a fileletg:nvim_tree_follow=1"0 by default, this option allows the cursor to be updated when entering a bufferletg:nvim_tree_indent_markers=1"0 by default, this option shows indent markers when folders are openletg:nvim_tree_hide_dotfiles=1"0 by default, this option hides files and folders starting with a dot `.`letg:nvim_tree_git_hl=1"0 by default, will enable file highlight for git attributes (can be used without the icons).letg:nvim_tree_root_folder_modifier=':~'"This is the default. See :help filename-modifiers for more optionsletg:nvim_tree_tab_open=1"0 by default, will open the tree when entering a new tab and the tree was previously openletg:nvim_tree_width_allow_resize=1"0 by default, will not resize the tree when opening a fileletg:nvim_tree_disable_netrw=0"1 by default, disables netrwletg:nvim_tree_hijack_netrw=0"1 by default, prevents netrw from automatically opening when opening directories (but lets you keep its other utilities)letg:nvim_tree_show_icons= {\'git':1,\'folders':0,\'files':0,\}"If 0, do not show the icons for one of 'git' 'folder' and 'files'"1 by default, notice that if 'files' is 1, it will only display"if nvim-web-devicons is installed and on your runtimepath" You can edit keybindings be defining this variable" You don't have to define all keys." NOTE: the 'edit' key will wrap/unwrap a folder and open a fileletg:nvim_tree_bindings= {\'edit':            ['<CR>','o'],\'edit_vsplit':'<C-v>',\'edit_split':'<C-x>',\'edit_tab':'<C-t>',\'close_node':      ['<S-CR>','<BS>'],\'toggle_ignored':'I',\'toggle_dotfiles':'H',\'refresh':'R',\'preview':'<Tab>',\'cd':'<C-]>',\'create':'a',\'remove':'d',\'rename':'r',\'cut':'x',\'copy':'c',\'paste':'p',\'prev_git_item':'[c',\'next_git_item':']c',\'dir_up':'-',\'close':'q',\}" Disable default mappings by plugin" Bindings are enable by default, disabled on any non-zero value" let nvim_tree_disable_keybindings=1" default will show icon by default if no icon is provided" default shows no icon by defaultletg:nvim_tree_icons= {\'default':'',\'symlink':'',\'git': {\'unstaged':"",\'staged':"",\'unmerged':"",\'renamed':"",\'untracked':""\  },\'folder': {\'default':"",\'open':"",\empty="",\   empty_open="",\'symlink':"",\  }\}nnoremap<C-n>:NvimTreeToggle<CR>nnoremap<leader>r :NvimTreeRefresh<CR>nnoremap<leader>n :NvimTreeFindFile<CR>" NvimTreeOpen and NvimTreeClose are also available if you need themsettermguicolors" this variable must be enabled for colors to be applied properly" a list of groups can be found at `:help nvim_tree_highlight`highlight NvimTreeFolderIcon guibg=blue

KeyBindings

  • move around like in any vim buffer
  • <CR> on.. will cd in the above directory
  • <C-]> will cd in the directory under the cursor
  • <BS> will close current opened directory or parent
  • typea to add a file. Adding a directory requires leaving a leading/ at the end of the path.

    you can add multiple directories by doing foo/bar/baz/f and it will add foo bar and baz directories and f as a file

  • typer to rename a file
  • typex to add/remove file/directory to cut clipboard
  • typec to add/remove file/directory to copy clipboard
  • typep to paste from clipboard. Cut clipboard has precedence over copy (will prompt for confirmation)
  • typed to delete a file (will prompt for confirmation)
  • type]c to go to next git item
  • type[c to go to prev git item
  • type '-' to naviate up to the parent directory of the current file/directory
  • if the file is a directory,<CR> will open the directory otherwise it will open the file in the buffer near the tree
  • if the file is a symlink,<CR> will follow the symlink (if the target is a file)
  • <C-v> will open the file in a vertical split
  • <C-x> will open the file in a horizontal split
  • <C-t> will open the file in a new tab
  • <Tab> will open the file as a preview (keeps the cursor in the tree)
  • I will toggle visibility of folders hidden via |g:nvim_tree_ignore|
  • H will toggle visibility of dotfiles (files/folders starting with a.)
  • R will refresh the tree
  • gx opens the file with theopen command on MACOS andxdg-open in linux
  • Double left click acts like<CR>
  • Double right click acts like<C-]>

Note

This plugin is very fast because it uses thelibuvscandir andscandir_next functions instead of spawning anls process which can get slow on large files when combining withstat to get file informations.

The Netrw vim plugin is disabled, hence features likegx don't work across your windows/buffers. You could use a plugin likethis one if you wish to use that feature.

Features

  • Open file in current buffer or in split with FzF like bindings (<CR>,<C-v>,<C-x>,<C-t>)
  • File icons with nvim-web-devicons
  • Syntax highlighting (exa like)
  • Change directory with.
  • Add / Rename / delete files
  • Git integration (icons and file highlight)
  • Indent markers
  • Mouse support
  • It's fast

Screenshots

alt textalt textalt text

About

A file explorer tree for neovim written in lua

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua97.6%
  • Vim Script2.4%

[8]ページ先頭

©2009-2025 Movatter.jp