我是一个 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> 使用其他配置文件目录。 

ranger文件管理器的更多相关文章

  1. 【原】iOS学习之文件管理器(NSFileManager)和文件对接器(NSFileHandle)

    1.文件管理器(NSFileManager) 1> 主要作用及功能方法 主要作用:此类主要是对文件进行的操作(创建/删除/改名等)以及文件信息的获取. 功能方法: 2> 创建文件夹 创建所 ...

  2. atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php

    atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服 ...

  3. Web 在线文件管理器学习笔记与总结(19)上传文件

    dir.func.php 中添加方法: /* 上传文件 */ function uploadFile($fileInfo,$path,$allowExt = array('jpg','jpeg','p ...

  4. Web 在线文件管理器学习笔记与总结(17)复制文件 (18)剪切文件

    (17)复制文件 ① 复制文件通过copy($src,$dst) 来实现 ② 检测目标目录是否存在,如果存在则继续检测目标目录中是否存在同名文件,如果不存在则复制成功 file.func.php 中添 ...

  5. Web 在线文件管理器学习笔记与总结(15)剪切文件夹 (16)删除文件夹

    (15)剪切文件夹 ① 通过rename($oldname,$newname) 函数实现剪切文件夹的操作 ② 需要检测目标文件夹是否存在,如果存在还要检测目标目录中是否存在同名文件夹,如果不存在则剪切 ...

  6. Web 在线文件管理器学习笔记与总结(13)重命名文件夹(14)复制文件夹

    (13)重命名文件夹 ① 重命名文件夹通过 rename($oldname,$newname) 实现 ② 检测文件夹名是否符合规范 ③ 检测当前目录中是否存在同名文件夹名称,如果不存在则重命名成功 i ...

  7. Web 在线文件管理器学习笔记与总结(11)获取文件夹信息 (12)返回上一级操作

    (11)获取文件夹信息 文件夹没有修改操作. index.php: <?php require 'dir.func.php'; require 'file.func.php'; require ...

  8. Web 在线文件管理器学习笔记与总结(10)查看文件夹中的内容

    ① 读取文件夹大小 a. 封装计算文件夹大小的函数 b.  打开文件夹 c. 循环判断文件夹下的内容是文件还是文件夹,如果是文件,则累积相加文件的大小:如果是文件夹,则递归调用该函数 注意两个问题: ...

  9. Web 在线文件管理器学习笔记与总结(9)下载文件

    ① 普通形式的文件可以使用超链接形式下载 <a href = '下载文件名'>点击下载</a> ② 如果下载图片.html 等类型的文件,使用header() 函数发送网页头信 ...

随机推荐

  1. WEB前端笔记

    HTML+CSS部分 IE6使用PNG的透明问题 解决关键字 DD_belatedPNG_0.0.8a.js Google或百度一下,下载之 <!--[if lte IE 6]> < ...

  2. hadoop包含哪些技术?

    1.Hadoop包含哪些技术?Common, Avro, MapReduce, HDFS, Pig, Hive, Hbase, ZooKeeper, Sqoop, Oozie. 2.简介Common: ...

  3. SpringMVC的json交互

    一.注解说明 1.@RequestBody  作用:@RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内 ...

  4. Firebird 条件函数

    1.iif  IIF (<condition>, ResultT, ResultF) 示例: select iif( sex = 'M', 'Sir', 'Madam' ) from Cu ...

  5. show_space

    create or replace procedure show_space( p_segname_1 in varchar2,p_space in varchar2 default 'AUTO',p ...

  6. 001.開始使用ASP.NET Web API 2(一)

    原文鏈接:http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web ...

  7. 定时器setTimeout()和setInterval()使用心得整理

    JavaScript提供定时执行代码的功能,叫做定时器(timer),主要由setTimeout()和setInterval()这两个函数来完成. 一.setTimeout() setTimeout函 ...

  8. 二:Vim常用命令

    一般模式下的命令: -- 插入命令 i 光标前插入 I 当前行开始 o 下一行 O 上一行插入新行 a 光标后插入 A 当前行末尾 -- 定位命令 :set nu 显示行号 :set nonu 取消行 ...

  9. springboot项目部署到独立tomcat的爬坑集锦

    目录 集锦一:普通的springboot项目直接部署jar包 集锦二:springboot项目不能直接打war包部署 集锦三:因为tomcat版本问题导致的lombok插件报错:Invalid byt ...

  10. Linux 创建python虚拟环境

    使用virtualenv包管理工具来管理虚拟环境 1.安装virtualenv 不知啥原因,第一次安装超时失败,第二次下载到30%超时失败,第三次才安装成功 2.创建虚拟环境 只有python2.7及 ...