A tui file manager with Vim-like key mapping, written in Rust.
Fast, simple, and easy to configure & use.
For an overview of this app, take a look at this README, especially key manual.
For more detailed document, visit https://kyoheiu.dev/felix.
- Allow renaming even when item name contains non-ascii chars (i.e. wide chars).
- Key command with arguments is now supported: For example,
this configuration enables you to execute
exec: 'feh -.': [jpg, jpeg, png, gif, svg, hdr]
feh -. <item path>
byEnter | l | Right
, oro
. - Check for out-of-boundary of the cursor at the top of loop.
- Display when using in kitty: Correctly show the cursor and preview.
For more details, see CHANGELOG.md
.
OS | Status |
---|---|
Linux | works |
NetBSD | works |
MacOS | works |
Windows | not fully tested yet |
For Windows users: From v1.3.0, it can be at least compiled on Windows (see .github/workflows/install_test.yml
.) If you're interested, please try and report any problems.
- Make sure that
gcc
is installed. - MSRV(Minimum Supported rustc Version): 1.60.0
Update Rust if rustc < 1.60:
rustup update
cargo install felix
pacman -S felix-rs
The launcher binary name is felix
via pacman.
Alias fx='felix' if you want, as this document (and other installations) uses fx
.
Available from the official repositories.
pkgin install felix
git clone https://github.com/kyoheiu/felix.git
cd felix
cargo install --path .
In addition, you can use felix more conveniently by installing these two apps:
- zoxide: A smarter
cd
command, which enables you to jump to a directory that matches the keyword in felix. - chafa: Terminal graphics for the 21st century, by which you can preview images in felix. chafa must be v1.10.0 or later.
These apps do not need any configuration to use with felix!
If you install this app via pacman, the default binary name is felix
.
`fx` => Show items in the current directory.
`fx <directory path>` => Show items in the directory.
Both relative and absolute path available.
`-h` | `--help` => Print help.
`-v` | `--version` => Check update.
`-l` | `--log` => Launch the app, automatically generating a log file in `{data_local_dir}/felix/log`.
j / Down :Go down.
k / Up :Go up.
h / Left :Go to the parent directory if exists.
l / Right / Enter :Open a file or change directory.
o :Open a file in a new window.
e :Unpack archive/compressed file.
gg :Go to the top.
G :Go to the bottom.
z + Enter :Go to the home directory.
z <keyword> :Jump to a directory that matches the keyword. (zoxide required)
dd :Delete and yank one item.
yy :Yank one item.
p :Put yanked item(s) in the current directory.
V :Switch to the select mode.
- d :In the select mode, delete and yank selected item(s).
- y :In the select mode, yank selected item(s).
u :Undo put/delete/rename.
Ctrl + r :Redo put/delete/rename.
v :Toggle whether to show the preview.
s :Toggle between vertical / horizontal split in the preview mode.
Alt + j / Down :Scroll down the preview text.
Alt + k / Up :Scroll up the preview text.
backspace :Toggle whether to show hidden items.
t :Toggle the sort order (name <-> modified time).
: :Switch to the shell mode.
c :Switch to the rename mode.
/ :Search items by the keyword.
n :Go forward to the item that matches the keyword.
N :Go backward to the item that matches the keyword.
Esc :Return to the normal mode.
:cd / :z :Go to the home directory.
:z <keyword> :Same as `z <keyword>`.
:e :Reload the current directory.
:trash :Go to the trash directory.
:empty :Empty the trash directory.
:h :Show help.
:q / ZZ :Exit.
By default, text files and directories can be previewed.
Install chafa
and you can preview images without any configuration.
config file : $XDG_CONFIG_HOME/felix/config.yaml
trash directory : $XDG_DATA_HOME/felix/Trash
log files : $XDG_DATA_HOME/felix/log
config file : $HOME/Library/Application Support/felix/config.yaml
trash directory : $HOME/Library/Application Support/felix/Trash
log files : $HOME/Library/Application Support/felix/log
config file : $PROFILE\AppData\Roaming\felix\config.yaml
trash directory : $PROFILE\AppData\Local\felix\Trash
log files : $PROFILE\AppData\Local\felix\log
For more details, visit https://kyoheiu.dev/felix.