All Projects → zgpio → Tree.nvim

zgpio / Tree.nvim

Licence: bsd-3-clause
Neovim file-explorer powered by C++

Projects that are alternatives of or similar to Tree.nvim

drex.nvim
Another directory/file explorer for Neovim written in Lua
Stars: ✭ 15 (-89.29%)
Mutual labels:  neovim, file-explorer
termex
Explore the filesystem from your terminal
Stars: ✭ 21 (-85%)
Mutual labels:  explorer, file-explorer
Vim Netranger
A ranger-like system/cloud storage explorer for Vim, bringing together the best of Vim, ranger, and rclone.
Stars: ✭ 170 (+21.43%)
Mutual labels:  neovim, file-explorer
Chadtree
File manager for Neovim. Better than NERDTree.
Stars: ✭ 653 (+366.43%)
Mutual labels:  neovim, file-explorer
Fern.vim
🌿 General purpose asynchronous tree viewer written in Pure Vim script
Stars: ✭ 552 (+294.29%)
Mutual labels:  neovim, file-explorer
Nvim Tree.lua
A file explorer tree for neovim written in lua
Stars: ✭ 383 (+173.57%)
Mutual labels:  neovim, file-explorer
ShellAnything
ShellAnything is a C++ open-source software which allow one to easily customize and add new options to *Windows Explorer* context menu. Define specific actions when a user right-click on a file or a directory.
Stars: ✭ 103 (-26.43%)
Mutual labels:  explorer, file-explorer
Ranger.vim
Ranger integration in vim and neovim
Stars: ✭ 510 (+264.29%)
Mutual labels:  neovim, file-explorer
Kodexplorer
A web based file manager,web IDE / browser based code editor
Stars: ✭ 5,490 (+3821.43%)
Mutual labels:  explorer, file-explorer
Coc Explorer
📁 Explorer for coc.nvim
Stars: ✭ 722 (+415.71%)
Mutual labels:  neovim, explorer
Vim Clap
👏 Modern performant fuzzy picker for Vim and NeoVim
Stars: ✭ 1,802 (+1187.14%)
Mutual labels:  neovim
Vim Laravel
Vim support for Laravel/Lumen projects
Stars: ✭ 128 (-8.57%)
Mutual labels:  neovim
Shades Of Purple.vim
Dark theme for vim
Stars: ✭ 132 (-5.71%)
Mutual labels:  neovim
Dots
Personal *nix configuration files
Stars: ✭ 136 (-2.86%)
Mutual labels:  neovim
Completion Treesitter
Treesitter source for completion-nvim and more
Stars: ✭ 129 (-7.86%)
Mutual labels:  neovim
Paq Nvim
🌚 Neovim package manager
Stars: ✭ 131 (-6.43%)
Mutual labels:  neovim
Coc Solargraph
Solargraph extension for coc.nvim
Stars: ✭ 127 (-9.29%)
Mutual labels:  neovim
Awesome Vim Colorschemes
Collection of awesome color schemes for Neo/vim, merged for quick use.
Stars: ✭ 1,951 (+1293.57%)
Mutual labels:  neovim
Deoplete Rust
Rust completion for Neovim (Deoplete) via Racer
Stars: ✭ 126 (-10%)
Mutual labels:  neovim
Fisco Bcos Browser
A broswer to show the detail infomation of a running FISCO BCOS chain
Stars: ✭ 138 (-1.43%)
Mutual labels:  explorer

Tree.nvim - File explorer powered by C++.

Build Status Build Status Build status

🎉: QT dependencies removed (2020-03-21)

Requirements

Features

  • Support Linux/MacOS/Windows
  • NeoVim line-based highlight (conceal free)
  • High performance
  • Defx's UI/API (minor revision)
  • For more information refer to doc

Usage

Demo Demo

Config

Step 1

mkdir tree.nvim && cd tree.nvim
# via wget or curl
sh -c "$(wget -O- https://raw.githubusercontent.com/zgpio/tree.nvim/master/install.sh)"
sh -c "$(curl -fsSL https://raw.githubusercontent.com/zgpio/tree.nvim/master/install.sh)"

Step 2

" Add tree.nvim to runtime path
set rtp+=/path/to/tree.nvim/
" Start user configuration
" ...

User configuration ref to config.lua.

vim.o.termguicolors = true
vim.api.nvim_set_keymap('n', '<Space>z',
    ":<C-u>Tree -columns=mark:indent:git:icon:filename:size:time"..
    " -split=vertical -direction=topleft -winwidth=40 -listed `expand('%:p:h')`<CR>",
    {noremap=true, silent=true})
local custom = require 'tree/custom'
custom.option('_', {root_marker='[in]:'})
custom.column('filename', {
  root_marker_highlight='Ignore',
  max_width=60,
})
custom.column('time', {
  format="%d-%M-%Y",
})
custom.column('mark', {
  readonly_icon="X",
  selected_icon="*",
})
local tree = require('tree')
-- keymap(keys, action1, action2, ...)  action can be `vim action` or `tree action`
tree.keymap('cp', 'copy')
tree.keymap('m', 'move')
tree.keymap('p', 'paste')
tree.keymap('a', 'view')
tree.keymap('o', 'open_or_close_tree')
tree.keymap('R', 'open_tree_recursive')
tree.keymap('r', 'rename')
tree.keymap('x', 'execute_system')
tree.keymap('<CR>', 'drop')
tree.keymap('<C-l>', 'redraw')
tree.keymap('<C-g>', 'print')
tree.keymap('>', 'toggle_ignored_files')
tree.keymap('*', 'toggle_select_all')
tree.keymap('s', {'drop', 'split'}, 'quit')
tree.keymap('N', 'new_file')
tree.keymap('cd', {'cd', '.'})
tree.keymap('~', 'cd')
tree.keymap('<Tab>', 'toggle_select', 'j')  -- tree action and vim action
tree.keymap('\\', {'cd', vim.fn.getcwd})
tree.keymap('cD', {'call', function(context) print(vim.inspect(context)) end})
tree.keymap('l', 'open')
tree.keymap('yy', 'yank_path')
tree.keymap('D', 'debug')
tree.keymap('d', 'remove')
tree.keymap('E', {'open', 'vsplit'})
tree.keymap('h', {'cd', '..'})
tree.keymap('gk', {'goto', 'parent'})

Build

macos

brew install boost
git clone https://github.com/zgpio/tree.nvim

cmake -DCMAKE_INSTALL_PREFIX=./INSTALL -DBoost_USE_STATIC_LIBS=ON -DCMAKE_BUILD_TYPE=Release -S tree.nvim/ -B tree.nvim/build
make -C tree.nvim/build/ install

ubuntu1804

# cmake 3.10  boost 1.65
sudo apt install cmake libboost-filesystem-dev
git clone https://github.com/zgpio/tree.nvim.git
cd tree.nvim
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=./INSTALL -DBoost_USE_STATIC_LIBS=ON -DCMAKE_BUILD_TYPE=Release  ..
make install
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].