ranger终端文件管理器

ranger 是一个以Python编写,绑定vi/vim键的终端文件管理器

安装配置

安装

1
2
3
4
5
6
# archlinux系
sudo pacman -S ranger
# redhat系
sudo yum install -y ranger
# Debian系
sudo apt-get install -y ranger

ranger命令选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
--version 				#显示程序的版本号并退出
-h,--help #显示此帮助消息并退出
-d,--debug #激活调试模式,出错时退出并打印错误
-c,--clean #不要读取或创建任何配置文件,不会在系统留下痕迹
--logfile=file #要使用的日志文件,'-'代表stderr
--cachedir=dir #更改缓存目录(~/.cache/ranger)
-r dir,--confdir=dir #更改配置目录(~/.config/ranger)
--datadir=dir #更改数据目录(~/.local/share/ranger)
--copy-config=which #将默认配置复制到用户配置目录,可用值:all, rc, rifle, commands,commands_full, scope
--choosefile=OUTFILE #使Ranger像文件选择器一样工作,打开文件时,它将退出并将所选文件的名称写入OUTFILE。
--choosefiles=OUTFILE #使Ranger就像一次选择多个文件一样,打开文件时,它将退出并将所有选定文件的名称写入OUTFILE。
--choosedir=OUTFILE #使Ranger像目录选择器一样工作,退出Ranger时,它将最后访问的目录的名称写入OUTFILE
--selectfile=filepath #打开带有选定文件的游侠
--show-only-dirs #仅显示目录,不显示文件或链接
--list-unused-keys #出未绑定到任何动作的通用键
--list-tagged-files=tag #列出所有使用给定标签标记的文件,默认:*
--profile #输出退出时CPU使用率的统计信息
--cmd=COMMAND #读取配置后执行COMMAND,多次使用此选项可运行多个命令

配置

  • 生成配置文件
1
2
ranger --copy-config=all
# 该命令自动将配置文件复制到~/.config/ranger/,作为用户配置文件
  • 相关配置文件

    • ~/.config/ranger/rc.conf 主配置文件,选项设置和快捷键
    • ~/.config/ranger/scope.sh 设置可预览的文件类型
    • ~/.config/ranger/rifle.conf 指定不同类型文件的默认打开程序
    • ~/.config/ranger/commands.py 能通过:执行的命令
    • ~/.config/ranger/commands_full.py 默认的控制台命令
    • ~/.config/ranger/bookmarks 书签列表,可在该文件中批量添加书签
    • ~/.config/ranger/tagged 标记文件的绝对路径
    • ~/.config/ranger/history 控制台命令的历史记录,默认50条
  • 相关文件夹

    • ~/.config/ranger/colorschemes/ 颜色主题文件夹
    • ~/.config/ranger/plugins/ 插件文件夹

文件scope.sh中, 在externsions部分注释掉不想预览的文件类型, 在那行上面添加”#”注释掉即可。ranger在预览 rar 等压缩包时会运行得比较慢

操作

帮助

  • ?F1 指令
    • m 打开man帮助页
    • k 显示键位绑定
    • c 显示可用ranger的命令
    • s 显示配置
    • q 退出帮助

浏览界面

按键说明
k<UP>
j<DOWN>
h<LEFI>
l<RIGHT><ENTER>


左(上一级目录)
右(进入目录,打开文件)
K^u
J^d
上翻半页
下翻半页
H
L
上一历史记录
下一历史记录
<PAGEUP>^b
<PAGEDOWN>^f
上翻一页
下翻一页
gg<HOME>
G<END>
跳到顶端
跳到底端
[
]
父目录上移
父目录下移
g + 对应字母 跳转相应目录gh~ go home
g?/usr/share/doc/ranger
gR/usr/lib/python2.7/dist-packages/ranger
gd/dev
ge/etc
gm/media
gM/mnt
go/opt
gs/srv
gu/usr
gv/var
grg//
glgL若当前项为符号链接,逃到其原始位置
cd跳转到目录,同 :cd
f/搜索查找
z + 对应字母 设置相关属性h^h 显示/隐藏文件
p 开/关文件预览功能
P 开/关目录预览功能
c 当文件预览不可见时,是否应该折叠右栏,使主栏扩大
d 文件夹是否在文件前面
I 每次按键后是否刷新输入
m 是否能用鼠标。如果能,则左键光标移动,右键打开,滚轮上下
s 排序是否区分大小写
u 是否自动更新状态栏上显示的该目录所有文件大小的值
v 是否启用预览脚本
i 是否预览图片

