Fix lstat() == ENOENT in batch move.
[rover.git] / README.md
blob82478a2566254100e462d55330f089d58f28b600
1 Introduction
2 ============
4  Rover is a file browser for the terminal.
6 ![Rover screenshot](/../screenshots/screenshot.png?raw=true "Screenshot")
8  The main goal is to provide a faster way to explore a file system from the
9 terminal, compared to what's possible by using `cd`, `ls`, etc. Rover has
10 vi-like key bindings for navigation and can open files in $PAGER and $EDITOR.
11 Basic file system operations are also implemented (see rover(1) for details).
12 Rover is designed to be simple, fast and portable.
15 Quick Start
16 ===========
18  Building and Installing:
19  ```
20  $ make
21  $ sudo make install
22  ```
24  Running:
25  ```
26  $ rover [DIR1 [DIR2 [DIR3 [...]]]]
27  ```
29  Using:
30  ```
31        q - quit Rover
32        ? - show Rover manual
33      j/k - move cursor down/up
34      J/K - move cursor down/up 10 lines
35      g/G - move cursor to top/bottom of listing
36        l - enter selected directory
37        h - go to parent directory
38        H - go to $HOME directory
39        r - refresh directory listing
40   RETURN - open $SHELL on the current directory
41    SPACE - open $PAGER with the selected file
42        e - open $EDITOR with the selected file
43        / - start incremental search (RETURN to finish)
44    f/d/s - toggle file/directory/hidden listing
45      n/N - create new file/directory
46        R - rename selected file or directory
47        D - delete selected file or (empty) directory
48        m - toggle mark on the selected entry
49        M - toggle mark on all visible entries
50        a - mark all visible entries
51    X/C/V - delete/copy/move all marked entries
52      0-9 - change tab
53  ```
55 **Important Note**: Currently, Rover never asks for confirmation before
56 overwriting existing files while copying/moving marked entries. Please be
57 careful to not accidentally lose your data.
60 Requirements
61 ============
63  * Unix-like system;
64  * curses library.
67 Configuration
68 =============
70  Rover configuration (mostly key bindings and colors) can only be changed by
71 editing the file `config.h` and rebuilding the binary.
73  Note that the external programs executed by some Rover commands may be changed
74 via the appropriate environment variables. For example, to specify an editor:
75  ```
76  $ EDITOR=vi rover
77  ```
79  Please read rover(1) for more information.
82 Copying
83 =======
85  All of the source code and documentation for Rover is released into the public
86 domain and provided without warranty of any kind.