ranger

ranger

作者:解琛
时间:2020 年 8 月 29 日

一、安装

ranger 官方网站

sudo apt install ranger     # ranger 的主程序;
sudo apt install caca-utils # img2txt 图片;
sudo apt install highlight  # 代码高亮;
sudo apt install atool     # 存档预览;
sudo apt install w3m        # html页面预览;
sudo apt install poppler    # pdf预览;
sudo apt install mediainfo  # 多媒体文件预览;
sudo apt install catdoc     # doc预览;
sudo apt install docx2txt   # docx预览;
sudo apt install xlsx2csv   # xlsx预览;
sudo apt install pandoc     # 文件格式转化;

二、预览配置

ranger默认情况下不会生成配置文件,需要手动生成(拷贝)。

ranger --copy-config=all

这个时候ranger就会生成配置文件目录~/.config/ranger,下面主要有这样几个文件。

rc.conf     - 选项设置和快捷键
commands.py - 能通过 : 执行的命令
rifle.conf  - 指定不同类型的文件的默认打开程序。
scope.sh    - 用于指定预览程序的文件

首先得设置一下文件关联,系统自带的文件关联存在一些问题,其中最主要就是一些自定义文件类型不是很好识别,这个时候最好直接采用系统默认的程序打开,尤其是doc文件。

#找出含有docx的一行,然后将其注释起来:
#ext docx?, has catdoc,       terminal = catdoc -- "$@" | "$PAGER"

has xdg-open, flag f = xdg-open "$1"

这样对于很多扩展文件即可使用系统默认的程序打开了。
然后再修改scope.sh文件,在合适的位置(就是代码相似的位置)添加如下代码:

# Doc documents
doc)
    try catdoc "$path" && { dump | trim | fmt -s -w $width; exit 0; }|| exit 1;;
# Docx documents:
docx)
    try docx2txt < "$path" &&amp; { dump | trim | fmt -s -w $width; exit 0; }|| exit 1;;
# Xlsx documents:
xlsx)
    try xlsx2csv "$path" &&amp; { dump | trim | fmt -s -w $width; exit 0; }|| exit 1;;

不过很明显的,上述配置仅仅添加了doc、docx、xlsx三种文件预览方式,而对于ppt,pptx以及其它的文件,也可以通过转换成文本的来实现文件预览。

三、功能配置

3.1 删除配置

ranger并没有自带删除的快捷,所以需要手动配置一下。一般情况下,最好使用trash-cli作为删除的命令(相对rm来说要可靠安全得多)。

在打开~/.config/ranger/rc.conf文件,设置快捷键,即可实现用 ”D” 将当前所选文件放到 trash-bin 中去。

map D shell trash %s

3.2 解压缩配置

编辑~/.config/ranger/commands.py文件,添加下面行到文件尾,实现:extract解压选中文件。

class extract(Command):
    """:extract <paths>
    Extract archives
    """
    def execute(self):
        import os
        fail=[]
        for i in self.fm.thistab.get_selection():
            ExtractProg='7z x'
            if i.path.endswith('.zip'):
                # zip encoding issue
                ExtractProg='unzip -O gbk'
            elif i.path.endswith('.tar.gz'):
                ExtractProg='tar xvf'
            elif i.path.endswith('.tar.xz'):
                ExtractProg='tar xJvf'
            elif i.path.endswith('.tar.bz2'):
                ExtractProg='tar xjvf'
            if os.system('{0} "{1}"'.format(ExtractProg, i.path)):
                fail.append(i.path)
        if len(fail) > 0:
            self.fm.notify("Fail to extract: {0}".format(' '.join(fail)), duration=10, bad=True)
        self.fm.redraw_window()

3.3 增加图标

git clone https://github.com/alexanderjeurissen/ranger_devicons ~/.config/ranger/plugins/ranger_devicons
echo export RANGER_LOAD_DEFAULT_RC=FALSE >> ~/.bashrc
source ~/.bashrc

四、使用方法

Ubuntu终端文件管理工具ranger

ranger 中有按键和命令两种操作方式。

  • 按键是直接键入键盘上的键完成某个操作;
  • 命令需前输入 :,然后输入相应的命令;

输入 “?”(不含引号)可以查看帮助信息。

4.1 快捷键

快捷键说明
h向左移动;
j向下移动;
k向上移动;
l向右移动;
H回退到上一个历史记录;
L前进到下一个历史记录;
Ctrl + U向上翻半页;
Ctrl + D向下翻半页;
gg跳到行首;
G跳到行尾;
%跳到页中;
cd跳转到目录;
/打开搜索栏,然后输入要搜索的字符串,回车后开始搜索;
n查找下一个结果;
N查找上一个结果;
cc按时间先后依次遍历;
cm按类型属性依次遍历;
cs按大小依次遍历;
t标记、取消标记条目;
ct搜索已经标记的文件;
oc按时间排序;
om按修改时间排序排序;
os按大小排序;
ob按名称排序;
ot按文件类型排序;
or反向排序;
m保存书签;
`跳到书签;
gn, Ctrl + N新建一个标签页;
gt跳到下一个标签页;
gT跳到上一个标签页;
gc, Ctrl + W关闭当前标签页,最后一个标签页不能关闭;
v反选;
V, uv取消所有选择;
i查看文件的内容,打开选中的文件夹;
E调用默认编辑器编辑文件;
cw, :rename重命名;
I附加当前文件名,将光标置于文件名之前;
A附加当前文件名,将光标置于文件名之后;
yy复制;
dd剪切;
pp粘贴,当存在同名文件时,会自动重命名;
po粘贴,覆盖同名文件;
pl创建一个被复制文件的符号链接;
pL创建一个被复制/剪切文件的符号链接(相对路径);
:delete删除选中条目,如果删除的文件不止一个,ranger 会提示确认删除,键入 “y” 即可;
:delete y在输入命令时附加一个参数 “y”,跳过 ranger 的确认;
r, :open_with用指定程序打开文件;
S在当前目录下开启一个 shell;
w打开、关闭任务视图;
dd终止一个任务;
J降低当前任务的优先级;
K提升当前任务的优先级;
: 命令命令以 : 开头,所有命令被定义在文件 ranger/defaults/commands.py 中;
W打开 message log;
du显示当前目录的磁盘占用情况;
R刷新当前目录;
Ctrl + R清空缓存并刷新目录;
Ctrl + L重画当前窗口;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

解琛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值