ranger文件管理器

 ̄綄美尐妖づ 提交于 2020-02-02 07:26:48
我是一个 CLI 控,但一直苦于没有一个好用的文件管理器。虽然 vifm 的 vim 键绑定很合我的胃口,但它实在不好用。所以我一直没有停止过寻找类似软件的念头。直到尝试了 Ranger, 觉得很不错。功能很全,扩展/可配置性也不错,还有 vim 的键绑定、多列文件管理方式、支持多标签页。实时预览文本文件和目录,等等……

 

一,安装:

ranger 在 Arch 的 Community 仓库中。可以使用 pacman 直接安装。

sudo pacman -S ranger

二,使用 ranger:

ranger 中有按键和命令两种操作方式,按键是直接键入键盘上的键完成某个操作,命令则需前输入 “:”,然后输入相应的命令。
输入 “?”(不含引号)可以查看帮助信息:

?: 查看帮助 

1,浏览文件

1),移动光标

k: 向上移动 j: 向下移动 h: 向左移动(在浏览文件夹的时候,它表示回到上一级目录) l: 向右移动(在光标处于一个文件夹上时,进入这个目录。处于一个文件上,则打开该文件) 

这四个键等同键盘上的方向键,不过用起来更高效。

H: 后退到上一个历史记录 L: 前进到下一个历史记录 
Ctrl + U: 向上翻半页 Ctrl + D: 向下翻半页 
gg: 跳到页首 G: 跳到页尾 %: 跳到页中 

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

5(Ctrl + D): 向下翻5个半页 3h: 向上跳3级目录 6gg or 6G: 跳到第6行 20%: 跳到当前页的 20% 处 
cd: 跳转到目录,同 ":cd" 
gl: 如果当前条目是一个符号链接,那么跳到它的原始位置 

2),搜索

按下 “/” 打开搜索栏,然后输入要搜索的字符串,回车后开始搜索。

“n” 查找下一个结果,”N” 查找上一个搜索结果。

你也可以通过其他属性来搜索文件:

cc: 通过 ctime 属性依次遍历 cm: 通过 mime type 属性依次遍历 cs: 通过 size 属性依次遍历 ct: 搜索已标记的文件 

3),排序

os: 按大小排序 ob: 按名称排序 ot: 按文件类型排序 om:? 按 mtime(上一次修改文件内容的时间) 排序 

ranger 默认是以升序排列文件,你可以键入 “or” 使 ranger 以降序排列文件:

or: 反向排序 

4),书签

你可以设置一个书签以便快速的进入某个目录。

m<key>: 保存书签 `<key>: 跳到书签 

<key> 可以是任意的数字或字母。而且也 vim 不同,这写书签是永久保存的。


注:
1, “ ` ”(键盘 “1” 左边的键) 和 ” ‘ “(单引号) 是等效的。
2, “`” 本身也是一个书签,代表上一次跳转的位置。你可以键入 ““” 跳到上一个跳转的位置。

5),标签页(tab)

ranger 支持多个标签页,可以快速地在多个标签页之间切换。

gn, Ctrl + N: 新建一个标签页 gt: 跳到下一个标签页 gT: 跳到上一个标签页 g<N>: 打开一个标签页,<N> 代表1到9的一个数字。如果这个标签页不存在的话,ranger 会自动创建。 gc, Ctrl + W: 关闭当前标签页,最后一个标签页不能关闭。 

2,操作文件

1),选择文件

ranger 可以方便快速地选择多个文件。

: 选择一个文件,之后光标会自动跳到下一个条目 v: 反选 V or uv: 取消所有选择 
Ctrl + V: 从某个位置开始选择 u(Ctrl + V): 取消选择到某个位置 

例如: (Ctrl + V) + gg: 选择从当前位置到顶部的所有条目, (Ctrl + V) + G: 选择从当前位置到底部的所有条目。u(Ctrl + V) 用法类似。

t: 标记/取消标记选择的条目 T: 取消标记选择的条目 

2),查看文件

i: 查看当前文件的内容(文本文件) 

3),编辑文件

E: 调用默认编辑器编辑文件 

4),处理文件

:rename: 重命名 cw: 同 “:rename” A: 重命名,附加当前文件名 I: 同 “A”,但会将光标置于文件名之前 
yy: 复制 dd: 剪切 pp: 粘贴,当存在同名文件时,会自动重命名。 po: 粘贴,覆盖同名文件 pl: 创建一个被复制/剪切文件的符号链接。 pL: 创建一个被复制/剪切文件的符号链接(相对路径)。 
:delete 删除选定的条目 

如果删除的文件不止一个,ranger 会提示确认删除,键入 “y” 即可。也可以在输入命令时附加一个参数 “y”,跳过 ranger 的确认。

:delete y 

5),运行文件

l: 打开选定文件,同 

如果没有选定文件的话,则打开当前文件。

ranger 根据 apps.py 里面的定义来判断用什么程序来打开相应的文件。如果用户目录里没有文件 apps.py 的话,可以从 ranger/defaults/apps.py 复制到 ~/.config/ranger/ 下面。

如果 ranger 不知道用什么程序打开相应文件,会出现 “:open_with” 对话框询问用户。
也可以直接使用命令 ”r“ 打开 ”:open_with“ 对话框。

r: 用指定程序打开文件,同命令 ”:open_with“ 

:open_with 语法:

:open_with <program> <mode> <flags> 

<program>: 需要在 apps.py 中定义,CustomApplications 中每一个以 “app_” 开头的函数会被命令 “:open_with” 用到。

<mode>: ranger 以何种模式运行程序。可用的 mode 有:

0: 窗口模式 1: 全屏模式 

<flags>: 指定 ranger 以何种方式调用程序。

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

大写 flag 可以得到相反的作用,例如一个程序如果默认就在后台运行,那么可以使用 “:open_with D” 来防止其在后台运行。

按键 “S” 在当前目录下开启一个 shell :

S: 在当前目录下开启一个 shell 。 

3,任务管理

在执行某些操作(比如复制一个大文件)时不能立即完成,这在 ranger 中就是一个任务。你可以停止、启动某个任务,也可以对某个任务设置优先级。

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

4,命令

命令以 “:” 开头。输入时可用 <Tab> 键补全,如果有多个匹配的,ranger 会依次遍历所有匹配项。

所有命令被定义在文件 ranger/defaults/commands.py 中。

可用的命令:

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

所有的命令(”:delete” 除外),可以不用写全,不过前提是和之匹配的命令只有一个。

5,杂项

z: 切换设置 u: 撤销操作 W: 打开 message log du: 显示当前目录的磁盘占用情况 R: 刷新当前目录 Ctrl + R: 清空缓存并刷新目录。 Ctrl + L: 重画当前窗口。 

6,命令行参数

--version 打印 ranger 的版本。  -h, --help 打印帮助信息。  -d, --debug 以 debug 模式启动 ranger ,当出错退出时,ranger 会输出所有信息。  -c, --clean 以 clean 模式启动 ranger ,ranger 不会读取和创建配置文件。  --copy-config <all|apps|commands|keys|options|scope> 复制 ranger 的配置文件到 home 目录,已经存在的文件不会被覆盖。  -r <dir>, --confdir=<dir> 使用其他配置文件目录。 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!