祝大家国庆快乐,这次要介绍的是一个炫酷的 vim 文件管理器插件。
相比 vscode 等现代编辑器,vim 一直没有一个好用的文件管理功能(自带的文件管理我觉得功能还是不太满足需求), 这次介绍一下 vim 的文件管理插件。 当然 vim 文件查看器也有它的优点,比如全键盘操作就可以查看,跳转文件等,文件查看器里你可以使用 vim 的各种快件捷。
熟悉 vim 的朋友应该都听过或者用过 nerdtree,一个老牌的 vim 树形文件查看插件, 使用起来是这个样子的:
当然这次要介绍的是另一个插件 defx,出自 vim 插件高手 Shougo。 搭配上 defx-icons,还可以展示出文件类型图标。
为了在终端下展示特殊字符,你需要安装 nerdfont 字体,
brew tap homebrew/cask-fonts
brew search nerd-font
brew cask install font-hack-nerd-font
然后再 Iterm2 -> Profiles -> Text -> Use a Different font for non-ASCII text,选择你安装的字体就好了。
安装起来也不麻烦,如果你使用 vim-plug 可以加入如下配置到 vimrc。 以下配置我都加入了注释,应该比较好懂,直接复制到你的 vimrc 就可以用了。
" vim-plug 加入插件 defx, defx-icons
if has('nvim')
Plug 'Shougo/defx.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'kristijanhusak/defx-icons'
else
Plug 'Shougo/defx.nvim'
Plug 'roxma/nvim-yarp'
Plug 'roxma/vim-hug-neovim-rpc'
endif
" 使用 ;e 切换显示文件浏览,使用 ;a 查找到当前文件位置
let g:maplocalleader=';'
nnoremap <silent> <LocalLeader>e
:<C-u>Defx -resume -toggle -buffer-name=tab`tabpagenr()`<CR>
nnoremap <silent> <LocalLeader>a
:<C-u>Defx -resume -buffer-name=tab`tabpagenr()` -search=`expand('%:p')`<CR>
function! s:defx_mappings() abort
" Defx window keyboard mappings
setlocal signcolumn=no
" 使用回车打开文件
nnoremap <silent><buffer><expr> <CR> defx#do_action('multi', ['drop'])
endfunction
call defx#custom#option('_', {
'columns': 'indent:git:icons:filename',
'winwidth': 25,
'split': 'vertical',
'direction': 'topleft',
'listed': 1,
'show_ignored_files': 0,
'root_marker': '≡ ',
'ignored_files':
'.mypy_cache,.pytest_cache,.git,.hg,.svn,.stversions'
. ',__pycache__,.sass-cache,*.egg-info,.DS_Store,*.pyc,*.swp'
})
autocmd FileType defx call s:defx_mappings()
使用方式和效果我会在视频里进行演示,如果你觉得麻烦也可以安装这个配置, 感兴趣的终端党可以尝试一下。
PegasusWang/vim-configgithub.com