选择条目

按键说明
<SPACE>选择文件并跳到下一项
v反选
V进入可视模式,结合移动键进行选择,配合可 gg, G 使用
uv取消选择
^v从某个位置开始选择

新建条目

按键说明
<INSERT>新建文件,同 :touch
<F7>新建文件夹,同 :mkdir

删除条目

按键说明
dD<F8>删除条目(文件或文件夹) , 同 :delete
DD将条目移动到回收站

查看编辑文件

按键说明
i<F3>查看当前文本文件内容
E<F4>调用默认编辑器编辑文件

重命名

按键说明
cw重命名
I修改当前命名,光标在最前
a修改当前命名,光标在后缀前
A修改当前命名,光标在最后

批量修改文件名

批量选择文件后, 键入命令 :bulkname 会打开编辑器, 将列出文件名编辑后保存退出,确认编辑, 然后就批量改名了, 如果想取消批量改名, 在确认时把内容删除即

移动复制

按键说明
dd<F6>移动
yy<F5>复制
daya添加文件到移动、复制队列
dryr将文件从移动、复制队列移除
dtyt切换文件是否在移动、复制队列中
dkyk将当前文件与上一个文件添加到移动、复制队列
djyj将当前文件与下一个文件添加到移动、复制队列
dggygg当前位置到顶端的所有文件添加到移动、复制队列
dGyG当前位置到末尾的所有文件添加到移动、复制队列
uduy取消移动、复制

粘贴

按键说明
pp粘贴
pP若有同名条目自动命名后粘贴
po若有同名条目则覆盖原有条目粘贴
pl粘贴为符号链接,不在状态栏显示条目的相对路径
pl粘贴为符号路径(相对路径) ,在状态栏显示条目的相对路径
phl粘贴为硬链接
pht粘贴为硬链接的子目录

权限修改

按键说明
<a/u/g/o>+<r/w/x/1~7>增加权限
<a/u/g/o>-<r/w/x/1~7>取消权限
<a/u/g/o>-<r/w/x/1~7>指定权限
  • a ALL
  • u 所有者
  • g 所属组
  • o 其他
  • r(1)
  • w(2)
  • x(4) 执行

运行文件

按键说明
l<ENTER>用默认程序打开文件,ranger 不知道文件的打开程序时,会提示 :open_with 用于指定程序
r指定程序打开文件同 :open_with 命令
S在当前目录下打开shell
:open_with
1
:open_with <程序> <模式> <选项>
  • <程序> 指定程序,~/.config/ranger/apps.py 里面的定义了相应程序打开相应的文件,若没有该文件实用命令 ranger --copy-config apps生成,CustomApplications 中每一个以 app_ 开头的函数会被命令 :open_with 用到。
  • <模式> 0 窗口模式 , 1全屏模式
  • <选项> 指定方式调用程序

    • s 静默模式,任何输出将被丢弃
    • d 分离程序(在后台运行)
    • p 将输入重定向到 pager
    • w 当程序执行完成时需要用户回车确认

    大写 <选项> 有相反的作用,如一程序默认就在后台运行,那么可以使用 :open_with D 来防止其在后台运行

标记

按键说明
t标记/取消标记条目,标记后光标下移,默认 *
ut取消标记
" + 任意字符使用 任意字符 标记/取消标记

搜索排序

