【Mac】 安装 Ranger

2023-05-16

一、使用 brew 命令安装

brew install ranger

插件
brew install libcaca highlight atool lynx w3m elinks poppler transmission mediainfo exiftool

二、配置支持图片查看

我是安装到(自己选择目录): /opt/software/ranger_imgcat/。
vim imgact

#!/bin/bash

# tmux requires unrecognized OSC sequences to be wrapped with DCS tmux;
# <sequence> ST, and for all ESCs in <sequence> to be replaced with ESC ESC. It
# only accepts ESC backslash for ST. We use TERM instead of TMUX because TERM
# gets passed through ssh.
function print_osc() {
    if [[ $TERM == screen* ]]; then
        printf "\033Ptmux;\033\033]"
    else
        printf "\033]"
    fi
}

# More of the tmux workaround described above.
function print_st() {
    if [[ $TERM == screen* ]]; then
        printf "\a\033\\"
    else
        printf "\a"
    fi
}

function load_version() {
    if [ -z ${IMGCAT_BASE64_VERSION+x} ]; then
        IMGCAT_BASE64_VERSION=$(base64 --version 2>&1)
        export IMGCAT_BASE64_VERSION
    fi
}

function b64_encode() {
    load_version
    if [[ $IMGCAT_BASE64_VERSION =~ GNU ]]; then
        # Disable line wrap
        base64 -w0
    else
        base64
    fi
}

function b64_decode() {
    load_version
    if [[ $IMGCAT_BASE64_VERSION =~ fourmilab ]]; then
        BASE64ARG=-d
    elif [[ $IMGCAT_BASE64_VERSION =~ GNU ]]; then
        BASE64ARG=-di
    else
        BASE64ARG=-D
    fi
    base64 $BASE64ARG
}

# print_image filename inline base64contents print_filename
#   filename: Filename to convey to client
#   inline: 0 or 1
#   base64contents: Base64-encoded contents
#   print_filename: If non-empty, print the filename
#                   before outputting the image
function print_image() {
    print_osc
    printf '1337;File='
    if [[ -n $1 ]]; then
        printf "name=%s;" "$(printf "%s" "$1" | b64_encode)"
    fi

    printf "%s" "$3" | b64_decode | wc -c | awk '{printf "size=%d",$1}'
    printf ";inline=%s" "$2"
    printf ":"
    printf "%s" "$3"
    print_st
    printf '\n'
    if [[ -n $4 ]]; then
        echo "$1"
    fi
}

function error() {
    echo "ERROR: $*" 1>&2
}

function show_help() {
    echo "Usage: imgcat [-p] filename ..." 1>&2
    echo "   or: cat filename | imgcat" 1>&2
}

function check_dependency() {
    if ! (builtin command -V "$1" >/dev/null 2>&1); then
        echo "imgcat: missing dependency: can't find $1" 1>&2
        exit 1
    fi
}

## Main

if [ -t 0 ]; then
    has_stdin=f
else
    has_stdin=t
fi

# Show help if no arguments and no stdin.
if [ $has_stdin = f ] && [ $# -eq 0 ]; then
    show_help
    exit
fi

check_dependency awk
check_dependency base64
check_dependency wc

# Look for command line flags.
while [ $# -gt 0 ]; do
    case "$1" in
    -h | --h | --help)
        show_help
        exit
        ;;
    -p | --p | --print)
        print_filename=1
        ;;
    -u | --u | --url)
        check_dependency curl
        encoded_image=$(curl -s "$2" | b64_encode) || (
            error "No such file or url $2"
            exit 2
        )
        has_stdin=f
        print_image "$2" 1 "$encoded_image" "$print_filename"
        set -- "${@:1:1}" "-u" "${@:3}"
        if [ "$#" -eq 2 ]; then
            exit
        fi
        ;;
    -*)
        error "Unknown option flag: $1"
        show_help
        exit 1
        ;;
    *)
        if [ -r "$1" ]; then
            has_stdin=f
            print_image "$1" 1 "$(b64_encode <"$1")" "$print_filename"
        else
            error "imgcat: $1: No such file or directory"
            exit 2
        fi
        ;;
    esac
    shift
done

# Read and print stdin
if [ $has_stdin = t ]; then
    print_image "" 1 "$(cat | b64_encode)" ""
fi

exit 0

把imgcat放到path中方便调用

# 设置可执行权限
chmod +x imgcat
# 复制到path之中
cp imgcat /usr/local/bin/

