summary refs log tree commit diff stats
path: root/examples/rc_emacs.conf
diff options
context:
space:
mode:
authorhut <hut@lepus.uberspace.de>2015-05-04 01:52:50 +0200
committerhut <hut@lepus.uberspace.de>2015-05-04 01:58:41 +0200
commit4a6b56581df93c71a0135f868055aa664cba782a (patch)
tree6ca135b02f374ea894c74708e0c25a5d935d38f5 /examples/rc_emacs.conf
parentfe459089fa965a58a863badbd093cc3fde03e3dc (diff)
downloadranger-4a6b56581df93c71a0135f868055aa664cba782a.tar.gz
added examples/rc_emacs.conf
Diffstat (limited to 'examples/rc_emacs.conf')
-rw-r--r--examples/rc_emacs.conf533
1 files changed, 533 insertions, 0 deletions
diff --git a/examples/rc_emacs.conf b/examples/rc_emacs.conf
new file mode 100644
index 00000000..aab083f4
--- /dev/null
+++ b/examples/rc_emacs.conf
@@ -0,0 +1,533 @@
+# ===================================================================
+# Compatible since ranger 1.7.0
+#
+# By copying this file to ~/.config/ranger/rc.conf, ranger will be
+# controllable with emacs-like key bindings.
+#
+# While this works well in combination with the default VIM-like key bindings,
+# you may want to disable them by setting the environment variable
+# RANGER_LOAD_DEFAULT_RC to FALSE.  For example by adding this to your
+# ~/.bashrc (if you use bash):
+#
+# export RANGER_LOAD_DEFAULT_RC=FALSE
+#
+# Each line is a command that will be run before the user interface
+# is initialized.  As a result, you can not use commands which rely
+# on the UI such as :delete or :mark.
+# ===================================================================
+
+# ===================================================================
+# == Options
+# ===================================================================
+
+# How many columns are there, and what are their relative widths?
+set column_ratios 1,3,4
+
+# Which files should be hidden? (regular expression)
+set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
+
+# Show hidden files? You can toggle this by typing 'zh'
+set show_hidden false
+
+# Ask for a confirmation when running the "delete" command?
+# Valid values are "always", "never", "multiple" (default)
+# With "multiple", ranger will ask only if you delete multiple files at once.
+set confirm_on_delete multiple
+
+# Which script is used to generate file previews?
+# ranger ships with scope.sh, a script that calls external programs (see
+# README.md for dependencies) to preview images, archives, etc.
+set preview_script ~/.config/ranger/scope.sh
+
+# Use the external preview script or display simple plain text or image previews?
+set use_preview_script true
+
+# Automatically count files in the directory, even before entering them?
+set automatically_count_files true
+
+# Open all images in this directory when running certain image viewers
+# like feh or sxiv?  You can still open selected files by marking them.
+set open_all_images true
+
+# Be aware of version control systems and display information.
+set vcs_aware false
+
+# State of the three backends git, hg, bzr. The possible states are
+# disabled, local (only show local info), enabled (show local and remote
+# information).
+set vcs_backend_git enabled
+set vcs_backend_hg disabled
+set vcs_backend_bzr disabled
+
+# Use one of the supported image preview protocols
+set preview_images false
+
+# Set the preview image method. Supported methods:
+#
+# * w3m (default):
+#   Preview images in full color with the external command "w3mimgpreview"?
+#   This requires the console web browser "w3m" and a supported terminal.
+#   It has been successfully tested with "xterm" and "urxvt" without tmux.
+#
+# * iterm2:
+#   Preview images in full color using iTerm2 image previews
+#   (http://iterm2.com/images.html). This requires using iTerm2 compiled
+#   with image preview support.
+set preview_images_method w3m
+
+# Use a unicode "..." character to mark cut-off filenames?
+set unicode_ellipsis false
+
+# Show dotfiles in the bookmark preview box?
+set show_hidden_bookmarks true
+
+# Which colorscheme to use?  These colorschemes are available by default:
+# default, jungle, snow, solarized
+set colorscheme default
+
+# 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
+
+# Save the console history on exit?
+set save_console_history true
+
+# Draw the status bar on top of the browser window (default: bottom)
+set status_bar_on_top false
+
+# Draw a progress bar in the status bar which displays the average state of all
+# currently running tasks which support progress bars?
+set draw_progress_bar_in_status_bar true
+
+# Draw borders around columns?
+set draw_borders false
+
+# Display the directory name in tabs?
+set dirname_in_tabs false
+
+# Enable the mouse support?
+set mouse_enabled true
+
+# Display the file size in the main column or status bar?
+set display_size_in_main_column true
+set display_size_in_status_bar true
+
+# Display files tags in all columns or only in main column?
+set display_tags_in_all_columns true
+
+# Set a title for the window?
+set update_title false
+
+# Set the title to "ranger" in the tmux program?
+set update_tmux_title false
+
+# Shorten the title if it gets long?  The number defines how many
+# directories are displayed at once, 0 turns off this feature.
+set shorten_title 3
+
+# Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
+set tilde_in_titlebar false
+
+# How many directory-changes or console-commands should be kept in history?
+set max_history_size 20
+set max_console_history_size 50
+
+# Try to keep so much space between the top/bottom border when scrolling:
+set scroll_offset 8
+
+# Flush the input after each key hit?  (Noticable when ranger lags)
+set flushinput true
+
+# Padding on the right when there's no preview?
+# This allows you to click into the space to run the file.
+set padding_right true
+
+# Save bookmarks (used with mX and `X) instantly?
+# This helps to synchronize bookmarks between multiple ranger
+# instances but leads to *slight* performance loss.
+# When false, bookmarks are saved when ranger is exited.
+set autosave_bookmarks true
+
+# You can display the "real" cumulative size of directories by using the
+# command :get_cumulative_size or typing "dc".  The size is expensive to
+# calculate and will not be updated automatically.  You can choose
+# to update it automatically though by turning on this option:
+set autoupdate_cumulative_size false
+
+# Turning this on makes sense for screen readers:
+set show_cursor false
+
+# One of: size, natural, basename, atime, ctime, mtime, type, random
+set sort natural
+
+# Additional sorting options
+set sort_reverse false
+set sort_case_insensitive true
+set sort_directories_first true
+set sort_unicode false
+
+# Enable this if key combinations with the Alt Key don't work for you.
+# (Especially on xterm)
+set xterm_alt_key false
+
+# Whether to include bookmarks in cd command
+set cd_bookmarks true
+
+# Avoid previewing files larger than this size, in bytes.  Use a value of 0 to
+# disable this feature.
+set preview_max_size 0
+
+# Add the highlighted file to the path in the titlebar
+set show_selection_in_titlebar true
+
+# The delay that ranger idly waits for user input, in milliseconds, with a
+# resolution of 100ms.  Lower delay reduces lag between directory updates but
+# increases CPU load.
+set idle_delay 2000
+
+# When the metadata manager module looks for metadata, should it only look for
+# a ".metadata.json" file in the current directory, or do a deep search and
+# check all directories above the current one as well?
+set metadata_deep_search false
+
+# ===================================================================
+# == Local Options
+# ===================================================================
+# You can set local options that only affect a single directory.
+
+# Examples:
+# setlocal path=~/downloads sort mtime
+
+# ===================================================================
+# == Command Aliases in the Console
+# ===================================================================
+
+alias e    edit
+alias q    quit
+alias q!   quitall
+alias qa   quitall
+alias qall quitall
+alias setl setlocal
+
+alias filter     scout -prt
+alias find       scout -aeit
+alias mark       scout -mr
+alias unmark     scout -Mr
+alias search     scout -rs
+alias search_inc scout -rts
+alias travel     scout -aefiklst
+
+# ===================================================================
+# == Define keys for the browser
+# ===================================================================
+
+# Basic
+map <C-x><C-c> quit!
+map <C-x>k quit
+
+map <C-x>R     reload_cwd
+map <C-x><C-r> reset
+map <C-l>      redraw_window
+map <C-g>      chain abort; change_mode normal; mark_files all=True val=False
+
+map <C-x>i display_file
+map <C-h>  help
+map <C-x>W display_log
+map <C-x>w taskview_open
+
+map <A-x>  console
+map <A-!>  console shell%space
+map <A-f> chain draw_possible_programs; console open_with%space
+
+# Change the line mode
+map <C-x>mf linemode filename
+map <C-x>mi linemode fileinfo
+map <C-x>mp linemode permissions
+map <C-x>mt linemode metatitle
+
+# Tagging / Marking
+map <C-x>t<any> tag_toggle tag=%any
+map <C-_>t      tag_remove
+map <Space>     mark_files toggle=True
+map <C-Space>   toggle_visual_mode
+
+# 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%space
+map <F8> console delete
+map <F10> exit
+
+# Direction keys
+map <UP>       move up=1
+map <DOWN>     move down=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 <DELETE>   console delete
+map <INSERT>   console touch%space
+
+copymap <UP>       <C-p>
+copymap <DOWN>     <C-n>
+copymap <LEFT>     <C-b>
+copymap <RIGHT>    <C-f>
+copymap <HOME>     <A-LT>
+copymap <END>      <A-GT>
+copymap <PAGEDOWN> <A-v>
+copymap <PAGEUP>   <C-v>
+
+# Jumping around
+map <C-u><C-space> history_go -1
+map <A-}> move_parent 1
+map <A-{> move_parent -1
+
+map <C-x>gh cd ~
+map <C-x>ge cd /etc
+map <C-x>gu cd /usr
+map <C-x>gd cd /dev
+map <C-x>gl cd -r .
+map <C-x>gL cd -r %f
+map <C-x>go cd /opt
+map <C-x>gv cd /var
+map <C-x>gm cd /media
+map <C-x>gM cd /mnt
+map <C-x>gs cd /srv
+map <C-x>gr cd /
+map <C-x>gR eval fm.cd(ranger.RANGERDIR)
+map <C-x>g/ cd /
+map <C-x>g? cd /usr/share/doc/ranger
+
+# External Programs
+map <C-x><C-f>  edit
+map <C-x>du shell -p du --max-depth=1 -h --apparent-size
+map <C-x>dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
+map <C-x>wp shell -f echo -n %d/%f | xsel -i; xsel -o | xsel -i -b
+map <C-x>wd shell -f echo -n %d    | xsel -i; xsel -o | xsel -i -b
+map <C-x>wn shell -f echo -n %f    | xsel -i; xsel -o | xsel -i -b
+
+# Filesystem Operations
+map <C-x>= chmod
+
+map <A-d>  console rename%space
+map <C-e>  eval fm.open_console('rename ' + fm.thisfile.basename)
+map <C-a>  eval fm.open_console('rename ' + fm.thisfile.basename, position=7)
+
+map <C-y>y  paste
+map <C-y>o  paste overwrite=True
+map <C-y>l  paste_symlink relative=False
+map <C-y>L  paste_symlink relative=True
+map <C-y>hl paste_hardlink
+map <C-y>ht paste_hardlinked_subtree
+
+map <C-w>  cut
+map <C-_>w uncut
+map <C-x><C-w>a cut mode=add
+map <C-x><C-w>r cut mode=remove
+
+map <A-w>  copy
+map <C-x><A-w>a copy mode=add
+map <C-x><A-w>r copy mode=remove
+
+# Searching
+map <C-x>s console search_inc%space
+map <C-s> search_next
+map <C-r> search_next forward=False
+
+# Tabs
+#map <C-n>     tab_new ~
+map <C-x>b    tab_move 1
+map <A-Right> tab_move 1
+map <A-Left>  tab_move -1
+map <C-x>f    tab_new ~
+map <C-_>k    tab_restore
+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 <C-x>or toggle_option sort_reverse
+map <C-x>oz set sort=random
+map <C-x>os chain set sort=size;      set sort_reverse=False
+map <C-x>ob chain set sort=basename;  set sort_reverse=False
+map <C-x>on chain set sort=natural;   set sort_reverse=False
+map <C-x>om chain set sort=mtime;     set sort_reverse=False
+map <C-x>oc chain set sort=ctime;     set sort_reverse=False
+map <C-x>oa chain set sort=atime;     set sort_reverse=False
+map <C-x>ot chain set sort=type;      set sort_reverse=False
+map <C-x>oe chain set sort=extension; set sort_reverse=False
+
+map <C-x>oS chain set sort=size;      set sort_reverse=True
+map <C-x>oB chain set sort=basename;  set sort_reverse=True
+map <C-x>oN chain set sort=natural;   set sort_reverse=True
+map <C-x>oM chain set sort=mtime;     set sort_reverse=True
+map <C-x>oC chain set sort=ctime;     set sort_reverse=True
+map <C-x>oA chain set sort=atime;     set sort_reverse=True
+map <C-x>oT chain set sort=type;      set sort_reverse=True
+map <C-x>oE chain set sort=extension; set sort_reverse=True
+
+map <C-x>dc get_cumulative_size
+
+# Settings
+map <C-x>zc    toggle_option collapse_preview
+map <C-x>zd    toggle_option sort_directories_first
+map <C-x>zh    toggle_option show_hidden
+map <C-x>zi    toggle_option flushinput
+map <C-x>zm    toggle_option mouse_enabled
+map <C-x>zp    toggle_option preview_files
+map <C-x>zP    toggle_option preview_directories
+map <C-x>zs    toggle_option sort_case_insensitive
+map <C-x>zu    toggle_option autoupdate_cumulative_size
+map <C-x>zv    toggle_option use_preview_script
+map <C-x>zf    console filter%space
+
+# Bookmarks
+map <C-x>rb<any> enter_bookmark %any
+map <C-x>rm<any> set_bookmark %any
+map <C-x>ru<any> unset_bookmark %any
+
+map <C-x>rb<bg>   draw_bookmarks
+copymap <C-x>rb<bg>  <C-x>rm<bg> <C-x>ru<bg>
+
+# Generate all the chmod bindings with some python help:
+eval for arg in "rwxXst": cmd("map <C-x>+u{0} shell -f chmod u+{0} %s".format(arg))
+eval for arg in "rwxXst": cmd("map <C-x>+g{0} shell -f chmod g+{0} %s".format(arg))
+eval for arg in "rwxXst": cmd("map <C-x>+o{0} shell -f chmod o+{0} %s".format(arg))
+eval for arg in "rwxXst": cmd("map <C-x>+a{0} shell -f chmod a+{0} %s".format(arg))
+eval for arg in "rwxXst": cmd("map <C-x>+{0}  shell -f chmod u+{0} %s".format(arg))
+
+eval for arg in "rwxXst": cmd("map <C-x>-u{0} shell -f chmod u-{0} %s".format(arg))
+eval for arg in "rwxXst": cmd("map <C-x>-g{0} shell -f chmod g-{0} %s".format(arg))
+eval for arg in "rwxXst": cmd("map <C-x>-o{0} shell -f chmod o-{0} %s".format(arg))
+eval for arg in "rwxXst": cmd("map <C-x>-a{0} shell -f chmod a-{0} %s".format(arg))
+eval for arg in "rwxXst": cmd("map <C-x>-{0}  shell -f chmod u-{0} %s".format(arg))
+
+# Search for letters as you type them
+#eval for arg in "abcdefghijklmnopqrstuvwxyz": cmd("map {0} console search_inc {0}".format(arg))
+map <allow_quantifiers> false
+
+# ===================================================================
+# == Define keys for the console
+# ===================================================================
+# Note: Unmapped keys are passed directly to the console.
+
+# Basic
+cmap <tab>   eval fm.ui.console.tab()
+cmap <s-tab> eval fm.ui.console.tab(-1)
+cmap <C-g>   eval fm.ui.console.close()
+cmap <CR>    eval fm.ui.console.execute()
+cmap <C-l>   redraw_window
+
+copycmap <C-g> <esc>
+copycmap <CR>  <C-j>
+
+# Move around
+cmap <up>    eval fm.ui.console.history_move(-1)
+cmap <down>  eval fm.ui.console.history_move(1)
+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)
+
+# Line Editing
+cmap <backspace>  eval fm.ui.console.delete(-1)
+cmap <delete>     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()
+
+# And of course the emacs way
+copycmap <up>        <C-p>
+copycmap <down>      <C-n>
+copycmap <left>      <C-b>
+copycmap <right>     <C-f>
+copycmap <home>      <C-a>
+copycmap <end>       <C-e>
+copycmap <delete>    <C-d>
+copycmap <backspace> <C-h>
+
+# Note: There are multiple ways to express backspaces.  <backspace> (code 263)
+# and <backspace2> (code 127).  To be sure, use both.
+copycmap <backspace> <backspace2>
+
+# This special expression allows typing in numerals:
+cmap <allow_quantifiers> false
+
+# ===================================================================
+# == Pager Keybindings
+# ===================================================================
+
+# Movement
+pmap  <down>      pager_move  down=1
+pmap  <up>        pager_move  up=1
+pmap  <left>      pager_move  left=4
+pmap  <right>     pager_move  right=4
+pmap  <home>      pager_move  to=0
+pmap  <end>       pager_move  to=-1
+pmap  <pagedown>  pager_move  down=1.0  pages=True
+pmap  <pageup>    pager_move  up=1.0    pages=True
+
+copypmap <UP>       <C-p>
+copypmap <DOWN>     <C-n> <CR>
+copypmap <LEFT>     <C-b>
+copypmap <RIGHT>    <C-f>
+copypmap <HOME>     <A-LT>
+copypmap <END>      <A-GT>
+copypmap <PAGEDOWN> <C-F> <A-v> <Space>
+copypmap <PAGEUP>   <C-B> <C-v>
+
+# Basic
+pmap     <C-l> redraw_window
+pmap     <C-g> pager_close
+copypmap <C-g> q Q i <F3>
+pmap E      edit_file
+
+# ===================================================================
+# == Taskview Keybindings
+# ===================================================================
+
+# Movement
+tmap <up>        taskview_move up=1
+tmap <down>      taskview_move down=1
+tmap <home>      taskview_move to=0
+tmap <end>       taskview_move to=-1
+tmap <pagedown>  taskview_move down=1.0  pages=True
+tmap <pageup>    taskview_move up=1.0    pages=True
+tmap <C-d>       taskview_move down=0.5  pages=True
+tmap <C-u>       taskview_move up=0.5    pages=True
+
+copytmap <UP>       k  <C-p>
+copytmap <DOWN>     j  <C-n> <CR>
+copytmap <HOME>     g
+copytmap <END>      G
+copytmap <C-u>      u
+copytmap <PAGEDOWN> n  f  <C-F>  <Space>
+copytmap <PAGEUP>   p  b  <C-B>
+
+# Changing priority and deleting tasks
+tmap <A-n>      eval -q fm.ui.taskview.task_move(-1)
+tmap <A-p>      eval -q fm.ui.taskview.task_move(0)
+tmap <C-d>      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()
+
+# Basic
+tmap <C-l> redraw_window
+tmap <C-g> taskview_close