按键说明
/打开搜索框,输入搜索内容后回车开始搜索,同 :search
f向下查找并打开目标,同 :find
zf过滤器,显示符合条件的条目,区分大小写,^r 取消过滤
nN查找下、上一个搜索结果
c + 对应字母 根据属性遍历a 最后访问时间 (atime)
c状态(权限属性等)变更时间(ctime)
m 最后修改内容时间(mtime)
i MIME类型(mimetype)
s 文件大小(size)
t 标签(tag)
o+对应字母 根据属性排序(小写字母正向,大写字母反向)a/A 最后访问时间 (atime)
b/B 文件名(basename)
c/C状态(权限属性等)变更时间(ctime)
e/E 扩展名(extension)
m/M 最后修改内容时间(mtime)
n/N 自然排序(A1s/S 文件大小(size)
t/T 文件类型(type)
r 反向(Ranger 默认升序)

书签、标签页

按键说明
m,\``,‘`显示书签
m + 任意字符新建书签
\`` 或+任意字符`打开书签
um + 任意字符删除书签
按键说明
gn^n新建标签
gt<TAB>^i下一标签
gT<Shift-TAB>上一标签
<Alt-n>打开指定标签,n1~9 的标签号,若标签不存在则新建
<Alt-Right> / <Alt-Left>切换标签

显示模式

按键说明
Mffilename 模式 (文件名+文件大小,文件夹显示文件数)
Mifileinfo 模式 (文件名,媒体文件显示更多信息,文件夹显示文件数)
Mmmtime 模式 (文件名+最后修改时间)
Mppermissions 模式 (权限信息+文件名)
Mssizemitime 模式 (文件名+ 文件大小+最后修改时间,文件夹显示文件数)
Mtmetatitle 模式 (文件名 + 文件大小,文件夹显示文件数)

任务管理

按键说明
w打开/关闭任务视图
dd终止一个任务
J降低当前任务的优先级
K提升当前任务的优先级

其他

按键说明
!/s使用 shell 命令(!shell -w ls -hl %s,%s代表当前被选中的文件)
:使用 Ranger 的命令
u撤销操作
W打开消息日志
du显示当前目录的磁盘占用情况
dU显示当前目录的磁盘占用情况(按大小排序)
R刷新当前目录
^r清空缓存并刷新目录
^l重画当前窗口
~切换界面风格
ESC退出到正常模式
q/Q/ZQ/ZZ退出 Ranger

和 vim 一样,指令之前可以指定一个数字,表示执行多少次指令

按键说明
5^D向下翻5个半页
3h向上跳3级目录
6gg6G跳第6行
20%跳到当前页的 20%

命令

按键说明
:开头,可用 <TAB> 补全

所有命令都在~/.config/ranger/commands.py

按键说明
:cd <dirname>跳转到目录
:chmod <octal_number>设置被选项的权限
:delete删除被选项
:edit <filename>编辑文件
:filter <string>只显示文件名中含有给定字符串的文件
:find <regexp>查找匹配给定正则表达式的文件,并且执行第一个匹配的文件
:grep <string>在选定的项中查找给定的字符串
:mark <regexp>选定匹配正则表达式的所有文件
:unmark <regexp>取消选定匹配正则表达式的所有文件
:mkdir <dirname>创建目录
:open_with <program< <mode> <flags>给定参数打开文件,未给任何参数时,等价于 <Enter>
:quit退出
:rename <newname>重命名当前文件
:search <regexp>搜索所有匹配正则表达式的文件,快捷键:/
:shell [-<flags>] <command>运行命令 <command>
:set colorscheme snow设置颜色模式
:touch <filename>创建文件

除了:delete,所有的命令可不用写全,前提与输入字母匹配的命令只有一个

快速预览

修改 ~/.config/ranger/scope.sh配置(默认配置就行)并安装以下程序可实现快速预览相关文件

1
2
3
4
5
6
7
#推荐
elinks #html
highlight #text/code
img2txt #image
atool #压缩包
pdftotext #pdf
medinfo #audio/video

官方仓库中列出的程序

  • img2txt(基于caca-utils) 用于ASCII图像预览
  • w3mimgdisplayueberzugkittyterminologyurxvt 用于图像预览
  • convert(基于imagemagick) 自动旋转图像并进行SVG预览
  • ffmpegthumbnailer 用于视频缩略图
  • highlightpygmentize 用于代码的语法突出显示
  • atoolbsdtarunrar和/或7z 用于预览压缩包
  • bsdtartarunrar和/或unzip 用于预览压缩包
  • lynxw3melinks 用于预览html页面
  • pdftotextmutool pdf预览,pdftoppm以图像预览
  • djvutxt 用于文本DjVu预览 ddjvu 以图像预览
  • calibreepub-thumbnailer 用于电子书的图像预览
  • transmission-show 用于查看BitTorrent信息
  • mediainfoexiftool 用于查看有关媒体文件的信息
  • odt2txt 为OpenDocument文本文件(odt,ods,odp和sxw)
  • pythonjq JSON文件
  • fontimage 用于字体预览

查考

Ranger 用法总结

终端下文件管理器Ranger使用

-------------本文结束感谢阅读-------------

欢迎关注我的其它发布渠道