ranger 文件管理器

本贴最后更新于 1749 天前,其中的信息可能已经时移世改

ranger 是什么?

ranger 是一个命令行文件管理器。


文件管理器是什么?

浏览、管理文件和文件夹的软件。Windows 的 explorer,gnome 的 nautilus,KDE 的 dolphin 都是依赖 GUI 的文件管理器。


怎样使用 ranger?

在某目录打开 ranger。TUI 分为三栏,左边是父目录,中间是当前目录,右边是当前文件的预览。中间目录竖列当前目录的文件,其中一个是高亮的,那就是当前文件

如果当前文件是一个目录,那么它的预览,就是其下的文件列表。如果当前文件是个文本文件,它的预览就是其内容。

用 hjkl 这样 vi 快捷键导航,从而可以浏览任何目录和文件。


有更快的移动方式吗?

C-U 或 K 是向上移动半屏;C-D 或 J 是向下移动半屏。gg 和 G 分别是移动到顶部和底部。这都跟 vi 的移动方式很像。


如何复制文件?

有两种方式:一是先选中(mark)后按 yy 复制;二是复制选中 ya、yr 和 yt。

脑中设想两个缓冲区:S(Selection)代表选中的文件,Y(Yank)表示被复制的文件。那么:

  1. yy 是将 S 中的文件视作 Y 中的文件。之前的 Y 会被舍弃。
  2. ya 是将当前文件加入 Y 中;yr 将当前文件从 Y 中移除;yt 则改变当前文件的状态,如果在 Y 中,那么移出,如果不在 Y 中,那么放进去。

ranger 对选中的定义,如果有标记(Mark)的文件,则是选中的文件;如果没有,那么是当前文件。如何标记文件,待会再介绍。

按 pp 或者 po 将 Y 中的文件复制到当前目录。两者的区别是,后者会覆盖同名文件。


 如何标记文件?

按空格标记当前文件。v 标记当前目录所有文件;V 进入选择模式,用光标移动选择文件;uV 则进入反选择模式,光标移动则会取消选择文件。选择模式和反选择模式都可以用 V 退出。


如何剪切文件?

复制操作中的 y 键改成 d 即可。


如何删除文件、重命名文件?

按 : 进入命令模式,这也跟 vi 一样。:delete 删除选中的文件,:remove name 重命名当前文件。


能打开多个标签页吗?

gn 创建一个标签,用 gt 和 gT 在窗口之间切换,gc 关闭当前标签页。


这些命令记不住怎么办?

例如说 gn、gt、gT 和 gc,再按了 g 之后,ranger 会有弹窗提示。此外按 ? 可以看到手册和按键绑定的提示。

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    345 引用 • 742 回帖
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    6 引用 • 140 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 54 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    171 引用 • 3848 回帖 • 2 关注
  • 安全

    安全永远都不是一个小问题。

    203 引用 • 818 回帖
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 7 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 10 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • 倾城之链
    23 引用 • 66 回帖 • 162 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    588 引用 • 3538 回帖
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 1 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    56 引用 • 85 回帖
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    173 引用 • 414 回帖 • 367 关注
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 28 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    21 引用 • 31 回帖
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖 • 5 关注
  • gRpc
    11 引用 • 9 回帖 • 93 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖 • 1 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 61 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖 • 2 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 316 关注
  • abitmean

    有点意思就行了

    36 关注
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 85 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 71 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    89 引用 • 1243 回帖 • 411 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    85 引用 • 165 回帖 • 1 关注