Fast async file browser for Vim with git integration.
Clean tree view of your project files with real-time git status indicators. Built for speed with async operations and minimal overhead.
Key Features:
- Async file operations (non-blocking I/O)
- Fully customizable icons and symbols
- Git blame and branch information
- Multi-file marking for batch operations
- Auto-sync with buffer changes
- Terminal integration
- Lazy-loading for performance
- Auto-opens with vim .
- NERDTree-style keybindings
No dependencies. No bloat. Just a file tree that works.
Core:
- Async file tree rendering using Vim's job API
- Auto-sync tree when switching buffers
- Expand/Collapse all directories
- Show/hide hidden files
- Customizable icons for everything
- Mouse support
Git Integration:
- Real-time status indicators (+ * ? - !)
- Branch information with ahead/behind commits
- Git blame support (opt-in)
- Branch info tooltips/floats
- Stash detection
- Show/hide gitignore files
- Auto-update on file save
Multi-file Operations:
- Mark multiple files
- Open all marked files in tabs
- Stage all marked files to git
- Visual mark indicators
File Operations:
- Open terminal in file/directory path
- Open in splits, tabs, or current window
Help:
- Interactive help float showing all keymaps
- Press ? inside FTX or :FTXHelp
Minimum:
- Vim 8.0 or later with +job and +timers
- git (optional, for git integration)
Recommended:
- Vim with +popupwin (for tooltips and help)
- Unicode-capable terminal (for fancy icons)
Check if your Vim supports required features:
:echo has('job') && has('timers')
Plug 'm-mdy-m/ftx.vim'
Then run:
:PlugInstall
git clone https://github.com/m-mdy-m/ftx.vim ~/.vim/pack/ftx/start/ftx
git clone https://github.com/m-mdy-m/ftx.vim
cd ftx.vim
make install
Basic Usage:
:FTX Open tree in current directory
:FTXToggle Toggle tree visibility
F2 Toggle FTX (quick key)
F3 Refresh tree
? Show help inside FTX
Open with Directory:
vim . FTX opens automatically
vim ~/projects Opens FTX in ~/projects
Detailed Documentation:
- Complete Guide - Start here
- Configuration - All settings
- Keymaps - Keyboard shortcuts
- Git Integration - Git features
- Multi-file Marking - Batch operations
- Customization - Icons and styling
Contributions welcome. Keep changes focused and include tests for new features.
See CONTRIBUTING.md for details.
MIT License - Copyright (c) 2026 m-mdy-m
See LICENSE for full text.
Inspired by:
- netrw - Vim's built-in file browser
- NERDTree - Popular tree explorer
- fern.vim - Modern async file explorer
- ranger.vim.vim - integration in vim and neovim
Built with simplicity and performance in mind.
