]> git.rmz.io Git - dotfiles.git/blob - ranger/rc.conf
ranger: use ueberzug for image previews
[dotfiles.git] / ranger / rc.conf
1 # ===================================================================
2 # This file contains the default startup commands for ranger.
3 # To change them, it is recommended to create the file
4 # ~/.config/ranger/rc.conf and add your custom commands there.
5 #
6 # If you copy this whole file there, you may want to set the environment
7 # variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice.
8 #
9 # The purpose of this file is mainly to define keybindings and settings.
10 # For running more complex python code, please create a plugin in "plugins/" or
11 # a command in "commands.py".
12 #
13 # Each line is a command that will be run before the user interface
14 # is initialized. As a result, you can not use commands which rely
15 # on the UI such as :delete or :mark.
16 # ===================================================================
17
18 # ===================================================================
19 # == Options
20 # ===================================================================
21
22 # How many columns are there, and what are their relative widths?
23 #set column_ratios 1,3,4
24
25 # Which files should be hidden? (regular expression)
26 set hidden_filter ^\.|^lost\+found$
27
28 # Show hidden files? You can toggle this by typing 'zh'
29 #set show_hidden false
30
31 # Ask for a confirmation when running the "delete" command?
32 # Valid values are "always" (default), "never", "multiple"
33 # With "multiple", ranger will ask only if you delete multiple files at once.
34 set confirm_on_delete multiple
35
36 # Which script is used to generate file previews?
37 # ranger ships with scope.sh, a script that calls external programs (see
38 # README for dependencies) to preview images, archives, etc.
39 set preview_script ~/.config/ranger/scope.sh
40
41 # Use the external preview script or display simple plain text previews?
42 set use_preview_script true
43
44 # Open all images in this directory when running certain image viewers
45 # like feh or sxiv? You can still open selected files by marking them.
46 set open_all_images true
47
48 # Be aware of version control systems and display information.
49 set vcs_aware true
50
51 # State of the three backends git, hg, bzr. The possible states are
52 # disabled, local (only show local info), enabled (show local and remote
53 # information).
54 #set vcs_backend_git enabled
55 #set vcs_backend_hg disabled
56 #set vcs_backend_bzr disabled
57
58 # Preview images in full color with the external command "w3mimgpreview"?
59 # This requires the console web browser "w3m" and a supported terminal.
60 # It has been successfully tested with "xterm" and "urxvt" without tmux.
61 # Does not work in urxvt with 32bit colordepth, tradeoff between preview
62 # and transparency.
63 set preview_images true
64 set preview_images_method ueberzug
65
66 # Use a unicode "..." character to mark cut-off filenames?
67 set unicode_ellipsis true
68
69 # Show dotfiles in the bookmark preview box?
70 #set show_hidden_bookmarks true
71
72 # Which colorscheme to use? These colorschemes are available by default:
73 # default, jungle, snow
74 set colorscheme custom
75
76 # Preview files on the rightmost column?
77 # And collapse (shrink) the last column if there is nothing to preview?
78 #set preview_files true
79 #set preview_directories true
80 #set collapse_preview true
81
82 # Save the console history on exit?
83 #set save_console_history true
84
85 # Draw the status bar on top of the browser window (default: bottom)
86 #set status_bar_on_top false
87
88 # Draw a progress bar in the status bar which displays the average state of all
89 # currently running tasks which support progress bars?
90 #set draw_progress_bar_in_status_bar true
91
92 # Draw borders around columns?
93 set draw_borders true
94
95 # Display the directory name in tabs?
96 set dirname_in_tabs true
97
98 # Enable the mouse support?
99 #set mouse_enabled true
100
101 # Display the file size in the main column or status bar?
102 #set display_size_in_main_column true
103 #set display_size_in_status_bar true
104
105 # Display files tags in all columns or only in main column?
106 #set display_tags_in_all_columns true
107
108 # Set a title for the window?
109 set update_title true
110
111 # Set the title to "ranger" in the tmux program?
112 #set update_tmux_title false
113
114 # Shorten the title if it gets long? The number defines how many
115 # directories are displayed at once, 0 turns off this feature.
116 #set shorten_title 3
117
118 # Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
119 set tilde_in_titlebar true
120
121 # How many directory-changes or console-commands should be kept in history?
122 set max_history_size 2000
123 set max_console_history_size 5000
124
125 # Try to keep so much space between the top/bottom border when scrolling:
126 #set scroll_offset 8
127
128 # Flush the input after each key hit? (Noticable when ranger lags)
129 #set flushinput true
130
131 # Padding on the right when there's no preview?
132 # This allows you to click into the space to run the file.
133 set padding_right false
134
135 # Save bookmarks (used with mX and `X) instantly?
136 # This helps to synchronize bookmarks between multiple ranger
137 # instances but leads to *slight* performance loss.
138 # When false, bookmarks are saved when ranger is exited.
139 #set autosave_bookmarks true
140
141 # You can display the "real" cumulative size of directories by using the
142 # command :get_cumulative_size or typing "dc". The size is expensive to
143 # calculate and will not be updated automatically. You can choose
144 # to update it automatically though by turning on this option:
145 set autoupdate_cumulative_size false
146
147 # Turning this on makes sense for screen readers:
148 #set show_cursor false
149
150 # One of: size, basename, mtime, type
151 #set sort natural
152
153 # Additional sorting options
154 #set sort_reverse false
155 #set sort_case_insensitive true
156 set sort_directories_first false
157
158 # Enable this if key combinations with the Alt Key don't work for you.
159 # (Especially on xterm)
160 #set xterm_alt_key false
161
162 # ===================================================================
163 # == Local Options
164 # ===================================================================
165 # You can set local options that only affect a single directory.
166
167 # Examples:
168 setlocal path=~/downloads sort mtime
169
170 # ===================================================================
171 # == Command Aliases in the Console
172 # ===================================================================
173
174 #alias e edit
175 #alias q quit
176 #alias q! quitall
177 #alias qall quitall
178 #alias setl setlocal
179
180 #alias filter scout -prt
181 #alias find scout -aet
182 #alias mark scout -mr
183 #alias unmark scout -Mr
184 #alias search scout -rs
185 #alias search_inc scout -rts
186 #alias travel scout -aefiklst
187
188 # ===================================================================
189 # == Define keys for the browser
190 # ===================================================================
191
192 # Basic
193 #map Q quit!
194 #map q quit
195 #copymap q ZZ ZQ
196
197 #map R reload_cwd
198 #map <C-r> reset
199 #map <C-l> redraw_window
200 #map <C-c> abort
201 #map <esc> change_mode normal
202
203 #map i display_file
204 #map ? help
205 #map W display_log
206 #map w taskview_open
207 #map S shell $SHELL
208
209 #map : console
210 #map ; console
211 #map ! console shell
212 #map @ console -p6 shell %%s
213 #map # console shell -p
214 #map s console shell
215 #map r chain draw_possible_programs; console open_with
216 #map f console find
217 #map cd console cd
218
219 # Tagging / Marking
220 #map t tag_toggle
221 #map ut tag_remove
222 #map "<any> tag_toggle tag=%any
223 #map <Space> mark_files toggle=True
224 #map v mark_files all=True toggle=True
225 #map uv mark_files all=True val=False
226 #map V toggle_visual_mode
227 #map uV toggle_visual_mode reverse=True
228
229 # For the nostalgics: Midnight Commander bindings
230 #map <F1> help
231 #map <F3> display_file
232 #map <F4> edit
233 #map <F5> copy
234 #map <F6> cut
235 #map <F7> console mkdir
236 #map <F8> console delete
237 #map <F10> exit
238
239 # In case you work on a keyboard with dvorak layout
240 #map <UP> move up=1
241 #map <DOWN> move down=1
242 #map <LEFT> move left=1
243 #map <RIGHT> move right=1
244 #map <HOME> move to=0
245 #map <END> move to=-1
246 #map <PAGEDOWN> move down=1 pages=True
247 #map <PAGEUP> move up=1 pages=True
248 #map <CR> move right=1
249 #map <DELETE> console delete
250 #map <INSERT> console touch
251
252 # VIM-like
253 #copymap <UP> k
254 #copymap <DOWN> j
255 #copymap <LEFT> h
256 #copymap <RIGHT> l
257 #copymap <HOME> gg
258 #copymap <END> G
259 #copymap <PAGEDOWN> <C-F>
260 #copymap <PAGEUP> <C-B>
261
262 #map J move down=0.5 pages=True
263 #map K move up=0.5 pages=True
264 #copymap J <C-D>
265 #copymap K <C-U>
266
267 # Jumping around
268 #map H history_go -1
269 #map L history_go 1
270 #map ] move_parent 1
271 #map [ move_parent -1
272 #map } traverse
273
274 #map gh cd ~
275 #map ge cd /etc
276 #map gu cd /usr
277 #map gd cd /dev
278 #map gl cd -r .
279 #map gL cd -r %f
280 #map go cd /opt
281 #map gv cd /var
282 #map gm cd /media
283 #map gM cd /mnt
284 #map gs cd /srv
285 #map gr cd /
286 #map gR eval fm.cd(ranger.RANGERDIR)
287 #map g/ cd /
288 #map g? cd /usr/share/doc/ranger
289
290 # External Programs
291 #map E edit
292 #map du shell -p du --max-depth=1 -h --apparent-size
293 #map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
294 #map yp shell -d echo -n %d/%f | xsel -i
295 #map yd shell -d echo -n %d | xsel -i
296 #map yn shell -d echo -n %f | xsel -i
297
298 # Filesystem Operations
299 #map = chmod
300
301 #map cw console rename
302 #map A eval fm.open_console('rename ' + fm.thisfile.basename)
303 #map I eval fm.open_console('rename ' + fm.thisfile.basename, position=7)
304
305 #map pp paste
306 #map po paste overwrite=True
307 #map pl paste_symlink relative=False
308 #map pL paste_symlink relative=True
309 #map phl paste_hardlink
310 #map pht paste_hardlinked_subtree
311
312 #map dd cut
313 #map ud uncut
314 #map da cut mode=add
315 #map dr cut mode=remove
316
317 #map yy copy
318 #map uy uncut
319 #map ya copy mode=add
320 #map yr copy mode=remove
321
322 # Temporary workarounds
323 #map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
324 #map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
325 #map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
326 #map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
327 #map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
328 #map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
329 #map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
330 #map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
331
332 # Searching
333 #map / console search
334 #map n search_next
335 #map N search_next forward=False
336 #map ct search_next order=tag
337 #map cs search_next order=size
338 #map ci search_next order=mimetype
339 #map cc search_next order=ctime
340 #map cm search_next order=mtime
341 #map ca search_next order=atime
342
343 # Tabs
344 #map <C-n> tab_new ~
345 #map <C-w> tab_close
346 #map <TAB> tab_move 1
347 #map <S-TAB> tab_move -1
348 #map <A-Right> tab_move 1
349 #map <A-Left> tab_move -1
350 #map gt tab_move 1
351 #map gT tab_move -1
352 map gn tab_new
353 #map gc tab_close
354 #map uq tab_restore
355 map <a-!> tab_open 1
356 map <a-@> tab_open 2
357 map <a-#> tab_open 3
358 map <a-$> tab_open 4
359 map <a-%> tab_open 5
360 map <a-^> tab_open 6
361 map <a-&> tab_open 7
362 map <a-*> tab_open 8
363 map <a-(> tab_open 9
364
365 # Sorting
366 map or toggle_option sort_reverse
367 map os chain setlocal sort=size; setlocal sort_reverse=False
368 map ob chain setlocal sort=basename; setlocal sort_reverse=False
369 map on chain setlocal sort=natural; setlocal sort_reverse=False
370 map om chain setlocal sort=mtime; setlocal sort_reverse=False
371 map oc chain setlocal sort=ctime; setlocal sort_reverse=False
372 map oa chain setlocal sort=atime; setlocal sort_reverse=False
373 map ot chain setlocal sort=type; setlocal sort_reverse=False
374
375 map oS chain setlocal sort=size; setlocal sort_reverse=True
376 map oB chain setlocal sort=basename; setlocal sort_reverse=True
377 map oN chain setlocal sort=natural; setlocal sort_reverse=True
378 map oM chain setlocal sort=mtime; setlocal sort_reverse=True
379 map oC chain setlocal sort=ctime; setlocal sort_reverse=True
380 map oA chain setlocal sort=atime; setlocal sort_reverse=True
381 map oT chain setlocal sort=type; setlocal sort_reverse=True
382
383 map Or toggle_option sort_reverse
384 map Os chain set sort=size; set sort_reverse=False
385 map Ob chain set sort=basename; set sort_reverse=False
386 map On chain set sort=natural; set sort_reverse=False
387 map Om chain set sort=mtime; set sort_reverse=False
388 map Oc chain set sort=ctime; set sort_reverse=False
389 map Oa chain set sort=atime; set sort_reverse=False
390 map Ot chain set sort=type; set sort_reverse=False
391
392 map OS chain set sort=size; set sort_reverse=True
393 map OB chain set sort=basename; set sort_reverse=True
394 map ON chain set sort=natural; set sort_reverse=True
395 map OM chain set sort=mtime; set sort_reverse=True
396 map OC chain set sort=ctime; set sort_reverse=True
397 map OA chain set sort=atime; set sort_reverse=True
398 map OT chain set sort=type; set sort_reverse=True
399
400 #map dc get_cumulative_size
401
402 # Settings
403 #map zc toggle_option collapse_preview
404 #map zd toggle_option sort_directories_first
405 #map zh toggle_option show_hidden
406 #map <C-h> toggle_option show_hidden
407 #map zi toggle_option flushinput
408 #map zm toggle_option mouse_enabled
409 #map zp toggle_option preview_files
410 #map zP toggle_option preview_directories
411 #map zs toggle_option sort_case_insensitive
412 #map zu toggle_option autoupdate_cumulative_size
413 #map zv toggle_option use_preview_script
414 #map zf console filter
415
416 # Bookmarks
417 #map `<any> enter_bookmark %any
418 #map '<any> enter_bookmark %any
419 #map m<any> set_bookmark %any
420 #map um<any> unset_bookmark %any
421
422 #map m<bg> draw_bookmarks
423 #copymap m<bg> um<bg> `<bg> '<bg>
424
425 # Generate all the chmod bindings with some python help:
426 #eval for arg in "rwxXst": cmd("map +u{0} shell -d chmod u+{0} %s".format(arg))
427 #eval for arg in "rwxXst": cmd("map +g{0} shell -d chmod g+{0} %s".format(arg))
428 #eval for arg in "rwxXst": cmd("map +o{0} shell -d chmod o+{0} %s".format(arg))
429 #eval for arg in "rwxXst": cmd("map +a{0} shell -d chmod a+{0} %s".format(arg))
430 #eval for arg in "rwxXst": cmd("map +{0} shell -d chmod u+{0} %s".format(arg))
431
432 #eval for arg in "rwxXst": cmd("map -u{0} shell -d chmod u-{0} %s".format(arg))
433 #eval for arg in "rwxXst": cmd("map -g{0} shell -d chmod g-{0} %s".format(arg))
434 #eval for arg in "rwxXst": cmd("map -o{0} shell -d chmod o-{0} %s".format(arg))
435 #eval for arg in "rwxXst": cmd("map -a{0} shell -d chmod a-{0} %s".format(arg))
436 #eval for arg in "rwxXst": cmd("map -{0} shell -d chmod u-{0} %s".format(arg))
437
438 # ===================================================================
439 # == Define keys for the console
440 # ===================================================================
441 # Note: Unmapped keys are passed directly to the console.
442
443 # Basic
444 #cmap <tab> eval fm.ui.console.tab()
445 #cmap <s-tab> eval fm.ui.console.tab(-1)
446 #cmap <ESC> eval fm.ui.console.close()
447 #cmap <CR> eval fm.ui.console.execute()
448 #cmap <C-l> redraw_window
449
450 #copycmap <ESC> <C-c>
451 #copycmap <CR> <C-j>
452
453 # Move around
454 #cmap <up> eval fm.ui.console.history_move(-1)
455 #cmap <down> eval fm.ui.console.history_move(1)
456 #cmap <left> eval fm.ui.console.move(left=1)
457 #cmap <right> eval fm.ui.console.move(right=1)
458 #cmap <home> eval fm.ui.console.move(right=0, absolute=True)
459 #cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
460
461 # Line Editing
462 #cmap <backspace> eval fm.ui.console.delete(-1)
463 #cmap <delete> eval fm.ui.console.delete(0)
464 #cmap <C-w> eval fm.ui.console.delete_word()
465 #cmap <C-k> eval fm.ui.console.delete_rest(1)
466 #cmap <C-u> eval fm.ui.console.delete_rest(-1)
467 #cmap <C-y> eval fm.ui.console.paste()
468
469 # And of course the emacs way
470 #copycmap <up> <C-p>
471 #copycmap <down> <C-n>
472 #copycmap <left> <C-b>
473 #copycmap <right> <C-f>
474 #copycmap <home> <C-a>
475 #copycmap <end> <C-e>
476 #copycmap <delete> <C-d>
477 #copycmap <backspace> <C-h>
478
479 # Note: There are multiple ways to express backspaces. <backspace> (code 263)
480 # and <backspace2> (code 127). To be sure, use both.
481 #copycmap <backspace> <backspace2>
482
483 # This special expression allows typing in numerals:
484 #cmap <allow_quantifiers> false
485
486 # ===================================================================
487 # == Pager Keybindings
488 # ===================================================================
489
490 # Movement
491 #pmap <down> pager_move down=1
492 #pmap <up> pager_move up=1
493 #pmap <left> pager_move left=4
494 #pmap <right> pager_move right=4
495 #pmap <home> pager_move to=0
496 #pmap <end> pager_move to=-1
497 #pmap <pagedown> pager_move down=1.0 pages=True
498 #pmap <pageup> pager_move up=1.0 pages=True
499 #pmap <C-d> pager_move down=0.5 pages=True
500 #pmap <C-u> pager_move up=0.5 pages=True
501
502 #copypmap <UP> k <C-p>
503 #copypmap <DOWN> j <C-n> <CR>
504 #copypmap <LEFT> h
505 #copypmap <RIGHT> l
506 #copypmap <HOME> g
507 #copypmap <END> G
508 #copypmap <C-d> d
509 #copypmap <C-u> u
510 #copypmap <PAGEDOWN> n f <C-F> <Space>
511 #copypmap <PAGEUP> p b <C-B>
512
513 # Basic
514 #pmap <ESC> pager_close
515 #copypmap <ESC> q Q i <F3>
516 #pmap E edit_file
517
518 # ===================================================================
519 # == Taskview Keybindings
520 # ===================================================================
521
522 # Movement
523 #tmap <up> taskview_move up=1
524 #tmap <down> taskview_move down=1
525 #tmap <home> taskview_move to=0
526 #tmap <end> taskview_move to=-1
527 #tmap <pagedown> taskview_move down=1.0 pages=True
528 #tmap <pageup> taskview_move up=1.0 pages=True
529 #tmap <C-d> taskview_move down=0.5 pages=True
530 #tmap <C-u> taskview_move up=0.5 pages=True
531
532 #copytmap <UP> k <C-p>
533 #copytmap <DOWN> j <C-n> <CR>
534 #copytmap <HOME> g
535 #copytmap <END> G
536 #copytmap <C-u> u
537 #copytmap <PAGEDOWN> n f <C-F> <Space>
538 #copytmap <PAGEUP> p b <C-B>
539
540 # Changing priority and deleting tasks
541 #tmap J eval -q fm.ui.taskview.task_move(-1)
542 #tmap K eval -q fm.ui.taskview.task_move(0)
543 #tmap dd eval -q fm.ui.taskview.task_remove()
544 #tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
545 #tmap <pageup> eval -q fm.ui.taskview.task_move(0)
546 #tmap <delete> eval -q fm.ui.taskview.task_remove()
547
548 # Basic
549 #tmap <ESC> taskview_close
550 #copytmap <ESC> q Q w <C-c>