Fix batch progress.
[rover.git] / rover.1
blob0e786fb093b54ab4edeb3269dc541fba684ec0d1
1 .TH ROVER 1 rover\-0.3.0
2 .SH NAME
3 rover \- file browser for the terminal
4 .SH SYNOPSIS
5 .B rover
6 [\fB\-s\fR|\fB\-\-save\-cwd\fR \fIFILE\fR]
7 [\fIDIR\fR [\fIDIR\fR [\fIDIR\fR [...]]]]
8 .br
9 .B rover
10 \fB\-h\fR|\fB\-\-help\fR
11 .br
12 .B rover
13 \fB\-v\fR|\fB\-\-version\fR
14 .SH DESCRIPTION
15 Browse current working directory or the ones specified.
16 .SH OPTIONS
17 .TP
18 \fB\-s\fR, \fB\-\-save\-cwd\fR
19 write last visited path to \fIFILE\fR before exiting
20 .TP
21 \fB\-h\fR, \fB\-\-help\fR
22 print help message and exit
23 .TP
24 \fB\-v\fR, \fB\-\-version\fR
25 print program version and exit
26 .SH CONCEPTS
27 .SS TABS
28 .PP
29 Rover is operated via a tabbed interface. At any given moment, one (and only
30 one) tab is visible on the screen. There are always ten tabs in total, numbered
31 from 0 to 9. The number of the tab currently visible is shown on the top right
32 corner of the screen. To view a different tab, one just needs to press its
33 corresponding number. Each tab has a \fBcurrent working directory\fR (\fBCWD\fR)
34 associated to it, also shown on the top of the screen. The \fBCWD\fR of the
35 visible tab is changed as the user navigates through the file system.
36 .PP
37 It's also possible to set the \fBCWD\fR of tabs at Rover start-up by passing the
38 desired paths as command-line arguments. The tab number 0 always starts at
39 \fB$HOME\fR. If more than nine directories are specified, only the first nine
40 are used for tabs 1\-9 and the rest is ignored. Tabs for which an invalid path
41 were assigned will also start at \fB$HOME\fR. Remaining tabs not specified on
42 the command line start at the current working directory of the parent process.
43 .SS ENTRIES
44 .PP
45 An \fBentry\fR is anything that may be found inside a directory in some file
46 system. It may be a file, a directory, a link, a socket, a FIFO, etc. In its
47 most basic usage, Rover will gather the list of entries inside the \fBCWD\fR
48 and present them on the screen, one per line.
49 .PP
50 There is always one (and only one) highlighted entry visible. This is both the
51 \fBcursor\fR location and the current \fBselection\fR. The highlighting moves as
52 the user navigates the entry list with cursor commands. Simple operations, like
53 entering a subdirectory or renaming a file, are done by first selecting the
54 relevant entry and them issuing the appropriate command (see the \fBCOMMANDS\fR
55 section). For commands that operate on more than one entry at once (batch
56 commands), selection is not sufficient, since it's not possible to select more
57 than one entry. Batch commands are performed on marked entries.
58 .SS MARKS
59 .PP
60 For some file operations, it is convenient to first \fBmark\fR all entries that
61 are to be processed, so that the appropriate command only needs to be issued
62 once. For such purpose, Rover allows an arbitrary number of entries to be
63 marked, with the limitation that they must be all in the same directory.
64 .PP
65 Unlike simple selection, the effect of marks is not constrained by visibility.
66 This is so one can mark a number of entries in some directory, navigate to other
67 directory, and then finally issue a copy or move command. Moreover, marks are
68 shared over all tabs. This allows one to mark some entries in one tab that is
69 pointed to the "source" directory of the operation and then issue the command on
70 another tab that is pointed to the "destination" directory.
71 .SH COMMANDS
72 .TP
73 .B q
74 Quit rover.
75 .TP
76 .B j/k
77 Move cursor down/up.
78 .TP
79 .B J/K
80 Move cursor down/up 10 lines.
81 .TP
82 .B g/G
83 Move cursor to top/bottom of listing.
84 .TP
85 .B l
86 Enter selected directory.
87 .TP
88 .B h
89 Go to parent directory.
90 .TP
91 .B H
92 Go to \fB$HOME\fR directory.
93 .TP
94 .B r
95 Refresh directory listing.
96 .TP
97 .B <RETURN>
98 Open \fB$SHELL\fR on the current directory.
99 .TP
100 .B <SPACE>
101 Open \fB$PAGER\fR with the selected file.
103 .B e
104 Open \fB$EDITOR\fR with the selected file.
106 .B /
107 Start incremental search.
109 .B f/d/s
110 Toggle file/directory/hidden listing.
112 .B n/N
113 Create new file/directory.
115 .B R
116 Rename selected file or directory.
118 .B D
119 Delete selected file or (empty) directory.
121 .B m
122 Toggle mark on the selected entry.
124 .B M
125 Toggle mark on all visible entries.
127 .B a
128 Mark all visible entries.
130 .B X/C/V
131 Delete/copy/move all marked entries.
133 .B 0-9
134 Change tab.
135 .SH LINE EDITING
137 Some commands will prompt for an input string. For example, in order to rename a
138 file, the user must supply the new name. This string will appear at the bottom
139 of the screen and must be edited interactively using the keyboard. Printable
140 keys will insert characters at the cursor position. The following shortcuts are
141 available for line editing:
143 .B <TAB>
144 Finish editing and \fBcancel\fR command.
146 .B <RETURN>
147 Finish editing and \fBconfirm\fR command.
149 .B <LEFT>/<RIGHT>
150 Move insertion cursor left/right.
152 .B <UP>/<DOWN>
153 Move insertion cursor to beginning/end of string.
155 .B <BACKSPACE>
156 Remove one character before cursor.
158 .B <DELETE>
159 Remove one character after cursor.
161 .B <CONTROL>+u
162 Clear line (remove all characters).
163 .SH ENVIRONMENT VARIABLES
165 .B HOME
166 Full path of the home directory.
168 .B PATH
169 Colon\-separated path list for program directories.
171 .B SHELL
172 Name of shell program (e.g. \fI/bin/sh\fP).
174 .B PAGER
175 Name of pager program (e.g. \fIless\fP).
177 .B EDITOR
178 Name of editor program (e.g. \fIvim\fP or \fIemacs\fP).
180 .B RVSEL
181 Rover writes the name of the selected entry to this variable before running a
182 subprocess. This allows one to use the selection as part of an arbitrary command
183 by first invoking a shell from Rover (see the \fBCOMMANDS\fR section) and then
184 typing something like \fBgrep abc "$RVSEL"\fR.
185 .SH CONFIGURATION
187 If you want to change Rover key bindings or colors, you can edit the
188 \fIconfig.h\fP file in the source distribution and recompile the program. Rover
189 will not use or create any external file during its execution, except when asked
190 to do so by user commands.
191 .SH NOTES
193 \fBImportant\fR: Currently, Rover never asks for confirmation before overwriting
194 existing files while copying/moving marked entries. Please be careful to not
195 accidentally lose your data.
196 .SH LINKS
197 Rover homepage: <https://github.com/lecram/rover>.
198 .SH SEE ALSO
199 \fBmc(1)\fR, \fBvifm(1)\fR, \fBranger(1)\fR