vim中使用ranger强强联手更快更强

107 篇文章 1 订阅
104 篇文章 33 订阅

在这里插入图片描述

vim/neovim非常好用,我喜欢! ranger的vim风格操作真爽!能不能在vim中使用ranger当作文件管理呢?答案是肯定的。

我在翻看ranger的wiki时发现,竟然真的可以在vim中使用ranger。
原文如下:
https://github.com/ranger/ranger/wiki/Integration-with-other-programs

The following plugin let you use ranger in place of the builtin
netrw. It’s a nice alternative to the popular NERDTree:
https://github.com/francoiscabrol/ranger.vim

An alternate plugin for neovim is
neoranger.

rnvimr makes ranger running
in a floating window to communicate with neovim via RPC.

If you prefer to use ranger from a separate terminal window, another
approach is to use vim’s --remote option or
neovim-remote.

vim-floaterm
also has a ranger wrapper which allows to open ranger and pick files
from within the floating/normal window.

我们就来体验一下这些插件是否好用吧!

ranger.vim

在这里插入图片描述

项目主页:
https://github.com/francoiscabrol/ranger.vim

安装ranger.vim

假设你已经正确的安装了neovim和ranger。在你喜欢插件管理器中安装,以 vim-plug为例:

Plug 'francoiscabrol/ranger.vim'

如果你使用的是neovim需要安装依赖插件bclose.vim:

 Plug 'rbgrouleff/bclose.vim'

使用方法

打开Ranger的默认快捷方式是<leader>f(默认为\ f)要禁用默认键映射,请将此行添加到.vimrc或init.vim中:

let g:ranger_map_keys = 0

然后您可以在此行添加新的映射:map <leader>f :Ranger<CR>

更多详细配置请参考项目主页

使用体验

非常不错,两款软件的优化大部分都能发挥出来。我很满意!
美中不足:neovim中调用的ranger 无法正确预览图片。

neoranger

在这里插入图片描述

项目地址:
https://github.com/Lokaltog/neoranger

安装neoranger

假设你已经正确的安装了neovim和ranger。在你喜欢插件管理器中安装,以 vim-plug为例:

Plug 'Lokaltog/neoranger'

如何使用neoranger

:Ranger 或者 :RangerCurrentFile

使用体验

感觉跟ranger.vim区别不大,也挺好用的。 只是默认 viewmode 设置成 multipane了
美中不足:neovim中调用的ranger 无法正确预览图片。

rnvimr

在这里插入图片描述

Rnvimr是一个NeoVim插件,允许您在浮动窗口中使用Ranger。

与其他Ranger vim插件不同,Rnvimr使您可以完全控制Ranger。它使用RPC与Ranger通信。该插件不支持Vim。

项目主页:
https://github.com/kevinhwang91/rnvimr

安装相比上面两个插件要麻烦一些,我以macOS为例,其他系统请参考项目主页的介绍。

安装rnvimr

在macOS中使用brew install ranger安装的Ranger默认使用python2运行的,不符合rnvimr的要求。
macOS用户请通过pip3 install Ranger-fm而不是brew install ranger安装Ranger。

安装ranger

pip3 install Ranger-fm

安装pynvim

pip3 install pynvim

安装ueberzug(未测试)

从描述来看,可能安装完这个以后就可以预览图片了吧!在nvim中使用ranger我主要用来文件管理,预览图片不是我的刚需,暂未安装。依赖X11

注意macOS中无法安装ueberzug,linux安装方法可以参考https://github.com/seebye/ueberzug#installation

pip3 install ueberzug

安装rnvimr插件

在你喜欢插件管理器中安装,以 vim-plug为例:

Plug 'kevinhwang91/rnvimr'

检查依赖完全性(可选)

在shell中运行以下命令:

nvim +'checkhealth rnvimr'

运行结果如下;


health#rnvimr#check
========================================================================
## OS
  - OK: Name: Mac

## Ranger
  - OK: Version: ranger 1.9.3

## Python
  - OK: Version: 3.9.4 (default, Apr  5 2021, 01:50:46) [Clang 12.0.0 (clang-1200.0.32.29)]

## Pynvim
  - OK: Version: 0.4.3

## Ueberzug (optional)
  - INFO: Ueberzug is not support for Mac

## RPC
  - OK: RPC echo: Neovim send "Give me five!" and receive "Give me five!"

如何使用rnvimr

使用:RnvimrToggle以创建游侠过程,并且如果存在的话, :RnvimrToggle简单地显示或隐藏浮动窗口。

使用:RnvimrResize循环的预设布局。

按下Enter以在Ranger中打开文件。

Rnvimr还支持ctrl-t/ ctrl-x/ctrl-v键绑定,让你打开一个新的标签文件,一个新的水平分割,或在新的垂直分割。

按下qRanger只会隐藏浮动窗口。游骑兵将在下一个切换事件中附加当前缓冲区的文件。

按下yw游侠会发出游侠的cwd到Neovim的,gw会跳到Neovim的cwd。

我的rnvimr配置

" 设置<F3> 启动文件管理器
nnoremap <F3> :RnvimrToggle<CR>
" 让Ranger取代Netrw并成为文件浏览器
let g:rnvimr_enable_ex = 1
" 选择文件后隐藏游侠
let g:rnvimr_enable_picker = 1
" 使用multipane模式启动(单列)可以按~手动切换
let g:rnvimr_ranger_cmd = 'ranger --cmd="set viewmode multipane"'

使用rnvimr感受

优点:

  • 浮动窗口与众不同,与其他的插件体验不同
  • 操作一体感强,就像是在同一款软件中操作

缺点:

  • 安装相对繁琐一些,好在一劳永逸
  • 不支持vim
  • 与nerdtree有点冲突,当打开nerdtree时调用ranger就会触发bug,这里ranger退不掉,vim 也退不了。
    在这里插入图片描述

总结

neovim-remotevim-floaterm个人理解这两个不是直接使用ranger,而是这个插件可以方便调用外部终端程序,这样达到ranger和vim结合的目的。因为上面3个插件尝试下来已经达到我的目标了,这里我就折腾了。

试用了一下这几款插件,最终选择下来如果在电脑上使用我更喜欢rnvimr,因为浮动窗口更酷,操作一体感好一些。

如果在小屏设备上使用,我会选ranger.vim或neoranger因为他们是全屏显示的。这两个插件几乎是一样的。

都看到这里了,感觉有用的话,点个赞👍呗。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值