# allows flipping through current dir in feh set open_all_images true set preview_images true # Requires ueberzug as external dependency set preview_images_method ueberzug # Preview files on the rightmost column? # And collapse (shrink) the last column if there is nothing to preview? set preview_files true set preview_directories true set collapse_preview true # Wrap long lines in plain text previews? set wrap_plaintext_previews true # Save the console history on exit? set save_console_history false set draw_borders none # Display the directory name in tabs? set dirname_in_tabs false # Enable the mouse support? set mouse_enabled false # =================================================================== # == Command Aliases in the Console # =================================================================== alias e edit alias q quit alias q! quit! alias qa quitall alias qa! quitall! alias qall quitall alias qall! quitall! alias setl setlocal alias filter scout -prts alias find scout -aets alias mark scout -mr alias unmark scout -Mr alias search scout -rs alias search_inc scout -rts alias travel scout -aefklst # =================================================================== # == Define keys for the browser # =================================================================== # Basic map Q quitall map q quit copymap q ZZ ZQ map R reload_cwd map F set freeze_files! map reset map redraw_window map abort map change_mode normal map ~ set viewmode! map i display_file map scroll_preview 1 map scroll_preview -1 map ? help map W display_log map w taskview_open map B shell $SHELL map : console map ; console map ! console shell%space map @ console -p6 shell %%s map # console shell -p%space map b console shell%space map r chain draw_possible_programs; console open_with%space map f console find%space map cd console cd%space map chain console; eval fm.ui.console.history_move(-1) # Change the line mode map Mf linemode filename map Mi linemode fileinfo map Mm linemode mtime map Mh linemode humanreadablemtime map Mp linemode permissions map Ms linemode sizemtime map MH linemode sizehumanreadablemtime map Mt linemode metatitle # Tagging / Marking #map t tag_toggle map ut tag_remove map " tag_toggle tag=%any map mark_files toggle=True map v mark_files all=True toggle=True map uv mark_files all=True val=False map V toggle_visual_mode map uV toggle_visual_mode reverse=True # For the nostalgics: Midnight Commander bindings map help map rename_append map display_file map edit map copy map cut map console mkdir%space map console delete #map console trash map exit # In case you work on a keyboard with dvorak layout map move up=1 map move down=1 map move left=1 map move right=1 map move to=0 map move to=-1 map move down=1 pages=True map move up=1 pages=True map move right=1 #map console delete map console touch%space # VIM-like copymap n copymap t copymap h copymap s copymap gg copymap G copymap copymap map T move down=0.5 pages=True map N move up=0.5 pages=True copymap J copymap K # Jumping around map H history_go -1 map S history_go 1 map ] move_parent 1 map [ move_parent -1 map } traverse map { traverse_backwards map ) jump_non map gh cd ~ map ge cd /etc map gu cd /usr map gd cd /dev map gl cd -r . map gL cd -r %f map go cd /opt map gv cd /var map gm cd /media map gi eval fm.cd('/run/media/' + os.getenv('USER')) map gM cd /mnt map gs cd /srv map gp cd /tmp map gr cd / map gR eval fm.cd(ranger.RANGERDIR) map g/ cd / map g? cd /usr/share/doc/ranger # External Programs map E edit map du shell -p du --max-depth=1 -h --apparent-size map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh map yp yank path map yd yank dir map yn yank name map y. yank name_without_extension # Filesystem Operations map = chmod map cw console rename%space map a rename_append map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%")) map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7) map pp paste map po paste overwrite=True map pP paste append=True map pO paste overwrite=True append=True map pl paste_symlink relative=False map pL paste_symlink relative=True map phl paste_hardlink map pht paste_hardlinked_subtree map pd console paste dest= map p` paste dest=%any_path map p' paste dest=%any_path map dD console delete map dT console trash map dd cut map ud uncut map da cut mode=add map dr cut mode=remove map dt cut mode=toggle map yy copy map uy uncut map ya copy mode=add map yr copy mode=remove map yt copy mode=toggle # Temporary workarounds map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier) map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier) map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier) map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier) map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier) map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier) map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier) map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier) # Searching map / console search%space map l search_next map L search_next forward=False map ct search_next order=tag map cs search_next order=size map ci search_next order=mimetype map cc search_next order=ctime map cm search_next order=mtime map ca search_next order=atime # Tabs map tab_new map tab_close map tab_move 1 map tab_move -1 map tab_move 1 map tab_move -1 map gt tab_move 1 map gT tab_move -1 map gn tab_new map gc tab_close map uq tab_restore map tab_open 1 map tab_open 2 map tab_open 3 map tab_open 4 map tab_open 5 map tab_open 6 map tab_open 7 map tab_open 8 map tab_open 9 map tab_shift 1 map tab_shift -1 # Sorting map or set sort_reverse! map oz set sort=random map os chain set sort=size; set sort_reverse=False map ob chain set sort=basename; set sort_reverse=False map on chain set sort=natural; set sort_reverse=False map om chain set sort=mtime; set sort_reverse=False map oc chain set sort=ctime; set sort_reverse=False map oa chain set sort=atime; set sort_reverse=False map ot chain set sort=type; set sort_reverse=False map oe chain set sort=extension; set sort_reverse=False map oS chain set sort=size; set sort_reverse=True map oB chain set sort=basename; set sort_reverse=True map oN chain set sort=natural; set sort_reverse=True map oM chain set sort=mtime; set sort_reverse=True map oC chain set sort=ctime; set sort_reverse=True map oA chain set sort=atime; set sort_reverse=True map oT chain set sort=type; set sort_reverse=True map oE chain set sort=extension; set sort_reverse=True map dc get_cumulative_size # Settings map zc set collapse_preview! map zd set sort_directories_first! map zh set show_hidden! map set show_hidden! copymap copymap map zI set flushinput! map zi set preview_images! map zm set mouse_enabled! map zp set preview_files! map zP set preview_directories! map zs set sort_case_insensitive! map zu set autoupdate_cumulative_size! map zv set use_preview_script! map zf console filter%space copymap zf zz # Filter stack map .d filter_stack add type d map .f filter_stack add type f map .l filter_stack add type l map .m console filter_stack add mime%space map .n console filter_stack add name%space map .# console filter_stack add hash%space map ." filter_stack add duplicate map .' filter_stack add unique map .| filter_stack add or map .& filter_stack add and map .! filter_stack add not map .r filter_stack rotate map .c filter_stack clear map .* filter_stack decompose map .p filter_stack pop map .. filter_stack show # Bookmarks map ` enter_bookmark %any map ' enter_bookmark %any map m set_bookmark %any map um unset_bookmark %any map m draw_bookmarks copymap m um ` ' # Generate all the chmod bindings with some python help: eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg)) eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg)) eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg)) eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg)) eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg)) eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg)) eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg)) eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg)) eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg)) eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg)) # =================================================================== # == Define keys for the console # =================================================================== # Note: Unmapped keys are passed directly to the console. # Basic cmap eval fm.ui.console.tab() cmap eval fm.ui.console.tab(-1) cmap eval fm.ui.console.close() cmap eval fm.ui.console.execute() cmap redraw_window copycmap copycmap # Move around cmap eval fm.ui.console.history_move(-1) cmap eval fm.ui.console.history_move(1) cmap eval fm.ui.console.move(left=1) cmap eval fm.ui.console.move(right=1) cmap eval fm.ui.console.move(right=0, absolute=True) cmap eval fm.ui.console.move(right=-1, absolute=True) cmap eval fm.ui.console.move_word(left=1) cmap eval fm.ui.console.move_word(right=1) copycmap copycmap # Line Editing cmap eval fm.ui.console.delete(-1) cmap eval fm.ui.console.delete(0) cmap eval fm.ui.console.delete_word() cmap eval fm.ui.console.delete_word(backward=False) cmap eval fm.ui.console.delete_rest(1) cmap eval fm.ui.console.delete_rest(-1) cmap eval fm.ui.console.paste() # And of course the emacs way copycmap copycmap copycmap copycmap copycmap copycmap copycmap copycmap copycmap # Note: There are multiple ways to express backspaces. (code 263) # and (code 127). To be sure, use both. copycmap # This special expression allows typing in numerals: cmap false # =================================================================== # == Pager Keybindings # =================================================================== # Movement pmap pager_move down=1 pmap pager_move up=1 pmap pager_move left=4 pmap pager_move right=4 pmap pager_move to=0 pmap pager_move to=-1 pmap pager_move down=1.0 pages=True pmap pager_move up=1.0 pages=True pmap pager_move down=0.5 pages=True pmap pager_move up=0.5 pages=True copypmap n copypmap t copypmap h copypmap s copypmap g copypmap G copypmap d copypmap u copypmap p b # Basic pmap redraw_window pmap pager_close copypmap q Q i pmap E edit_file # =================================================================== # == Taskview Keybindings # =================================================================== # Movement tmap taskview_move up=1 tmap taskview_move down=1 tmap taskview_move to=0 tmap taskview_move to=-1 tmap taskview_move down=1.0 pages=True tmap taskview_move up=1.0 pages=True tmap taskview_move down=0.5 pages=True tmap taskview_move up=0.5 pages=True copytmap k copytmap j copytmap g copytmap G copytmap u copytmap p b # Changing priority and deleting tasks tmap J eval -q fm.ui.taskview.task_move(-1) tmap K eval -q fm.ui.taskview.task_move(0) tmap dd eval -q fm.ui.taskview.task_remove() tmap eval -q fm.ui.taskview.task_move(-1) tmap eval -q fm.ui.taskview.task_move(0) tmap eval -q fm.ui.taskview.task_remove() # Basic tmap redraw_window tmap taskview_close copytmap q Q w