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