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