📌 1. Ranger简介

Ranger(游侠)是一款 Linux 专用的 指令式文件管理器,其操作风格类似 Vim,通过输入指令即可完成目录跳转、文件编辑、移动、复制等操作。

相比于 mc(Midnight Commander),Ranger 功能复杂较难上手,但对于熟悉 Vim 的 Linux 用户来说,是一款神器。

本文参考 Ranger 官方 GitHub 用户指南,总结了ranger的常见玩法。


🖥️ 2. Ranger界面

Ranger 不需要管理员权限即可启动,在命令行终端输入 Ranger 并按下回车即可进入ranger界面:

🎛️ 2.1 界面布局

  • 顶部栏:当前所在路径

  • 左侧栏:父目录列表

  • 中间栏:当前目录内容

  • 右侧栏:光标文件预览

  • 底部栏:光标文件属性及相关信息

🖱️ 2.2 光标操作

  • j/k:上下移动光标

  • h/l:在父子目录之间切换

  • [ ]:直接移动父目录光标

  • i:展开/收缩右侧文件预览,在展开情况下可直接用 j/k 滚动预览内容(非展开情况下只能用鼠标滚轮来滚动预览内容)

  • q:退出 Ranger


⌨️ 3. Ranger组合键

Ranger 的操作主要依赖组合键。以下将常用的组合键按照功能进行分类,并进行讲解。这里列出的主要是CLI命令行玩法常用的组合键,一些需要GUI图形化界面支持的组合键就直接略过了。另外,如果组合键输入了一半不想输入了,直接按Esc即可撤销输入。

🧭 3.1 导航组合键

在ranger界面按下g键可看到导航组合键的提示,除了以下组合键以外其余基本没什么用

组合键功能
gh跳转到家目录
g/跳转到根目录
ge跳转到配置文件目录
gM跳转到挂载目录

📂 3.2 打开组合键

在ranger界面按下r键可看到打开组合键的提示,如

0 | ${VISUAL:-$EDITOR} -- "$@"
1 | "$PAGER" -- "$@" 
3 | mkdir -p -- ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash; mv -- "$@" ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash
:open_with

这里的提示比较难懂,在此特意解释一下:

  • ${VISUAL:-$EDITOR}:表示如果环境变量VISUAL已经设置就用它,否则用EDITOR
  • --:选项结束标志,防止把文件名里-开头的内容误当成程序参数
  • $@: 表示选中所有文件
  • "$PAGER":表示通过环境变量PAGER指定的查看器,通常是less或more
  • ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash:表示ranger创建的回收站路径,如果指定了环境变量XDG_DATA_DIR就用它,没有指定就用~/.ranger

根据这些解释很好理解些组合键的意思了

组合键功能说明
r0使用文本编辑器打开文件
r1使用系统查看器打开文件
r3

创建回收站并将选中文件移动到回收站(不删除已存在内容)

在这里也可以在按下r后,再:open_with后面输入自己想要使用的打开软件,比如vim

当然你也可以不用打开组合键之间按回车,这样默认走的是r0的逻辑。

💡 注意:ranger默认文本编辑器是nano,如果想设置成vim需要修改配置文件,详见 [Linux 安装与配置 ranger ]


📋 3.3 复制组合键

在ranger界面按下y键可看到复制组合键的提示,由y引出的复制组合键用的最多的是yy,其余yn、yd依赖X11,如果设备上没有X11相关的环境则无法正常运行

组合键功能
yy复制文件
yn复制文件名(需要X11相关环境)
yd复制目录名(需要X11相关环境)
yp

复制文件路径(需要X11相关环境)

💡 注意:X11(X Window System 版本11) 是一种Linux 系统中的用于 图形显示的协议。 协议规定用客户端-服务器的方式来显示图形,服务器就是再后台运行的X Server进程,而客户端就是各种需要显示图形界面的程序(统称为X Client进程)。ranger的复制文件名目录名文件路径的功能虽然没有显示图形的需求,但是调用了系统的xclip进程,而xclip进程复制内容到系统剪切板中需要显示图形,并向X Server进程发送请求。如果没有X Server进程处理请求就无法将内容复制到系统剪切板中,因此就直接导致了ranger的yn/yd/yp功能需要有X11相关的环境(X Server进程)才能正常工作。当然只装了X Server没装xclip也是没用的,没装xclip的需要先把xclip也装了。


