⚡ Ranger 基础命令与功能详解
📌 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需要额外配置才能使用,具体配置过程详见:
[Linux 安装与配置 ranger ]
组合键 | 功能 |
---|---|
yy | 复制文件 |
yn | 复制文件名(需要额外配置,否则无法正常粘贴) |
yd | 复制目录名(需要额外配置,否则无法正常粘贴) |
yp | 复制文件路径(需要额外配置,否则无法正常粘贴) |
🗑️ 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
需要 X11 剪贴板支持,没有图形环境或没配置就会报这个错。需要对ranger进行额外的配置才能解决这个问题。解决方法详见
[Linux 安装与配置 ranger ]
📚 7.1 参考文献
-
Ranger 官方 Github [https://github.com/ranger/ranger]
-
Ranger 官方 User Guide [https://github.com/ranger/ranger/wiki/Official-User-Guide]