使用控制台文件管理器ranger (11/28)

其他Linux/Unix/BSD/OSX等发行版讨论
回复
riptide2012
帖子: 222
注册时间: 2011-12-14 10:21

使用控制台文件管理器ranger (11/28)

#1

帖子 riptide2012 » 2012-11-16 18:46

ranger是一个控制台的文件管理器,特点就是很方便,但比起通常有图形界面的文件管理器有较大的不同。以nautils为例,它大部分的文件和目录的操作都是通过鼠标完成的。这一切太自然了,以至于一时很难说全这个文件管理器具备了哪些功能。在这里稍微总结列举下:复制、粘贴、移动、删除、链接、修改权限、重命名、目录浏览、文件执行和预览。

在ranger里,这些功能无法靠鼠标完成,而是采用风格类似vim的快捷键。

打开range

建议的方式是在各种形式的autostart加入下面的命令,这样就能拥有一个按F12即可调出的文件管理器了

代码: 全选

guake -e ranger
* guake是下落式的一个伪终端。

基本操作

基本导航
h,l 分别是进入上级目录和下级目录,如果文件着打开。
j,k 分别是上下移动
J , K 分别是上下半页移动
H,L 分别是在历史中前进和倒退
g 会列出一个条目,接下去可以跳往不同的预设目录。例如:
g/ 跳往根目录
gh 跳到家目录
gg 到顶部
G 到底部

基本选择 选择的文件可以用于基本的操作
space 选择
10space 从当前算起选择10个文件
v 反向选择
uv 选择全部取消

文件操作 复制、剪切、删除、粘贴 (针对当前文件或则选择的内容)
yy 复制
dd 剪切
pp 粘贴
F5 复制
F5 剪贴
F8 删除
Delete 删除

书签
mX 把当前目录做一个书签 (X 表示任何字符)
'X 跳到X书签代表的目录

标签 不同标签可以复制、粘贴、移动
gn 新建一个标签
Alt+N 跳转到N号标签 (代表一个数字)
gt,gT 跳转到前个标签,后个标签

排序 对文件和目录列表进行排序,以便查看。
ot 根据后缀名进行排序 (Type)
oa 根据访问时间进行排序 (Access Time 访问文件自身数据的时间)
oc 根据改变时间进行排序 (Change Time 文件的权限组别和文件自身数据被修改的时间)
om 根据修改进行排序 (Modify time 文件自身内容被修改的时间)
ob 根据文件名进行排序 (basename)
on 这个好像和basename差不多(natural)
os 根据文件大小进行排序(Size)

重命名 修改文件名有两种模式:当前文件和批量改名
cw 新文件名 -- 修改当前文件名
A -- 在当前文件名后追加文字
I -- 在当前文件名前追加文字
:bulkrename --针对mark过的文件批量改名

执行shell命令
! -- 进入命令模式执行shell命令
s -- 同上
# -- 同!,但结果输出到一个pager。相当于 cmd | less
@ -- 同!,但会把选择的文件作为参数放在最后。
S -- 进入一个新的shell。exit后回到当前的ranger

链接
pl 绝对路径的链接
pL 相对路径的链接
phl 硬链接
上次由 riptide2012 在 2012-11-28 23:57,总共编辑 1 次。
riptide2012
帖子: 222
注册时间: 2011-12-14 10:21

Re: 使用控制台文件管理器ranger (11/28)

#2

帖子 riptide2012 » 2012-11-28 23:56

改良删除
ranger里按delete可以删除文件,但这个不能恢复,每次使用都会心惊胆战。所以需要改良一下。

第一步:安装trash-cli。 这样一个python编写的遵循相关freedesktop标准的垃圾箱工具。

代码: 全选

yaourt -S trash-cli --nocomfirm
第二步:生成一份用户级别的rc.conf。(ranger快捷键配置都在这个文件里)

代码: 全选

ranger --copy-config=rc 
第三步:编辑~/.config/range/rc.conf , 做如下修改
#map <DELETE> console delete
map <DELETE> shell -d trash-put %s
经过上面三步,今后按delete就只会把文件丢进垃圾箱
riptide2012
帖子: 222
注册时间: 2011-12-14 10:21

Re: 使用控制台文件管理器ranger (11/28)

#3

帖子 riptide2012 » 2012-11-28 23:57

改良文件预览
ranger可以通过预览脚本实现一系列的文件预览效果。诸如:文本文件的内容,影音文件的媒体信息,html文件的高亮代码,压缩包内的文件一览等等。

首先要做的是生成一个用户级别的预览配置文件。运行:

代码: 全选

ranger --copy-config=scope
creating:  /home/matt/.config/ranger/scope.sh
其次需要安装几个具体实现预览效果的软件包。

代码: 全选

pacman -S  lynx atool poppler transmission-cli libcaca mediainfo perl-file-mimeinfo highlight
最后修改一下配置文件,达到最好的效果。

通过第一步,我们已经了解预览配置的scope.sh是一个bash脚本。
但这个配置文件有一点点小问题。如下的代码取出的mime信息不够正确。

代码: 全选

mimetype=$(file --mime-type -Lb "$path")
所以把这句话修改成

代码: 全选

mimetype=$(mimetype -b "$path")
默认脚本支持的媒体文件比较少,所以也需要加宽点范围:

代码: 全选

	video/* | audio/* )
修改成

代码: 全选

	video/* | audio/* | *media )
回复