Ranger配置图片及json文件预览

文章目录

前言

本文主要讲解Ranger^1^^2^如何配置json及图片的预览设置,如下是ranger的介绍:

Ranger是一款强大的命令行文件管理器,专为Linux用户设计,尤其是那些习惯于使用图形界面文件管理器但又追求高效和便捷的开发者和系统管理员。它基于Vi模式,结合了传统的文件管理器功能,如目录浏览、文件操作(复制、粘贴、删除等)、查找、编辑以及多种自定义功能。

Ranger的特点包括:

  1. 快速导航:支持模糊搜索和自动补全,提供标签页式浏览,可以同时打开多个目录窗口,提高了文件管理的效率。
  2. 命令模式:模仿Vi和Emacs的键盘快捷键,使得文件操作更加灵活,对于熟悉这些模式的用户来说,上手非常迅速。
  3. 定制化:支持配置插件,用户可以根据自己的需求扩展其功能,如色彩主题、自定义命令等。
  4. 内置编辑器:集成了诸如vim或nano这样的文本编辑器,可以直接在文件管理器中编辑文件内容。
  5. 树状视图:清晰的文件夹结构,便于理解和操作复杂的文件系统。

尽管Ranger起初可能对非熟悉Vi模式的新用户来说有些挑战,但对于已经习惯命令行的用户和需要在终端环境中高效工作的专业人士来说,它是一个极具吸引力的替代工具。在Linux世界中,Ranger因其灵活性和高效性赢得了开发者社区的喜爱。

下载

下载方式通常由如下两种,第一种安装不上可以采用第二种

apt下载

bash 复制代码
sudo apt-get update
sudo apt-get install ranger

pip下载

更新环境

bash 复制代码
# 有pyhon3和pip环境直接安装下一步即可
sudo apt update
sudo apt install python3 python3-pip

安装软件

bash 复制代码
# pip下载官方源
pip install ranger-fm
# 清华源
pip3 install ranger-fm -i https://pypi.tuna.tsinghua.edu.cn/simple
# 阿里源
pip3 install ranger-fm -i https://mirrors.aliyun.com/pypi/simple

配置使用

bash 复制代码
# 保存所有文件到目录
ranger --copy-config=all

already exists: /home/dev/.config/ranger/rifle.conf
already exists: /home/dev/.config/ranger/commands.py
already exists: /home/dev/.config/ranger/commands_full.py
already exists: /home/dev/.config/ranger/rc.conf
already exists: /home/dev/.config/ranger/scope.sh

json文件预览

方法一不需要网络,直接改配置文件即可,方法二需要安装jq软件

方法一 修改scope用cat预览

直接跳至------配置ranger,解注释cat那一行

方法二 安装jq预览

bash 复制代码
sudo apt-get update
sudo apt-get install jq

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libjq1 libonig5
The following NEW packages will be installed:
  jq libjq1 libonig5
0 upgraded, 3 newly installed, 0 to remove and 4 not upgraded.
Need to get 384 kB of archives.
After this operation, 1,148 kB of additional disk space will be used.
Do you want to continue? [Y/n] y

配置ranger

修改scope.sh文件

vim ~/.config/ranger/scope.sh

修改如下

bash 复制代码
        ## JSON
        json)
        	## 使用cat预览json文件
            # cat -- "${FILE_PATH}" && exit 5
            ## 使用jq预览json文件
            jq --color-output . "${FILE_PATH}" && exit 5
            python -m json.tool -- "${FILE_PATH}" && exit 5
            ;;

区别是cat没颜色,jq会显示关键词,预览如下:

图片文件预览

博主通常使用的终端图片浏览器有两种一个是fim一个是img2txt,后者可以彩色字符串方式显示图片,但是不可以交互式放大缩小。^3^

方法一 使用img2txt预览

bash 复制代码
# 安装caca-utils
sudo apt-get install caca-utils

# 本地有可视化环境的话可使用cacaview *来打开文件

打开图片(博主的头像)

bash 复制代码
# -W设置图片显示时的字符宽度
img2txt -W 60 csdn_bingLee_logo.jpg


方法二 使用fim预览

bash 复制代码
# 安装fim
sudo apt-get install fim

打开图片(博主的头像)

bash 复制代码
# -t 设置打开方式为terminal
fim -t csdn_bingLee_logo.jpg

# 本地有可视化环境的话可使用fim *来打开文件

配置ranger

修改scope.sh文件

vim ~/.config/ranger/scope.sh

修改如下

bash 复制代码
322         ## Image
323         image/*)
324             ## Preview as text conversion
                ## 根据需求设置如下,-W不设置的话默认为60
325             img2txt -W 70 -- "${FILE_PATH}" && exit 4
                ## 使用fim显示的话屏蔽上边那句,解注释下边这句
326             #fim -t -- "${FILE_PATH}" && exit 5
327             #exiftool "${FILE_PATH}" && exit 5
328             exit 1;;

修改rc.conf文件

vim ~/.config/ranger/rc.conf

这里需要设置使用脚本解析image预览,内容如下:

bash 复制代码
# Use the external preview script or display simple plain text or image previews?
set use_preview_script true

# Use one of the supported image preview protocols
set preview_images false

显示效果如下所示:

总结

本文通过上述配置能让ranger在使用时更方便,预览时更直观。


  1. linux 文件管理器 ranger,linux终端文件管理器ranger使用详解-CSDN博客 ↩︎

  2. ranger的配置与使用 - 知乎 (zhihu.com) ↩︎

  3. Image Previews - ranger/ranger GitHub Wiki (github-wiki-see.page) ↩︎

相关推荐
GIS开发特训营3 分钟前
Vue零基础教程|从前端框架到GIS开发系列课程(七)响应式系统介绍
前端·vue.js·前端框架·gis开发·webgis·三维gis
Cachel wood28 分钟前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
学代码的小前端30 分钟前
0基础学前端-----CSS DAY9
前端·css
joan_8534 分钟前
layui表格templet图片渲染--模板字符串和字符串拼接
前端·javascript·layui
m0_748236111 小时前
Calcite Web 项目常见问题解决方案
开发语言·前端·rust
Watermelo6171 小时前
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
开发语言·前端·javascript·算法·数据挖掘·数据分析·ecmascript
m0_748248941 小时前
HTML5系列(11)-- Web 无障碍开发指南
前端·html·html5
m0_748235612 小时前
从零开始学前端之HTML(三)
前端·html
冬天vs不冷2 小时前
Linux用户与权限管理详解
linux·运维·chrome
一个处女座的程序猿O(∩_∩)O3 小时前
小型 Vue 项目,该不该用 Pinia 、Vuex呢?
前端·javascript·vue.js