ranger --copy-config=all

日志如下:
creating: /Users/u/.config/ranger/rifle.conf
creating: /Users/u/.config/ranger/commands.py
creating: /Users/u/.config/ranger/commands_full.py
creating: /Users/u/.config/ranger/rc.conf
creating: /Users/u/.config/ranger/scope.sh

> Please note that configuration files may change as ranger evolves.
  It's completely up to you to keep them up to date.

> To stop ranger from loading both the default and your custom rc.conf,
  please set the environment variable RANGER_LOAD_DEFAULT_RC to FALSE.


图片预览效果如下

在这里插入图片描述

Ranger配置详情


cd ~/.config/ranger

-rw-r--r--  1 u  staff   2.7K 11 21 21:20 commands.py
-rwxr-xr-x  1 u  staff    61K 11 21 21:20 commands_full.py
-rw-r--r--  1 u  staff    24K 11 21 21:20 rc.conf
-rw-r--r--  1 u  staff    14K 11 21 21:20 rifle.conf
-rwxr-xr-x  1 u  staff    13K 11 21 21:20 scope.sh
  • commands.py:与以下命令一起启动的命令 :
  • commands_full.py:全套命令
  • rc.conf:配置和绑定
  • rifle.conf:文件关联(用于打开文件的程序)
  • scope.sh:负责各种文件预览

目前,对我们来说唯一重要的文件是rc.conf。在您喜欢的编辑器中将其打开,并更改以下两行,如下所示:
set preview_images false 修改成 set preview_images true
set preview_images_method w3m 修改成 set preview_images_method iterm2

配置环境变量

vim ~/.zshrc export RANGER_LOAD_DEFAULT_RC=FALSE

增加图标显示

git clone https://github.com/alexanderjeurissen/ranger_devicons ~/.config/ranger/plugins/ranger_devicons

echo "default_linemode devicons" >> $HOME/.config/ranger/rc.conf

显示边框线

set draw_borders true

