1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
|
module Fm
def self.get_help()
helptext = <<END
key:
Press a key to view the topic:
? quick summary
m basic movement and control
g quickly switching directories
f filtering and searching
l running files in different ways
c creating, deleting, moving, copying
o more commands that don't fit elsewhere
z switching to the PWD after exiting ranger
To interrupt current operations: <Ctrl-C>
To quit: Q or ZZ or <Ctrl-D> or <Ctrl-C><Ctrl-C> (quickly twice in a row)
And always take care of which keys you press. This tool not only
makes it easy to access files but also to destroy them.
key:?
Movement: h,j,k,l or arrow-keys
Run file or enter dir: l or RIGHT or ENTER
Move 1 directory back: h or LEFT or BACKSPACE
R: Refresh the view <Ctrl-R>: Reload everything
Space: Mark a file. v: Reverse markings. V: Clear markings
Bookmark directories with mX and re-enter them with 'X
To search, type / or f followed by the text
If you use f, the first non-ambiguous match will be entered/run
mkdir<name> or touch<name> to create dirs or files
move file to ~/.trash: dd
delete file forever: dfd
delete whole dir forever: delete
copy file: cp or yy
cut file: cut
paste file: p
move/rename: mv<name> or cw<name>
key:m
R refresh the view
<Ctrl-R> completely reloads the file memory
k or UP move 1 item up
j or DOWN move 1 item down
K move half the screen up
J move half the screen down
PAGE UP move the whole screen up
PAGE DOWN move the whole screen down
HOME or gg move to the top
END or G move to the bottom
h or LEFT or BACKSPACE move one directory back
l or RIGHT or ENTER enter the directory or run the file.
H like h, but if if pwd is on a symlink,
you get to the original location
key:g
m<key> bookmark this directory
um<key> un-marks the specified bookmark
' shows an overview of all bookmarks
'<key> re-enter bookmarked directory.
TAB equivalent to ''
the quote ', backquote ` and the command "go" do the same
g0 go to /
gu go to /usr/
gm go to /media/
gn go to /mnt/
ge go to /etc/
gs go to /srv/
gh go to ~/
gt go to ~/.trash/
all of this commands, and also quitting the program, will save
the old directory at ` so you can re-enter it by typing `` or '' or TAB
key:f
/<expr> Search for a "regular expression"
f<expr> Like / but enters/runs the first non-ambiguous match
F<expr> Shows only files which match the regular expression.
n or N goes to the next or previous match.
if you search for nothing, n goes to the newest file.
What is a regular expression:
A very flexible way of defining patterns in text. By writing
Special characters, you can specify what to search:
. matches any character
\\d matches any digit
\\w matches any letter (ascii)
\\s matches any whitespace
| either the preceding or next expression may match
{m,n} at least m and at most n repetitions of the preceding
* zero or more repetitions of the preceding
+ one or more repetitions of the preceding
? at most one repetition of the preceding
^ or $ the beginning or the end of the string
More at: http://www.ruby-doc.org/docs/UsersGuide/rg/regexp.html
If you're just searching or a simple string, it's usually enough to write
it down. To escape the special characters, precede them with a \\
key:l
Space: Mark a file. v: Reverse markings V: Clear markings
l or RIGHT Enter the directory or run the file in mode 0, flag "a"
L Run in a different way: mode 1, no flags
r<n><f>r Run with mode <n> and flags <f>. example: r3adr
Default mode: 0, default flags: no flags at all
What are flags:
Letters that specify details on how ranger should run the program.
Capital letters reverse the function. use as many flags as you want.
a Run the selection rather than just the highlighted file
t Run in a detached terminal (implies d)
d or e Run as a detached process inside the current terminal
w Wait for a <enter> after execution of the programm
What are modes:
A number from 0 to infinity that specifies what shell command should
be executed, since most file types have different ways to be run.
You can set up the commands for each type in the file ranger/data/apps.rb
key:c
the word "selection" means
if you marked something: all marked items and NOT the highlighted item
otherwise: the selected item.
mkdir<name> creates directory
touch<name> creates file
yy or cp Memorize selection
cut like cp, but move instead of copy if "p" is pressed
p Copy memorized files here.
o<key> Copy selection to the bookmarked dir (see ?g)
use deleteing commands with caution!
dd: Move selection to ~/.trash and memorize it's new path
(so it can be pasted with p)
dfd: Deletes the selection or empty directory
delete: Remove whole selection with all contents
mv<name>: move/rename file to <name>
cw<name>: same as mv
A: write "cw <name of current file>" to the key buffer
key:o
t Toggle Option
S Change Sorting
E Edit file
s Enter Shell
!<command> Executes command
!!<command> Executes command and waits for enter-press afterwards
term Runs a detached terminal in the current directory
block Blocks the program, until you write: stop
- or = decreases or increases audio volume (alsa)
key:z
One possible use of ranger is navigating quickly to a directory,
exit ranger, return to the shell but stay at the location where you
left with ranger.
To use this feature, do the following:
1. enter this line into your ~/.bashrc (if you use bash. other
shells should be similar):
alias ranger='cd "`/path/to/ranger --cd 3>&1 1>&2`"'
2. reload your bashrc by typing:
source ~/.bashrc
3. type in ranger, navigate and quit. in bash, you should still
be in the directory where you left with ranger.
The --cd switch writes the pwd to the 3rd file descriptor on exit,
the cd command will read from it and change the dir accordingly.
If you decide that you don't want to change the directory after all,
you can toggle the --cd switch inside ranger by typing tc.
Also, typing ZX quits ranger with the --cd switch inverted.
END
hash = {}
current = nil
helptext.gsub("\t", " ").each_line do |l|
if l =~ /^\s*key:(.*)$/
current = hash[$1] = ""
elsif current
current << l
end
end
return hash
end
HELP = get_help
end
|