12 个版本 (7 个稳定版)
1.5.0 | 2023年11月21日 |
---|---|
1.4.0 | 2021年12月18日 |
1.3.0 | 2020年12月13日 |
1.2.1 | 2020年10月28日 |
0.2.1 | 2019年5月7日 |
#6 in #gif
每月437次下载
21KB
365 行
描述
A small command-line application to view images from the terminal written in Rust. It is basically the front-end of viuer
. It uses either iTerm or Kitty graphics protocol, if supported. If not, lower half blocks (▄ or \u2584) are displayed instead.
Based on the value of $TERM
, viuer
decides which protocol to use. For half blocks, $COLORTERM
is inspected. If it contains either truecolor
or 24bit
, truecolor (16 million colors) will be used. If not, it will fallback to using only ansi256. A nice explanation can be found in this gist.
功能
- 原生 iTerm 和 Kitty 支持
- 动画 GIF 支持
- 通过 stdin 接受媒体
- 自定义尺寸
- 透明度
- 实验性 Sixel 支持(在
sixel
功能标志之后)
安装
从源代码(推荐)
从源代码安装需要本地的 Rust 环境。
git clone https://github.com/atanunq/viu.git
# Build & Install
cd viu/
cargo install --path .
# Use
viu img/giphy.gif
或者不克隆
cargo install viu
二进制文件
可以从 发布页面 下载预编译的二进制文件。GPG 指纹是 B195BADA40BEF20E4907A5AC628280A0217A7B0F。
软件包
MacOS
在 brew
中可用。
brew install viu
Arch Linux
在 extra/viu
中可用。
pacman -S viu
NetBSD
在 graphics/viu
中可用。
用法
示例
在 Kitty 终端上
在 Mac 上使用 iTerm
使用半角字符块(Kitty协议和tmux
不兼容)
按下了Ctrl-C以停止GIF动画。
当viu
只接收到一个文件且该文件是GIF时,它会反复显示,直到按下Ctrl-C。然而,当有多个文件可供显示时,GIF只会显示一次。
iTerm 笔记
iTerm可以独立处理GIF,性能更佳,但通过--once
和--frame-rate
进行配置在那里将无效。
宽高比
如果没有为viu
提供任何标志,它将尝试获取它被调用的终端的大小。如果成功,它将调整图像并保留宽高比。只有在同时使用选项-w
和-h
时,宽高比才会改变。
命令行选项
View images right from the terminal.
Usage: viu [OPTIONS] [file]...
Arguments:
[file]... The images to be displayed. Set to - for standard input.
Options:
-w, --width <width>
Resize the image to a provided width
-h, --height <height>
Resize the image to a provided height
-x <x>
X offset [default: 0]
-y <y>
Y offset [default: 0]
-a, --absolute-offset
Make the x and y offset be relative to the top left terminal corner. If not set, they are relative to the cursor's position.
-r, --recursive
Recurse down directories if passed one
-b, --blocks
Force block output
-n, --name
Output the name of the file before displaying
-t, --transparent
Display transparent images with transparent background
-f, --frame-rate <frames-per-second>
Play the gif at a given frame rate
-1, --once
Loop only once through the gif
-s, --static
Show only the first frame of the gif
-H, --help
Print help information
-V, --version
Print version information
依赖关系
约10-19MB
约236K SLoC