效果如下
!](https://img-blog.csdnimg.cn/59153aa34a494f48b84d879b4e6f8299.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAcV9oYW5Db2Rl,size_20,color_FFFFFF,t_70,g_se,x_16)


Ranger 常用命令

快捷键含义
H后退
L前进
gg跳到顶端
G跳到底端
ghgo home
gn新建标签
f查找
/搜索
g快速进入目录
yy复制
dd剪切
pp粘贴
delete删除
cw重命名
A在当前名称基础上重命名
I类似A,光标会跳到起始位置
Ctrl-f向下翻页
Ctrl-b向上翻页
m新建书签
`打开书签
um删除书签
gn /C-n新建标签
TAB / S-TAB切换标签
gc / C-w关闭标签
on /ob根据文件名进行排序
oc根据改变时间进行排序
os根据文件大小排序
ot根据后缀名进行排序
oa根据访问时间进行排序
om根据修改进行排序 Modify Time
zh/back显示隐藏文件

参考
https://blog.csdn.net/lxyoucan/article/details/115671189

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Mac】 安装 Ranger 的相关文章

  • mac终端操作文件或文件夹(持续更新)

    1 复制文件夹 有文件 cp R 要复制的文件 要复制到哪个路径 2 复制文件 cp 要复制的文件 要复制到哪个路径 3 移动文件夹 mvdir 你要移动的文件夹 要移动到哪里
  • Topaz Video AI 视频修复工具 安装教程

    Topaz视频增强AI是一款功能强大且易于使用的视频分辨率增强软件 该软件的主要功能是无损放大视频的分辨率 最高可达8K分辨率 它可以将您的所有低分辨率视频转换为8K分辨率的高质量视频 还支持批处理 安装教程 Topaz Video AI
  • MAC系统 批量删除一个项目中的所有.svn

    打开终端 进入项目所在的文件夹 使用命令find type d name svn xargs rm rvf就可将项目的 svn全部删除
  • 为你的VMware 15.5 虚拟机MacOS系统手动安装VMware Tools

    本博客同步发布在 为你的VMware 15 5 虚拟机MacOS系统手动安装VMware Tools VMware Tools 是VMware软件提供的一个辅助工具 可以提升虚拟机的使用体验 默认伴随虚拟机自动安装 但有时候自动安装会出错
  • mac homebrew fatal: not in a git directory

    问题 在用homebrew安装软件时 提示报错 fatal not in a git directory 解决办法 先执行 brew v 出现如下提示 Homebrew 4 0 1 60 g6ad9294 fatal detected du
  • mac系统渗透测试小技巧-将命令行工具能够tab补全

    在kali中各种工具都能补全 但在mac中我们有些工具是需要自己下载回来的 每次使用工具都需要进入目录再打开命令行 这样会影响我们渗透测试的速度 说起来就是懒 懒人自有懒方法 其实很简单 我们只需要添加一个软连接到 usr local bi
  • 苹果电脑快速安装双系统 Winclone镜像包,2021最新一键安装Windows7/Windows10/windows11镜像

    苹果电脑快速安装双系统 Winclone镜像包 2021最新一键安装Windows7 Windows10 windows11镜像 Windows10专业版 21H2 19044 Windows11专业版 22000 71 一 使用步骤 安装
  • [Mac SSH]如何在Terminal端删除或修改已上传文件夹

    如何在Terminal删除或修改Github已上传文件夹 Step 1 找到路径 Step 2 修改或删除文件 Step 3 Commit to Github Step 4 Push 修改 Step 1 找到路径 在Terminal 上 c
  • Mac使用Python接入东方财富量化接口Choice,调试与获取数据

    这篇博客用来把在Mac平台上使用python接入东方财富Choice接口的流程细化并重写 官方文档有些地方说的太含糊了 有的地方博主尝试了多种方法才试出来 这里直接把标准答案给到大家 尽量避坑吧 吐槽 同花顺科技感很足 赞 但是没有Mac版
  • mac文件夹权限的@

    demo是网站根目录 终端下执行 cd到demo ls l 显示 drwxr xr x 9 andy admin 306 10 12 17 43 demo 这里的 貌似是mac特有的 第一次使用file put contents往根目录添加
  • macOS 12 Monterey:一次全新的跨设备协作体验

    macOS 12 Monterey是苹果公司的一次重大突破 它打破了设备间的壁垒 将不同设备无缝地连接在一起 极大地提升了用户的工作效率和娱乐体验 Monterey带来了通用控制 AirPlay 捷径等新功能 以及一些实用的新小功能 安装
  • mac 卸载 XCode

    1 卸载之前的XCode 命令行执行下面命令 sudo Developer Library uninstall devtools mode all sudo Developer Library uninstall developer fol
  • 【Mac-jupyter】在Mac设备中更改jupyter的默认工作路径-NEW1

    在Mac设备中更改jupyter的默认工作路径 step1 打开终端 step2 获得更改默认工作路径的文件路径 step3 找到该路径文件 step4 打开该文件 找到修改路径位置 step5 关闭该文件 成功 tips 请在未打开jup
  • 在Mac上安装MongoDB

    1 访问MongoDB官方下载地址 http www mongodb org downloads 2 解压文件mongodb osx ssl x86 64 4 0 9 tgz 解压之后会变成mongodb osx x86 64 4 0 9文
  • mac下python安装lxml失败

    作者 张自玉 链接 https www zhihu com question 30047496 answer 76115376 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 首先请确认安装了xcode co
  • 使用Mac的十大最好用神器

    资深 Mac 用户 提升效率的 10 大神器 谢志鹏 大家好 我是曹将的徒弟 Pem 最近刚结束悉尼大学研究生的学习 是一枚正在求职的交互设计师 我是从 2015 年开始使用 Mac 的 如果用一句话来形容 Mac 的使用感受 那就是 令人
  • 解决:xcode:Member reference base type ‘rapidjson::Document‘ (aka ‘int‘) is not a structure or union

    xcode Member reference base type rapidjson Document aka int is not a structure or union 首先尝试了 把rapidjson当作源码接进项目 放在demo的
  • Mac显示放大镜

    设置快捷键 系统默认是不开启热键的 如果需要设置 操作如下 设置 system preferences gt accessibility 在左侧找到room 进入配置窗口 按如上配置后 按住option键 然后两指向上就可以放大 两指向下就
  • Downie 4 4.6.12 MAC上最好的一款视频下载工具

    Downie for Mac 简介 Downie是Mac下一个简单的下载管理器 可以让您快速将不同的视频网站上的视频下载并保存到电脑磁盘里然后使用您的默认媒体播放器观看它们 Downie 4 Downie 4 for Mac Downie
  • mac下搭建cocos2d-x3.2开发环境

    1 软件 Xcode Ant apache ant 1 9 4 bin tar gz Jdk jdk 8u45 macosx x64 dmg 有的mac系统上没有自带 Ndk android ndk r10d darwin x86 64 b

随机推荐