🗑️ 3.4 删除/剪切组合键

在ranger界面按下d键可看到删除/剪切组合键的提示,除了dd和dD以外其余的基本不会去用它。

组合键功能
dd删除/剪切文件
dD调用系统命令 rm -rf 强制删除文件

📥 3.5 粘贴组合键

在ranger界面按下p键可看到粘贴组合键的提示,除了以下三个组合键其余基本不会用到

组合键功能
pp粘贴剪切板中的文件
pl粘贴剪切板中文件的符号链接(相对路径)
pL粘贴剪切板中文件的符号链接(绝对路径)

📊 3.6 排序组合键

在ranger界面按下o键可看到排序组合键的提示,主要用来方便找文件。om找最后修改的文件,代码改到一半没改完的时候用这个找;os找体积较大的文件,程序跑出空间不足的时候,用这个找是谁占的空间,一目了然。其余的我觉得基本不会去用。

组合键功能
om按最后修改时间排序(降序)
os按文件大小排序(降序)

om排序效果(这里为了更方便展示用了行模式组合键将文件的最后修改时间显示出来):

os排序效果(可以看到目录和普通文件时分别排序的,可以通过文件过滤组合键过滤掉目录或文件后再进行排序这里就不演示了):


🔍 3.7 文件过滤器组合键

在ranger界面按下.键可看到文件过滤器组合键的提示,也是用来找文件的,只不过他不是通过排序的方法,而是通过过滤的方法逐步的排除不符合目标的文件。.d只显示目录文件;.f只显示普通文件;.l只显示链接文件。这三个用的最多,还有一个.n,输入完组合键以后还需要输入一个目标字符串,完成以后按回车就会显示名字中包含目标字符串的文件,其余文件统统会被过滤掉。最后还有一个.c清除过滤器,剩下的组合键基本不用。

组合键功能
.d只显示目录文件,过滤掉其余文件
.f只显示普通文件,过滤掉其余文件
.l只显示链接文件,过滤掉其余文件
.n只显示名字中包含特定字符的文件,过滤掉其余文件
.c清除过滤器中已有的过滤条件

.d过滤效果:

.f过滤效果:

.l过滤效果(目录中没有链接文件的时候是这个样子的):

.n过滤后输入txt过滤文件名中带有txt的文件:

按下回车后效果:


⚙️ 3.8 设置组合键

在ranger界面按下z 键可看到设置组合键的提示,除了zh显示隐藏文件的组合键以外,其余基本不用。

组合键功能
zh显示/隐藏隐藏文件

↩️ 3.9 撤销组合键

在ranger界面按下u 键可看到撤销组合键的提示。主要是用来撤销剪切板,和删除书签的,其余功能基本不用。

组合键功能
ud / uy撤销剪切板(ud和uy一个效果)
umN删除书签N(N表示书签名字,可以是数字或字母)

📝 3.10 行模式组合键

ranger的行模式一般指的是中间栏当前目录内容每行的显示模式,默认是mf只显示文件名和大小,可以修改显示模式让其显示更多内容。比较常用的有Ms、Mi、Mp

组合键功能
Mi显示文件名和文件编码
Mf默认行模式,只显示文件名和文件大小
Mm显示文件名、文件大小和文件最后修改时间
Mp

显示文件权限、文件所有者、所属组和文件名

Mi效果:

Mm效果:

Mp效果:


🔐 3.11 权限修改组合键

在ranger界面按下+键或者-键可看到权限修改组合键的提示。不过一般除了+x和-x修改可执行权限其余不用。

组合键功能
+x给目标文件添加可执行权限
-x移除目标文件的可执行权限

📌 3.12 书签组合键

ranger中提供书签功能,在特定的路径上贴上书签,就可以从任何位置一键跳转。定义的书签不会随ranger的退出而消失。对于目录结构异常复杂的项目来说这个功能还是挺管用的。

组合键功能
mN标记目录(N表示书签名字,可以是数字或字母)
'N跳转到标记目录

m效果(按下m后会显示目前已经定义的书签,这里已经定义了书签1,所以如果要给当前目录设置书签的话就按2就行了,不要重复就行):

