ranger文件管理器
我是一个 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文件管理器的更多相关文章
- 【原】iOS学习之文件管理器(NSFileManager)和文件对接器(NSFileHandle)
1.文件管理器(NSFileManager) 1> 主要作用及功能方法 主要作用:此类主要是对文件进行的操作(创建/删除/改名等)以及文件信息的获取. 功能方法: 2> 创建文件夹 创建所 ...
- atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服 ...
- Web 在线文件管理器学习笔记与总结(19)上传文件
dir.func.php 中添加方法: /* 上传文件 */ function uploadFile($fileInfo,$path,$allowExt = array('jpg','jpeg','p ...
- Web 在线文件管理器学习笔记与总结(17)复制文件 (18)剪切文件
(17)复制文件 ① 复制文件通过copy($src,$dst) 来实现 ② 检测目标目录是否存在,如果存在则继续检测目标目录中是否存在同名文件,如果不存在则复制成功 file.func.php 中添 ...
- Web 在线文件管理器学习笔记与总结(15)剪切文件夹 (16)删除文件夹
(15)剪切文件夹 ① 通过rename($oldname,$newname) 函数实现剪切文件夹的操作 ② 需要检测目标文件夹是否存在,如果存在还要检测目标目录中是否存在同名文件夹,如果不存在则剪切 ...
- Web 在线文件管理器学习笔记与总结(13)重命名文件夹(14)复制文件夹
(13)重命名文件夹 ① 重命名文件夹通过 rename($oldname,$newname) 实现 ② 检测文件夹名是否符合规范 ③ 检测当前目录中是否存在同名文件夹名称,如果不存在则重命名成功 i ...
- Web 在线文件管理器学习笔记与总结(11)获取文件夹信息 (12)返回上一级操作
(11)获取文件夹信息 文件夹没有修改操作. index.php: <?php require 'dir.func.php'; require 'file.func.php'; require ...
- Web 在线文件管理器学习笔记与总结(10)查看文件夹中的内容
① 读取文件夹大小 a. 封装计算文件夹大小的函数 b. 打开文件夹 c. 循环判断文件夹下的内容是文件还是文件夹,如果是文件,则累积相加文件的大小:如果是文件夹,则递归调用该函数 注意两个问题: ...
- Web 在线文件管理器学习笔记与总结(9)下载文件
① 普通形式的文件可以使用超链接形式下载 <a href = '下载文件名'>点击下载</a> ② 如果下载图片.html 等类型的文件,使用header() 函数发送网页头信 ...
随机推荐
- Mysql远程连接配置
Mysql远程连接配置 环境:unbuntu 16.04 最新版本的Mysql在远程连接的配置上与老版本有了一些出入,照原先的配置已经不行了,所以在这里记录一下遇到的所有新问题. 配置远程连接的步骤如 ...
- 2018年12月份最热门的Java开源项目
1 JavaGuide https://github.com/Snailclimb/JavaGuide Star 14726 这是一份Java学习指南,涵盖大部分Java程序员所需要掌握的核心 ...
- poj 2954 Triangle
pick公式+gcd公式 #include<iostream> #include<map> #include<string> #include<cstring ...
- poj 1595 Prime Cuts
Prime Cuts Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 10610 Accepted: 4046 Descr ...
- 部分linux命令
计算机网络的主要优点是能够实现资源和信息的共享,并且用户可以远程访问信息.Linux提供了一组强有力的网络命令来为用户服务,这些工具能够帮助用户登录到远程计算机上.传输文件和执行远程命令等. 本章介绍 ...
- 常用工具说明--搭建基于rietveld的CodeReview平台(未测试)
为什么要codereview . 整个团队的编码风格是统一的. . 有高手能对自己的代码指点一二,从而提高编码水平. . 减少低级错误的出现 . 约束自己写高质量的代码,因为是要给人看的. 我们对co ...
- GuavaCache实现堆缓存
一.缓存 频繁地数据库I/O是很大的负担,而缓存是减少I/O提高性能的银弹. 缓存的实现一般上是以类似map的键值对的形式,并对外提供put和get方法,但缓存空间不能无限扩大,所以它得有一种缓存清除 ...
- Java 基础(5)——数据转换 & 特殊的引用类型
数据转换 变量在第(3)篇中有讲到过八种数据类型,分别是能够用来表示整型的 byte.short.int.long 和表示浮点型的 float.double 以及字符型 char.布尔型 boolea ...
- vc++返回模块路径
#include "stdafx.h"#include <Windows.h>#include <string.h>const int MAXPATHLEN ...
- JS之捕获冒泡和事件委托
一.事件流(捕获,冒泡) 事件流:指从页面中接收事件的顺序,有冒泡流和捕获流. 当页面中发生某种事件(比如鼠标点击,鼠标滑过等)时,毫无疑问子元素和父元素都会接收到该事件,可具体顺序是怎样的呢?冒 ...