summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorAhmed ElSamhaa <ahmed.elsamha@vaimo.com>2023-06-21 20:29:06 +0300
committerAhmed ElSamhaa <ahmed.elsamha@vaimo.com>2023-06-21 20:29:06 +0300
commit3cf45b536e6bcd8460a2583059e4ab2389f072db (patch)
tree08d9ea620ba6bfbc63be86162ac1d8eb2870f63b /README.md
parent5561e6a8f591e7ceed83bdefc686abdff48dbee0 (diff)
parent400d9d8a0a54c9e77f03c4d0ade14e5c89f45eff (diff)
Merge branch 'main' into feature-cd2cwd
Diffstat (limited to 'README.md')
-rw-r--r--README.md143
1 files changed, 81 insertions, 62 deletions
diff --git a/README.md b/README.md
index 421d8c6..2ec4e73 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,14 @@
-[![crates.io](https://img.shields.io/crates/v/felix)](https://crates.io/crates/felix) ![arch linux](https://img.shields.io/archlinux/v/community/x86_64/felix-rs) ![MSRV](https://img.shields.io/badge/MSRV-1.60.0-orange)
+[![crates.io](https://img.shields.io/crates/v/felix)](https://crates.io/crates/felix)
+![arch linux](https://img.shields.io/archlinux/v/extra/x86_64/felix-rs)
+![MSRV](https://img.shields.io/badge/MSRV-1.65.0-orange)
# _felix_
-A tui file manager with Vim-like key mapping, written in Rust.
+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](#key-manual).
+For an overview of this app, take a look at this README, especially
+[key manual](#key-manual).\
For more detailed document, visit https://kyoheiu.dev/felix.
- [New release](#new-release)
@@ -23,21 +26,31 @@ For more detailed document, visit https://kyoheiu.dev/felix.
## New release
-## v2.2.5 (2023-02-12)
+## v2.4.1 (2023-06-21)
+
+### Changed
+
+- Show status bar and registers even if current directory does not contain any item.
+
+## v2.4.0 (2023-06-14)
### Added
-- Allow renaming even when item name contains non-ascii chars (i.e. wide chars).
-- Key command with arguments is now supported: For example,
- ```
- exec:
- 'feh -.':
- [jpg, jpeg, png, gif, svg, hdr]
- ```
- this configuration enables you to execute `feh -. <item path>` by `Enter | l | Right`, or `o`.
-- Check for out-of-boundary of the cursor at the top of loop.
-
-### Fixed
-- Display when using in kitty: Correctly show the cursor and preview.
+
+- Add registers (unnamed, zero, numbered, named): Now you can view registers by `:reg`, and add items to registers by usual vim command (prefixed by `"`). See the key manual for more details.
+- Refactor unpacking command: `e` unpacks / decompresses gz(Gzip), tar.gz, xz(lzma), tar.xz, zst(Zstandard), tar.zst, tar, and zip file format and formats based on it.
+
+### Removed
+
+- `:z` - Use `z` instead.
+
+## v2.3.0 (2023-05-26)
+
+### Changed
+
+- Add extra config file path for macOS: `/Users/$USER/.config/felix/config.yaml` will be read after `$HOME/Library/Application Support/felix/config.yaml`.
+- If config file is not found, or found one is broken, felix launches with the default configuration, without creating new one.
+- If the current directory is read-only, `dd`, `Vd` and `p` is disabled in the first place.
+- Bump up MSRV to 1.65.
For more details, see `CHANGELOG.md`.
@@ -52,48 +65,31 @@ For more details, see `CHANGELOG.md`.
| 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._
+_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._
<a id="installation"></a>
## Installation
-### Prerequisites
+| package | installation command | notes |
+| ---------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
+| crates.io | `cargo install felix` | Minimum Supported rustc Version: **1.65.0** |
+| Arch Linux | `pacman -S felix-rs` | The binary name is `felix` if you install via pacman. Alias `fx='felix'` if you want, as this document (and other installations) uses `fx`. |
+| NetBSD | `pkgin install felix` | |
+
+### From this repository
- Make sure that `gcc` is installed.
-- MSRV(Minimum Supported rustc Version): **1.60.0**
+- MSRV(Minimum Supported rustc Version): **1.65.0**
-Update Rust if rustc < 1.60:
+Update Rust if rustc < 1.65:
```
rustup update
```
-### From crates.io
-
-```
-cargo install felix
-```
-
-### Arch Linux
-
-```
-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`.*
-
-### NetBSD
-
-Available from the official repositories.
-
-```
-pkgin install felix
-```
-
-### From this repository
-
```
git clone https://github.com/kyoheiu/felix.git
cd felix
@@ -127,8 +123,11 @@ fx() {
In addition, you can use felix more conveniently by installing these two apps:
-- [zoxide](https://github.com/ajeetdsouza/zoxide): A smarter `cd` command, which enables you to jump to a directory that matches the keyword in felix.
-- [chafa](https://hpjansson.org/chafa/): Terminal graphics for the 21st century, by which you can preview images in felix. ***chafa must be v1.10.0 or later.***
+- [zoxide](https://github.com/ajeetdsouza/zoxide): A smarter `cd` command, which
+ enables you to jump to a directory that matches the keyword in felix.
+- [chafa](https://hpjansson.org/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!
@@ -136,7 +135,7 @@ These apps do not need any configuration to use with felix!
## Usage
-*If you install this app via pacman, the default binary name is `felix`.*
+_If you install this app via pacman, the default binary name is `felix`._
```
`fx` => Show items in the current directory.
@@ -148,7 +147,6 @@ 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`.
```
@@ -160,19 +158,29 @@ Both relative and absolute path available.
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.
+l / Right / Enter :Open item or change directory.
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.
+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) 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).
+: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 :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.
Ctrl + r :Redo put/delete/rename.
v :Toggle whether to show the preview.
@@ -183,12 +191,11 @@ 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.
+/ :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.
Esc :Return to the normal mode.
-:cd / :z :Go to the home directory.
-:z <keyword> :Same as `z <keyword>`.
+:cd :Go to the home directory.
:e :Reload the current directory.
:trash :Go to the trash directory.
:empty :Empty the trash directory.
@@ -201,13 +208,21 @@ Esc :Return to the normal mode.
## Preview feature
-By default, text files and directories can be previewed.
+By default, text files and directories can be previewed.\
Install `chafa` and you can preview images without any configuration.
<a id="configuration"></a>
## Configuration
+### Config file
+If any config file is not found, or found one is broken, felix launches with the default configuration, without creating new one.
+Note that the default editor is `$EDITOR`, so if you've not set it, opening a file will fail.
+You can find default config file (`config.yaml`) in this repository.
+
+### Trash directory and log file
+Contrary to the config file, these directory and file will be automatically created.
+
### Linux
```
@@ -218,8 +233,12 @@ log files : $XDG_DATA_HOME/felix/log
### macOS
+On macOS, felix looks for the config file in the following locations:
+
+1. `$HOME/Library/Application Support/felix/config.yaml`
+2. `$HOME/.config/felix/config.yaml`
+
```
-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
```