Only change scroll if necessary.
[rover.git] / README.md
blob6d6dcffce6b5418a6851166d8870ee1af3ee374f
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        x - 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 Dependencies
61 ============
63  Rover is supposed to run on any Unix-like system with a curses implementation.
64 To build Rover, you need a C compiler and a curses library with the corresponding
65 header file. A makefile is provided, but since all the code is in a single C
66 source file, it shouldn't be hard to build Rover without make(1).
69 Configuration
70 =============
72  By default, rover is installed to `/usr/local/bin/rover`. To change this and other
73 build options, such as the name of the curses library, please edit `Makefile`
74 before executing `make` or specify the options during invocation. For example,
75 to link against `libncurses.so` and install to `/opt/bin/rover`:
76  ```
77  $ make LDLIBS=-lncurses PREFIX=/opt install
78  ```
80  Rover runtime configuration (mostly key bindings and colors) can only be
81 changed by editing the file `config.h` and rebuilding the binary.
83  Note that the external programs executed by some Rover commands may be changed
84 via the appropriate environment variables. For example, to specify an editor:
85  ```
86  $ EDITOR=vi rover
87  ```
89  Please read rover(1) for more information.
92 Copying
93 =======
95  All of the source code and documentation for Rover is released into the public
96 domain and provided without warranty of any kind.