文件树插件也是我日常非常常用的插件之一。先前尝试过 nvim-tree,今天晚上花了一晚上时间测试了下 Neo-tree.nvim,测试版本为:Neo-tree.nvim@e3b4ef0。 总的来说体验不是很好。
测试环境:
- 操作系统:Window 11
- Neovim 版本:NVIM 0.9.1
安装 neo-tree
我的插件系统比较简单,直接下载 neo-tree.zip 至 bundle 文件夹,并手动更新 RTP。
插件配置
参考 readme 上的介绍,直接完整复制默认配置,修改几个重要的配置,比如宽度、位置、自动关闭窗口等待。
遇到的问题
1、设置 Neo-tree 的初始化路径失败;
我给 SpaceVim 增加了这个插件的支持,目前有一个快捷键SPC b t
无法实现。按照文档所说:Neotree dir=%:p:h
无效,打开后根目录任然是当前目录。
2、设置快捷键不是很方便;
在配置文件里,action 都是一些预设值的 string。
3、SPC f o
快捷键每次弹窗需要确认是否切换目录。
我是经常会同时编辑不同的 git 仓库文件,SPC f o
设置为打开文件树并定位到当前文件位置,即为 :Neotree reveal
,但是每次一旦切换不同项目时都会弹窗提示:
File is not in cmd, change to xxxxx
y/n
而且使用的是 insert 模式,我需要按下 y<Cr>
两下按键,应该提供一个设置选项,自动切换目录而不需要用户手动确认。并且,就算确认,完全可以使用 getchar()
函数。
插件优势
当然了,这个插件也不是完全没有优势,个人感觉优势在:
1、支持多种 source,比如 buffers、git status 等,后续如果有机会,看看是否支持自定义。
2、git 状态的更新,使用的是异步函数,这点比 defx-git 要好一些,后者是我目前使用 defx 的一个痛点。
最后,暂时还是切换回 defx
,期待 neo-tree 新的改进,后续有机会再尝试。