#文件管理器 #文本用户界面 #目录 #crossterm #日志文件 #映射 #

app felix

类似于Vim的键映射的TUI文件管理器

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 2021年11月27日

#89文件系统

Download history 26/week @ 2024-04-22 20/week @ 2024-04-29 37/week @ 2024-05-06 17/week @ 2024-05-13 34/week @ 2024-05-20 9/week @ 2024-05-27 23/week @ 2024-06-03 15/week @ 2024-06-10 12/week @ 2024-06-17 7/week @ 2024-06-24 20/week @ 2024-07-01 4/week @ 2024-07-08 14/week @ 2024-07-15 1/week @ 2024-07-22 94/week @ 2024-07-29 13/week @ 2024-08-05

每月122 次下载

MIT 许可证

315KB
6.5K SLoC

crates.io arch linux

felix

screenshot

一个具有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侦听配置文件的更改,并在某些键输入后自动重新读取配置。

变更

  • 重构了 _runState::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.yamlconfig.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会在以下位置查找配置文件

  1. $HOME/Library/ApplicationSupport/felix/config.yaml(config.yml)
  2. $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

关于RgbAnsiValue

您可以像这样配置这些颜色

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