A Vim plugin that integrates the yazi terminal file manager with Vim/Neovim.
- 🚀 Launch yazi file manager from within Vim/Neovim
- 📁 Open selected files in Vim buffers automatically
- 🎯 Support for opening multiple files at once
- 🔄 Optional netrw replacement
- ⚡ Works with both Vim 8+ and Neovim
- Vim 8.0+ or Neovim 0.4+
- yazi installed and available in PATH
Plug 'yukimura1227/vim-yazi'- Download the plugin file
- Place it in your Vim plugin directory:
- Vim:
~/.vim/plugin/vim-yazi - Neovim:
~/.config/nvim/plugin/vim-yazi
- Vim:
| Command | Description |
|---|---|
:Yazi [path] |
Launch yazi in the specified directory (defaults to current file's directory) |
:YaziCwd |
Launch yazi in the current working directory (equivalent to :Yazi .) |
| Key | Action |
|---|---|
<leader>y |
Launch yazi |
Add these options to your .vimrc or init.vim to customize the plugin:
" Path to yazi executable (default: 'yazi')
let g:yazi_executable = 'yazi'
" Enable opening multiple files (default: 1)
let g:yazi_open_multiple = 0
" Replace netrw with yazi (default: 0)
let g:yazi_replace_netrw = 1
" Disable default key mappings (default: 0)
let g:yazi_no_mappings = 1If you prefer custom key mappings, disable the defaults and define your own:
" Disable default mappings
let g:yazi_no_mappings = 1
" Define custom mappings
nnoremap <silent> <C-n> :Yazi<CR>- When you run a yazi command, the plugin launches yazi with a temporary file for storing selections
- Navigate and select files in yazi (use
Spaceto select,Enterto confirm) - Upon exiting yazi, the plugin reads the selection file and opens the chosen files in Vim
- Multiple files are opened as separate buffers when
g:yazi_open_multipleis enabled
" Open yazi in current file's directory
:Yazi
" Open yazi in a specific directory
:Yazi ~/Documents" Custom configuration example
let g:yazi_executable = '/usr/local/bin/yazi'
let g:yazi_replace_netrw = 1
let g:yazi_no_mappings = 1
" Custom key mappings
nnoremap <silent> <F2> :Yazi<CR>If you get an error about yazi not being found:
- Make sure yazi is installed:
yazi --version - Check if yazi is in your PATH:
which yazi - Set the full path in your configuration:
let g:yazi_executable = '/full/path/to/yazi'
- Make sure you're selecting files in yazi with
Spaceand confirming withEnter - Check that the files you're selecting are readable
- Verify the temporary directory is writable
Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.
This plugin is released under the MIT License. See LICENSE for details.
- yazi - The blazingly fast terminal file manager
- Inspired by similar file manager integrations in the Vim ecosystem

