[fix] renaming fullpath
[sfm.git] / README.md
blob7e21e89d9026358c855c5ebd904215cf6ff29cdd
1 ![sfm](https://github.com/afify/sfm/blob/main/sfm.png?raw=true)
3 **simple file manager**
5 [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/afify/sfm.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/afify/sfm/context:cpp)
6 [![Build status](https://ci.appveyor.com/api/projects/status/goq88ahjyvtjrui2?svg=true)](https://ci.appveyor.com/project/afify/sfm)
8 Description
9 ------------
10 sfm is a simple file manager for unix-like systems based on [termbox](https://github.com/nsf/termbox).
11 dual pane, bottom statusbar, bookmarks, open files by extention, vim-like key bindings as default configuration. cwd is left pane dir. No dependencies, static linking, c99.
13 * Inspired by [vifm](https://vifm.info/) and [noice](https://git.2f30.org/noice/).
14 * Follows the suckless [philosophy](https://suckless.org/philosophy/) and [code style](https://suckless.org/coding_style/).
16 <img src="https://github.com/afify/afify.github.io/raw/main/img/sfm_sc.png" alt="drawing" width="800"/>
18 Options
19 -------
20 ```sh
21 $ sfm [-v]
22 $ man sfm
23 ```
25 **normal mode**
26 | key      | description         |
27 |:---------|:--------------------|
28 | `q`      | quit                |
29 | `h`      | back                |
30 | `j`      | down                |
31 | `k`      | up                  |
32 | `l`      | open                |
33 | `g`      | top                 |
34 | `G`      | bottom              |
35 | `M`      | middle              |
36 | `ctrl+u` | scroll up           |
37 | `ctrl+d` | scroll down         |
38 | `n`      | create new file     |
39 | `N`      | create new dir      |
40 | `d`      | delete file \| dir  |
41 | `y`      | yank                |
42 | `p`      | paste               |
43 | `P`      | move                |
44 | `c`      | rename              |
45 | `/`      | start filter        |
46 | `ENTER`  | find  filter        |
47 | `ESC`    | exit  filter        |
48 | `SPACE`  | switch pane         |
50 **visual mode**
51 | key      | description         |
52 |:---------|:--------------------|
53 | `v`      | enter visual mode   |
54 | `j`      | select down         |
55 | `k`      | select up           |
56 | `ESC`    | exit visual mode    |
58 Installation
59 ------------
60 **current**
61 ```sh
62 git clone https://github.com/afify/sfm.git
63 cd sfm/
64 make
65 make install
66 ```
67 **latest release**
68 ```sh
69 wget --content-disposition $(curl -s https://api.github.com/repos/afify/sfm/releases/latest | tr -d '",' | awk '/tag_name/ {print "https://github.com/afify/sfm/archive/"$2".tar.gz"}')
70 tar -xzf sfm-*.tar.gz && cd sfm-*/
71 make
72 make install
73 ```
74 Run
75 ---
76 ```sh
77 $ sfm
78 ```
80 Configuration
81 -------------
82 The configuration of sfm is done by creating a custom config.h
83 and (re)compiling the source code.