diff options
author | Ahmed ElSamhaa <ahmed.elsamha@vaimo.com> | 2023-06-21 20:29:06 +0300 |
---|---|---|
committer | Ahmed ElSamhaa <ahmed.elsamha@vaimo.com> | 2023-06-21 20:29:06 +0300 |
commit | 3cf45b536e6bcd8460a2583059e4ab2389f072db (patch) | |
tree | 08d9ea620ba6bfbc63be86162ac1d8eb2870f63b /README.md | |
parent | 5561e6a8f591e7ceed83bdefc686abdff48dbee0 (diff) | |
parent | 400d9d8a0a54c9e77f03c4d0ade14e5c89f45eff (diff) |
Merge branch 'main' into feature-cd2cwd
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 143 |
1 files changed, 81 insertions, 62 deletions
@@ -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 ``` |