diff options
author | hut <hut@lavabit.com> | 2011-09-30 12:10:00 +0200 |
---|---|---|
committer | hut <hut@lavabit.com> | 2011-09-30 16:43:28 +0200 |
commit | f93725f5ff3890c99c65f5fa2998d9eeda6dd16b (patch) | |
tree | 17ea7d9a9057fef6a9d55d00d3fecef9b4391ee6 /ranger/defaults/rc.conf | |
parent | 41df56beff2785174b4b466c8cc39159a79eaedc (diff) | |
download | ranger-f93725f5ff3890c99c65f5fa2998d9eeda6dd16b.tar.gz |
Extended rc.conf
Diffstat (limited to 'ranger/defaults/rc.conf')
-rw-r--r-- | ranger/defaults/rc.conf | 293 |
1 files changed, 276 insertions, 17 deletions
diff --git a/ranger/defaults/rc.conf b/ranger/defaults/rc.conf index 59401e3b..cb90a38f 100644 --- a/ranger/defaults/rc.conf +++ b/ranger/defaults/rc.conf @@ -1,21 +1,280 @@ -# VIM -map x break_shit -map gg eval fm.move(to=0) -map G eval fm.move(to=-1) -map : eval fm.open_console() -map j eval fm.move(down=1) -map k eval fm.move(up=1) -map h eval fm.move(left=1) -map l eval fm.move(right=1) -map q quit +# =================================================================== +# == Define keys for the browser +# =================================================================== + +# Basic map Q quit +map q quit +map ZZ quit +map ZQ quit -cmap <ESC> quit +map R reload_cwd +map <C-r> reset +map <C-l> redraw_window +map H history_go -1 +map L history_go 1 +map <C-c> abort -map R eval fm.reload_cwd() -map <c-r> eval fm.reset() -map <c-l> eval fm.redraw_window() -map H eval fm.history_go(-1) -map L eval fm.history_go(1) -map <c-c> eval fm.abort() +map i display_file map ? help +map W display_log +map w eval fm.ui.open_taskview() +map S shell $SHELL + +map : console +map ; console +map ! console shell +map @ console -p6 shell %s +map # console shell -p +map s console shell +map r console open_with +map f console find +map cd console cd + +# Tagging / Marking +map t tag_toggle +map T tag_remove + +# VIM-like +map gg move to=0 +map G move to=-1 +map j move down=1 +map k move up=1 +map h move left=1 +map l move right=1 +map J move down=0.5 pages=True +map K move up=0.5 pages=True +map <C-d> move down=0.5 pages=True +map <C-u> move up=0.5 pages=True +map <C-f> move down=1 pages=True +map <C-b> move up=1 pages=True + +# For the nostalgics: Midnight Commander bindings +map <F1> help +map <F3> display_file +map <F4> edit +map <F5> copy +map <F6> cut +map <F7> console mkdir +map <F8> console delete seriously? +map <F10> exit + +# In case you work on a keyboard with dvorak layout +map <UP> move down=1 +map <LEFT> move up=1 +map <LEFT> move left=1 +map <RIGHT> move right=1 +map <HOME> move to=0 +map <END> move to=-1 +map <PAGEDOWN> move down=1 pages=True +map <PAGEUP> move up=1 pages=True +map <CR> move right=1 +map <DEL> console delete +map <INS> console touch + +# Jumping around +map ] move_parent 1 +map [ move_parent -1 +map } traverse + +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 gM cd /mnt +map gs cd /srv +map gR eval fm.cd(ranger.RANGERDIR) + +# External Programs +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 shell -d echo -n %d/%f | xsel -i +map yd shell -d echo -n %d | xsel -i +map yn shell -d echo -n %%f | xsel -i + +# Filesystem Operations +map = chmod + +map cw console rename +map A eval fm.open_console('rename ' + fm.env.cf.basename) +map I eval fm.open_console('rename ' + fm.env.cf.basename, position=7) + +map pp paste +map po paste overwrite=True +map pl paste_symlink relative=False +map pL paste_symlink relative=True +map phl paste_hardlink + +map dd cut +map ud uncut +map da cut mode=add +map dr cut mode=remove + +map yy copy +map uy uncut +map ya copy mode=add +map yr copy mode=remove + +# Temporary workarounds +map dgg eval fm.cut(dirarg=dict(to=0)) +map dG eval fm.cut(dirarg=dict(to=-1)) +map dj eval fm.cut(dirarg=dict(down=1)) +map dk eval fm.cut(dirarg=dict(up=1)) +map ygg eval fm.copy(dirarg=dict(to=0)) +map yG eval fm.copy(dirarg=dict(to=-1)) +map yj eval fm.copy(dirarg=dict(down=1)) +map yk eval fm.copy(dirarg=dict(up=1)) + +# Searching +map / console search +map n search_next +map N 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 <C-n> chain tab_new; cd ~ +map <C-w> tab_close +map <TAB> tab_move 1 +map <S-TAB> tab_move -1 +map gn chain tab_new; cd ~ +map gc tab_close +map gt tab_move 1 +map gT tab_move -1 +map <a-1> tab_open 1 +map <a-2> tab_open 2 +map <a-3> tab_open 3 +map <a-4> tab_open 4 +map <a-5> tab_open 5 +map <a-6> tab_open 6 +map <a-7> tab_open 7 +map <a-8> tab_open 8 +map <a-9> tab_open 9 + +# Sorting +map or eval fm.settings.sort_reverse ^= True +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 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 + +# Settings +map zc toggle_option collapse_preview +map zd toggle_option sort_directories_first +map zh toggle_option show_hidden +map <C-h> toggle_option show_hidden +map zi toggle_option flushinput +map zm toggle_option mouse_enabled +map zp toggle_option preview_files +map zP toggle_option preview_directories +map zs toggle_option sort_case_insensitive +map zv toggle_option use_preview_script +map zf console filter + +# Beware. I haven't figured out how to make these keybindings pretty yet: + +# map +ow shell -d chmod o+w (one mapping for each combination) +eval import itertools; [cmd("map +%s%s shell -d chmod %s+%s %%s" % (mode+mode)) for mode in itertools.product("ugoa", "rwxXst")] + +# map -ow shell -d chmod o+w (one mapping for each combination) +eval import itertools; [cmd("map -%s%s shell -d chmod %s-%s %%s" % (mode+mode)) for mode in itertools.product("ugoa", "rwxXst")] + +# map "x tag_toggle tag=x (one mapping for each key) +eval -q [cmd('map "%s eval fm.tag_toggle(tag=chr(%d))' % (chr(s),s)) for s in range(33, 127)] + + +# =================================================================== +# == Define keys for the console +# =================================================================== + +# Basic +cmap <tab> eval fm.ui.console.tab() +cmap <s-tab> eval fm.ui.console.tab(-1) +cmap <C-c> eval fm.ui.console.close() +cmap <C-d> eval fm.ui.console.close() +cmap <ESC> eval fm.ui.console.close() +cmap <CR> eval fm.ui.console.execute() +cmap <C-j> eval fm.ui.console.execute() +cmap <C-l> redraw_window + +# This special expression allows typing in numerals: +cmap <allow_quantifiers> false + +# Move around +cmap <left> eval fm.ui.console.move(left=1) +cmap <right> eval fm.ui.console.move(right=1) +cmap <home> eval fm.ui.console.move(right=0, absolute=True) +cmap <end> eval fm.ui.console.move(right=-1, absolute=True) +cmap <up> eval fm.ui.console.history_move(-1) +cmap <down> eval fm.ui.console.history_move(1) + +# And of course the emacs way +cmap <C-b> eval fm.ui.console.move(left=1) +cmap <C-f> eval fm.ui.console.move(right=1) +cmap <C-a> eval fm.ui.console.move(right=0, absolute=True) +cmap <C-e> eval fm.ui.console.move(right=-1, absolute=True) +cmap <C-p> eval fm.ui.console.history_move(-1) +cmap <C-n> eval fm.ui.console.history_move(1) + +# Line Editing +# Note: There are multiple ways to express backspaces. <backspace> (code 263) +# and <backspace2> (code 127). To be sure, use both. +cmap <backspace> eval fm.ui.console.delete(-1) +cmap <backspace2> eval fm.ui.console.delete(-1) +cmap <delete> eval fm.ui.console.delete(0) +cmap <C-h> eval fm.ui.console.delete(-1) +cmap <C-d> eval fm.ui.console.delete(0) +cmap <C-w> eval fm.ui.console.delete_word() +cmap <C-k> eval fm.ui.console.delete_rest(1) +cmap <C-u> eval fm.ui.console.delete_rest(-1) +cmap <C-y> eval fm.ui.console.paste() + + +# =================================================================== +# == Taskview Keybindings +# =================================================================== + +# Movement +tmap j eval -q fm.ui.taskview.move(down=1) +tmap k eval -q fm.ui.taskview.move(up=1) +tmap gg eval -q fm.ui.taskview.move(down=0, absolute=True) +tmap G eval -q fm.ui.taskview.move(down=-1, absolute=True) +tmap <down> eval -q fm.ui.taskview.move(down=1) +tmap <up> eval -q fm.ui.taskview.move(up=1) +tmap <home> eval -q fm.ui.taskview.move(down=0, absolute=True) +tmap <end> eval -q fm.ui.taskview.move(down=-1, absolute=True) + +# 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 <pagedown> eval -q fm.ui.taskview.task_move(-1) +tmap <pageup> eval -q fm.ui.taskview.task_move(0) +tmap <delete> eval -q fm.ui.taskview.task_remove() + +# A bunch of aliases for closing +tmap w eval -q fm.ui.close_taskview() +tmap q eval -q fm.ui.close_taskview() +tmap Q eval -q fm.ui.close_taskview() +tmap <esc> eval -q fm.ui.close_taskview() +tmap <c-c> eval -q fm.ui.close_taskview() |