23个稳定版本
2.13.0 | 2024年4月7日 |
---|---|
2.12.1 | 2024年2月3日 |
2.12.0 | 2024年1月27日 |
2.11.1 | 2023年12月9日 |
0.2.11 |
|
#89 在 文件系统
每月122 次下载
315KB
6.5K SLoC
felix
一个具有Vim-like键映射的TUI文件管理器,用Rust编写。
快速、简单,易于配置和使用。
要了解此应用程序的概述,请查看此README,特别是键手册。
有关更详细的文档,请访问https://kyoheiu.dev/felix。
新版本
v2.13.0 (2024-04-07)
新增
ignore_case
选项用于通过/
进行不区分大小写的搜索。- 当光标悬停在符号链接上时,现在会显示其目标。
变更
- 链接到目录的符号链接项现在出现在目录部分,而不是文件部分。
- MSRV现在是v1.74.1
修复
z
命令现在可以接收多个参数:z dot files<CR>
与您的终端中的操作相同。
v2.12.1 (2024-02-04)
修复
- 在tmux(以及可能在其他多路复用器)会话退出后正确恢复光标位置。
v2.12.0 (2024-01-28)
新增
:config
如果存在,则指向配置文件。- felix侦听配置文件的更改,并在某些键输入后自动重新读取配置。
变更
- 重构了
_run
和State::new()
附近的代码。- 向
State
添加config_path
字段。
- 向
修复
- Windows上的符号链接路径及其操作。
有关更多详细信息,请参阅 CHANGELOG.md
。
状态
操作系统 | 状态 |
---|---|
Linux | 工作 |
NetBSD | 工作 |
MacOS | 工作 |
Windows | 尚未完全测试 |
对于Windows用户:从v1.3.0版本开始,它至少可以在Windows上编译(参见.github/workflows/install_test.yml
。)如果您感兴趣,请尝试并报告任何问题。
安装
包 | 安装命令 | 说明 |
---|---|---|
crates.io | cargo安装felix |
最低支持的rustc版本:1.74.1 |
Arch Linux | pacman -S felix-rs |
如果您通过pacman安装,二进制名称为felix 。如果您愿意,可以将其别名为fx='felix' ,因为本文档(和其他安装)使用fx 。 |
NetBSD | pkgin install felix |
从这个仓库
- 请确保已安装
gcc
。 - MSRV(最低支持的rustc版本):1.74.1
如果rustc < 1.74.1,请更新Rust
rustup update
git clone https://github.com/kyoheiu/felix.git
cd felix
cargo install --path .
集成
返回到最后一个工作目录(LWD)
在退出fx
后,要将您的LWD导出到调用shell,请将以下内容添加到您的.bashrc
或.zshrc
或您shell的等效文件中。
假设fx
二进制文件位于您的PATH
中。
source <(command fx --init)
如果此未设置,则退出到LWD将失败并显示错误消息。
其他
此外,您还可以通过安装以下应用更方便地使用felix
- zoxide:一个更智能的
cd
命令,它使您能够跳转到felix中关键字匹配的目录。 - chafa:21世纪的终端图形,您可以通过它预览felix中的图像。chafa必须为v1.10.0或更高版本。
- bat:一个cat(1)克隆。使用bat添加语法高亮到文本预览。
这些应用与felix一起使用时无需任何配置!
使用方法
如果您通过pacman安装此应用,默认二进制名称为felix
。
`fx` => Show items in the current directory.
`fx <directory path>` => Show items in the directory.
Both relative and absolute path available.
选项
`--help` | `-h` => Print help.
`--log` | `-l` => Launch the app, automatically generating a log file in `{data_local_dir}/felix/log`.
`--init` => Returns a shell script that can be sourced for shell integration.
键手册
j / <Down> :Go down.
k / <Up> :Go up.
h / <Left> :Go to the parent directory if exists.
l / <Right> / <CR> :Open item or change directory.
gg :Go to the top.
G :Go to the bottom.
z<CR> :Go to the home directory.
z {keyword}<CR> :Jump to a directory that matches the keyword.
(zoxide required)
<C-o> :Jump backward.
<C-i> :Jump forward.
i{file name}<CR> :Create a new empty file.
I{dir name}<CR> :Create a new empty directory.
o :Open item in a new window.
e :Unpack archive/compressed file.
dd :Delete and yank item.
yy :Yank item.
p :Put yanked item(s) from register zero
in the current directory.
:reg :Show registers. To hide it, press v.
"ayy :Yank item to register a.
"add :Delete and yank item to register a.
"Ayy :Append item to register a.
"Add :Delete and append item to register a.
"ap :Put item(s) from register a.
V (uppercase) :Switch to the linewise visual mode.
- y :In the visual mode, yank selected item(s).
- d :In the visual mode, delete and yank selected item(s).
- "ay :In the visual mode, yank items to register a.
- "ad :In the visual mode, delete and yank items to register a.
- "Ay :In the visual mode, append items to register a.
- "Ad :In the visual mode, delete and append items to register a.
u :Undo put/delete/rename.
<C-r> :Redo put/delete/rename.
v (lowercase) :Toggle whether to show the preview.
s :Toggle between vertical / horizontal split in the preview mode.
<Alt-j>
/ <Alt-<Down>> :Scroll down the preview text.
<Alt-k>
/ <Alt-<Up>> :Scroll up the preview text.
<BS> :Toggle whether to show hidden items.
t :Toggle the sort order (name <-> modified time).
c :Switch to the rename mode.
/{keyword} :Search items by a keyword.
n :Go forward to the item that matches the keyword.
N :Go backward to the item that matches the keyword.
: :Switch to the command line.
- <C-r>a :In the command line, paste item name in register a.
:cd<CR> :Go to the home directory.
:cd {path}<CR> :Go to the path.
:e<CR> :Reload the current directory.
:config<CR> :Go to the dirctory that contains the config file if exists.
:trash<CR> :Go to the trash directory.
:empty<CR> :Empty the trash directory.
:h<CR> :Show help.
:q<CR> :Exit.
:{command} :Execute a command e.g. :zip test *.md
<Esc> :Return to the normal mode.
ZZ :Exit without cd to last working directory
(if `match_vim_exit_behavior` is `false`).
ZQ :cd into the last working directory and exit
(if shell setting is ready and `match_vim_exit_behavior is `false`).
预览功能
默认情况下,可以通过按v
键预览文本文件和目录。
安装chafa
,您还可以预览图像。
配置
配置文件
如果找不到任何配置文件,或找到的配置文件已损坏,felix将使用默认配置启动,而不会创建新的配置文件。请注意,默认编辑器是$EDITOR
,因此如果您未设置它,则打开文件将失败。您可以在本仓库中找到默认配置文件(config.yaml
)。
从v2.7.0版本开始,config.yaml
和config.yml
都有效
垃圾桶目录和日志文件
与配置文件不同,这些目录和文件将自动创建。
Linux
config file : $XDG_CONFIG_HOME/felix/config.yaml(config.yml)
trash directory : $XDG_DATA_HOME/felix/Trash
log files : $XDG_DATA_HOME/felix/log
macOS
在macOS上,felix会在以下位置查找配置文件
$HOME/Library/ApplicationSupport/felix/config.yaml(config.yml)
$HOME/.config/felix/config.yaml(config.yml)
trash directory : $HOME/Library/Application Support/felix/Trash
log files : $HOME/Library/Application Support/felix/log
Windows
config file : $PROFILE\AppData\Roaming\felix\config.yaml(config.yml)
trash directory : $PROFILE\AppData\Local\felix\Trash
log files : $PROFILE\AppData\Local\felix\log
关于Rgb
和AnsiValue
您可以像这样配置这些颜色
color:
dir_fg: LightCyan
file_fg: !AnsiValue 120
symlink_fg: LightYellow
dirty_fg: !Rgb [124, 30, 40]
cf: https://docs.rs/serde_yaml/latest/serde_yaml/#using-serde-derive
有关更多详细信息,请访问https://kyoheiu.dev/felix。
依赖关系
~21–32MB
~582K SLoC