`的效果(和m的效果相似,按下m后会显示目前已经定义的书签,不过这里需要按1,这样才会跳转到书签1所代表的目录,没有定义的书签是不会跳转的)


🗂️ 3.13 标签页快捷键

这个严格的将应该叫快捷键,应为他是两颗键一起按下的。ranger的标签页就像浏览器里的标签页一样,打开ranger后按下Alt+2创建标签页2,在标签页2中移动不会影响到标签1的当前路径。再按下Alt+1可以切回标签1,同理再标签1中的移动也不会影响到标签2。一共可以创建9个标签页。

快捷键功能
Alt+N

创建/切换标签页,每个标签页目录独立

标签页效果(顶栏最右边出现的数字和高亮数字就是标签页和当前标签页,默认是没有的,按下Alt+N后才会出现):


🍳 3.14 搜索快捷键

ranger中的/也应该算是快捷键,功能是搜索当前目录,用法和VIM一样,按下/以后再输入搜索关键字按回车,然后通过N和n查看前一项或后一项匹配项。

指令功能
/搜索当前目录文件,可配合 n/N

❓ 3.15 帮助组合键

相信比起ranger的帮助你们更喜欢看我写的文档。

组合键功能
?k查看所有组合键
?c查看所有指令
?s查看当前设置

💻 4. Ranger命令

📂 4.1 :travel 命令

该命令用于递归搜索文件夹并自动进入目标目录。

再ranger界面输入:travel 后面再街上想要搜索的文件或目录名的前几个字母,ranger会自动匹配显示选项,如果匹配到的内容只有一个文件或目录会直接打开文件或进入目录

比如我输入:travel k就显示了名字中包含k的文件或目录

输入e就直接跳转到kernel目录下了,因为只匹配到了一个目标

然后我在输入ar会显示所有名字中带ar的目录或文件

在输入c就会直接给我进入arch这个目录,以此类推,直到找到并打开目标文件为止


✏️ 4.2 :rename

再ranger界面输入:rename后面接新的文件名或目录名,可以重命名当前光标所选文件或目录。


📝 4.3 :bulkrename

先再ranger界面用空格或v选中文件,然后输入:bulkrename 按回车进行批量改名

bulkrename 会打开一个Vim 窗口,列出所有需要修改的文件名,编辑修改并保存即可一次性完成批量重命名


📜 4.4 :flat N

再ranger界面输入:flat N按回车,可以将目录内容线性展开到中间栏。N代表展开的级数,当N为-1时表示展开所有子目录。

:flat 1表示只展开一级目录效果如下所示:

建议只展开1-2级,级数越多等待展开的时间越长


🖥️ 4.5 :shell

可以通过 :shell 命令在 ranger 内执行 shell 命令,但是输出到stdout或stderr的文本会被ranger界面覆盖。这时候需要给:shell命令添加-w参数。比如再ranger界面输入:shell -w ps -aux就能看到如下界面而不是一闪而过:

同时:shell命令还可以通过s快捷键来执行,按一下s键,ranger就自动帮你把:shell打出来了。


❌ 4.6 :delete

再ranger界面可以使用:delete命令删除文件或目录。该命令删除的文件不会放入剪切板,是一种“干净删除”的方式。


📁 4.7 :mkdir

在ranger 界面可以通过:mkdir命令新建目录(与 Linux 中的 mkdir 命令用法相同)。


📄 4.8 :touch

在ranger界面可以通过:touch命令新建文件(与Linux中的 touch 命令用法相同)。


🧩 5. Ranger变量宏

ranger有选择和标记功能,选择和标记的文件可以用ranger变量宏表示,作为参数传给ranger命令

🏹 5.1 选择功能

ranger可以通过空格和v键进行选择和反选。被选中的文件前方会多出几个空格,并且改变颜色。效果如下:

同时可以通过%s变量宏传递给ranger命令,如:bulkrename %s对选中文件批量改名。

🎯 5.2 标记功能

ranger还可以通过t来对文件进行标记,被标记的文件前面会出现星号,并且标记不会随着ranger的退出而失效,效果如下:

同样被标记的文件也可以通过%t变量宏传递给ranger命令,比如:shell vim %t用vim同时打开所有标记的文件。

💡 注意::bulkrename %t只会打开第一个标记的文件,所以:bulkrename不要和%t连用


⚠️ 6. 注意事项

🎭 6.1 Error: Can't open display: (null)

这个报错通常发生在使用yn或yd组合键的时候,原因是yn/yd 调用了系统的xclip进程,而xclip进程在系统中找不到X Server进程,无法发送请求。系统中没有X Server进程的原因有很多。比如SSH链接的时候没有跟-X参数启动X11转发功能,或者用了BusyBox做的极简Linux系统,等等。

我在这里是因为用WSL1系统来玩ranger。WSL1默认没有X Server进程需要后期手动安装VcXsrv软件才能提供X Server,下载地址:

https://sourceforge.net/projects/vcxsrv/files/latest/download

完成下载后双击安装程序,一路Next完成安装

然后再开始菜单中搜索X launch程序,进行以下配置后点击完成,开启X Server进程

然后再进入到WSL1系统,导入环境变量

export DISPLAY=:0

然后再执行以下命令,如果text成功复制到剪切板了,说明X11环境已经搭建完成。

echo "text" | xclip -selection clipboard

这时再使用ranger的yn/yd/yp命令就不会再有Error: Can't open display: (null)报错了。


📚 7.1 参考文献

  • Ranger 官方 Github [https://github.com/ranger/ranger]

  • Ranger 官方 User Guide [https://github.com/ranger/ranger/wiki/Official-User-Guide]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/94141.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/94141.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/94141.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CUDA安装教程(包括cuDNN的教程)一个博客带你了解所有问题

前言 windows10 版本安装 CUDA ,首先需要下载两个安装包 CUDA toolkit(toolkit就是指工具包)cuDNN 注:cuDNN 是用于配置深度学习使用 官方教程 CUDA:Installation Guide Windows :: CUDA Toolkit Documentation …

ArkTS 语言全方位解析:鸿蒙生态开发新选择

在鸿蒙生态蓬勃发展的当下,一款高效、健壮的开发语言成为开发者的迫切需求。ArkTS 语言应运而生,作为鸿蒙生态的核心应用开发语言,它在 TypeScript(简称 TS)基础上进行创新扩展,为开发者打造高性能、易维护…

JavaScript性能优化实战:从瓶颈识别到极致体验

文章目录JavaScript性能优化实战:从瓶颈识别到极致体验1. 引言:为什么JavaScript性能至关重要1.1 性能对用户体验的影响1.2 JavaScript性能瓶颈的多样性2. JavaScript内存管理优化2.1 JavaScript内存模型详解2.2 垃圾回收机制与优化策略2.3 内存分析实战…

批量归一化:不将参数上传到中心服务器,那服务器怎么进行聚合?

联邦批量归一化(FedBN) 是一种联邦学习客户端本地模型优化算法。它的核心思想是:在联邦学习的客户端本地训练过程中,保留并独立更新批量归一化层(Batch Normalization, BN)的参数,而不将这些参数…

Qt中使用MySQL数据库

一、MySQL 入门 核心概念 在 QT 中操作数据库,主要使用两个模块: QSqlDatabase:代表一个数据库连接。 QSqlQuery:用于执行 SQL 语句(如 SELECT, INSERT, UPDATE, DELETE)并处理结果。 环境准备 在编写代码之前,你需要确保系统已具备以下条件: 1. 安装 MySQL 从 M…

Android - 统一资源标识符 Uri

一、概念URI(Uniform Resource Identifier)统一资源标识符,用于标识资源的字符串(如图片、网页、文件、应用等)。1.1 与 URL 的区别URL(统一资源定位符)是 URI(统一资源标识符&#…

开源 AR 眼镜怎么选?OpenGlass ,OSSG,cheApR 分析推荐

开源项目横评(看完你会知道自己属于哪一类) 1)OpenGlass:最低成本跑通“能用的AI眼镜” 卖点:用不到$25的通用元件,把任意普通眼镜改造成“可黑客化”的智能眼镜;能录制、识别、翻译、记人等。…

RAGFlow (一) 开发环境搭建

本文介绍如何在Windows上进行RAGFlow开发环境搭建 一. 环境准备 前提条件 CPU ≥ 4 核内存 ≥ 16 GB磁盘 ≥ 50 GBDocker ≥ 24.0.0 & Docker Compose ≥ v2.26.1 安装Docker Desktop为wsl安装Ubuntu 1.启用 WSL2​​(Windows Subsystem for Linux&#xff09…

k8sday13数据存储(1.5/2)

目录 二、高级核心存储 1、PV 1.1配置文件 ①、访问模式(accessModes) ②、回收策略(persistentVolumeReclaimPolicy) ③、存储类别 ④、状态(Status) 1.2创建测试 ①、准备NFS环境 ②、创建PV …

【力扣 Hot100】每日一题

D15 鲁迅曾说,尽量每天都让自己充实一点,你可以刷一个小时的短视频,打一个小时的王者荣耀,但尽量再留一个小时出来读一下书、教程、博客,让自己的大脑保持活跃,而不是垃圾场。如果真的没有事情做&#xff…

Sql server的行转列

业务场景:有如下一张表,希望汇总成下面的查询结果。 原始数据表 EmployeeTable:一个员工身兼多个岗位。 Employee Role Level 张三 工程师 3 张三 经理 5 李四 工程师 2 李四 主管…

某市-2025【网安·论道】决赛-misc1-翻转-wp

题目给了个图片以及一句提示 “斯蒂xx会帮助你” 直接就能想到 ste 开头的那几个工具,但是我比赛时候电脑什么ste开头的工具都没装,只能回来做了。 └─$ exiftool x.jpeg ExifTool Version Number : 13.00 File Name : …

[系统架构设计师]大数据架构设计理论与实践(十九)

[系统架构设计师]大数据架构设计理论与实践(十九) 一.传统数据处理系统的问题 1.传统数据库的数据过载问题 传统应用的数据系统架构设计时,应用直接访问数据库系统。当用户访问量增加时,数据库无 法支撑日益增长的用户请求的负载&…

UniAD

1. 算法动机及开创性思路 1)UniAD算法简介 算法全称:Planning-oriented Autonomous Driving核心特点: 统一框架整合感知、预测、规划模块CVPR 2023最佳论文采用查询(query)方式连接各模块 名称含义: Unified:统一多模块…

ESP-NOW详解(esp-idf)

esp-now目前主要支持单播和广播,广播地址为ff:ff:ff:ff:ff:ff,广播可以向范围内所有拥有esp-now接收的设备发送数据 注意事项,网络模式是可以设置网络mac地址的,在单播中,目标设备网络模式选择为ap时,mac地址会发生改…

`strlen` 字符串长度函数

1) 函数的概念与用途 strlen 是 C 语言标准库中最基础且使用最频繁的字符串处理函数之一,它的名字来源于"string length"(字符串长度)。这个函数的功能非常明确:计算一个以空字符结尾的字符串的长度。 可以将 strlen 想…

TorchInductor - Introduction

PyTorch 2.x通过TorchDynamo通过Python Bytecode的动态变换实现了图捕获功能,需要搭配一个Compiler Backend完成图编译。 Pytorch尝试集成了多个后端,并使用一个轻量级的autotuner来选择最优的后端图编译结果。这个解决方案存在2个问题: 这…

Adobe Illustrator默认键盘快捷键

目录 默认键盘快捷键 常用的快捷键 处理文档 选择工具 查看图稿 处理所选对象 绘制 编辑形状 处理实时上色组 处理对象 创建可变宽度点 处理文字 使用面板 动作面板 “画笔”面板 “字符”和“段落”面板 “颜色”面板 “渐变”面板 “图层”面板 “色板”…

「数据获取」《中国能源统计年鉴》(1986-2023)(获取方式看绑定的资源)

01、数据简介一、年鉴基本定位与发展历程《中国能源统计年鉴》作为一部权威性极强的能源领域资料典籍,始终以全面、精准反映中国能源建设推进、生产运行、消费态势以及供需平衡状况为核心使命。其编纂工作发轫于 1986 年,最初由国家统计局工业交通统计司…

SpringBoot3系列---【SpringBoot3集成sqlite】

SpringBoot3集成sqlite 1.引入pom.xml <dependencies><dependency><groupId>org.xerial</groupId><artifactId>sqlite-jdbc</artifactId><version>3.34.0</version></dependency><dependency><groupId>com.…