about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ranger/.config/ranger/rc.conf173
1 files changed, 143 insertions, 30 deletions
diff --git a/ranger/.config/ranger/rc.conf b/ranger/.config/ranger/rc.conf
index 36e431e..4e72a60 100644
--- a/ranger/.config/ranger/rc.conf
+++ b/ranger/.config/ranger/rc.conf
@@ -1,7 +1,8 @@
 # ===================================================================
 # This file contains the default startup commands for ranger.
-# To change them, it is recommended to create the file
-# ~/.config/ranger/rc.conf and add your custom commands there.
+# To change them, it is recommended to create either /etc/ranger/rc.conf
+# (system-wide) or ~/.config/ranger/rc.conf (per user) and add your custom
+# commands there.
 #
 # If you copy this whole file there, you may want to set the environment
 # variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice.
@@ -40,10 +41,10 @@ set show_hidden false
 # With "multiple", ranger will ask only if you delete multiple files at once.
 set confirm_on_delete always
 
-# Which script is used to generate file previews?
+# Use non-default path for file preview script?
 # 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
+#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
@@ -58,12 +59,13 @@ 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
+# State of the four backends git, hg, bzr, svn. 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
+set vcs_backend_svn disabled
 
 # Use one of the supported image preview protocols
 set preview_images true
@@ -80,6 +82,14 @@ set preview_images true
 #   (http://iterm2.com/images.html). This requires using iTerm2 compiled
 #   with image preview support.
 #
+#   This feature relies on the dimensions of the terminal's font.  By default, a
+#   width of 8 and height of 11 are used.  To use other values, set the options
+#   iterm2_font_width and iterm2_font_height to the desired values.
+#
+# * terminology:
+#   Previews images in full color in the terminology terminal emulator.
+#   Supports a wide variety of formats, even vector graphics like svg.
+#
 # * urxvt:
 #   Preview images in full color using urxvt image backgrounds. This
 #   requires using urxvt compiled with pixbuf support.
@@ -87,11 +97,32 @@ set preview_images true
 # * urxvt-full:
 #   The same as urxvt but utilizing not only the preview pane but the
 #   whole terminal window.
-set preview_images_method w3m
+#
+# * kitty:
+#   Preview images in full color using kitty image protocol.
+#   Requires python PIL or pillow library.
+#   If ranger does not share the local filesystem with kitty
+#   the transfer method is changed to encode the whole image;
+#   while slower, this allows remote previews,
+#   for example during an ssh session.
+#   Tmux is unsupported.
+set preview_images_method urxvt
+
+# Delay in seconds before displaying an image with the w3m method.
+# Increase it in case of experiencing display corruption.
+set w3m_delay 0.02
+
+# Default iTerm2 font size (see: preview_images_method: iterm2)
+set iterm2_font_width 8
+set iterm2_font_height 11
 
 # Use a unicode "..." character to mark cut-off filenames?
 set unicode_ellipsis false
 
+# BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic).
+# Requires the python-bidi pip package
+set bidi_support false
+
 # Show dotfiles in the bookmark preview box?
 set show_hidden_bookmarks true
 
@@ -115,8 +146,11 @@ set status_bar_on_top false
 # currently running tasks which support progress bars?
 set draw_progress_bar_in_status_bar true
 
-# Draw borders around columns?
-set draw_borders false
+# Draw borders around columns? (separators, outline, both, or none)
+# Separators are vertical lines between columns.
+# Outline draws a box around all the columns.
+# Both combines the two.
+set draw_borders none
 
 # Display the directory name in tabs?
 set dirname_in_tabs false
@@ -128,19 +162,25 @@ set mouse_enabled true
 set display_size_in_main_column true
 set display_size_in_status_bar true
 
+# Display the free disk space in the status bar?
+set display_free_space_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 update_title true
 
 # Set the title to "ranger" in the tmux program?
-set update_tmux_title false
+set update_tmux_title true
 
 # 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
 
+# Show hostname in titlebar?
+set hostname_in_titlebar true
+
 # Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
 set tilde_in_titlebar false
 
@@ -164,6 +204,10 @@ set padding_right false
 # When false, bookmarks are saved when ranger is exited.
 set autosave_bookmarks true
 
+# Save the "`" bookmark to disk.  This can be used to switch to the last
+# directory by typing "``".
+set save_backtick_bookmark 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
@@ -189,10 +233,21 @@ set xterm_alt_key false
 # Whether to include bookmarks in cd command
 set cd_bookmarks true
 
+# Changes case sensitivity for the cd command tab completion
+set cd_tab_case sensitive
+
+# Use fuzzy tab completion with the "cd" command. For example,
+# ":cd /u/lo/b<tab>" expands to ":cd /usr/local/bin".
+set cd_tab_fuzzy true
+
 # Avoid previewing files larger than this size, in bytes.  Use a value of 0 to
 # disable this feature.
 set preview_max_size 0
 
+# The key hint lists up to this size have their sublists expanded.
+# Otherwise the submaps are replaced with "...".
+set hint_collapse_threshold 10
+
 # Add the highlighted file to the path in the titlebar
 set show_selection_in_titlebar true
 
@@ -209,8 +264,31 @@ set metadata_deep_search false
 # Clear all existing filters when leaving a directory
 set clear_filters_on_dir_change false
 
-# Disable displaying line numbers in main column
-set line_numbers true
+# Disable displaying line numbers in main column.
+# Possible values: false, absolute, relative.
+set line_numbers relative
+
+# When line_numbers=relative show the absolute line number in the
+# current line.
+set relative_current_zero false
+
+# Start line numbers from 1 instead of 0
+set one_indexed false
+
+# Save tabs on exit
+set save_tabs_on_exit false
+
+# Enable scroll wrapping - moving down while on the last item will wrap around to
+# the top and vice versa.
+set wrap_scroll false
+
+# Set the global_inode_type_filter to nothing.  Possible options: d, f and l for
+# directories, files and symlinks respectively.
+set global_inode_type_filter
+
+# This setting allows to freeze the list of files to save I/O bandwidth.  It
+# should be 'false' during start-up, but you can toggle it by pressing F.
+set freeze_files false
 
 # ===================================================================
 # == Local Options
@@ -224,31 +302,34 @@ set line_numbers true
 # == 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 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 -aefiklst
+alias travel     scout -aefklst
 
 # ===================================================================
 # == Define keys for the browser
 # ===================================================================
 
 # Basic
-map     Q quit!
+map     Q quitall
 map     q quit
 copymap q ZZ ZQ
 
 map R     reload_cwd
+map F     set freeze_files!
 map <C-r> reset
 map <C-l> redraw_window
 map <C-c> abort
@@ -271,6 +352,8 @@ map r  chain draw_possible_programs; console open_with%%space
 map f  console find%space
 map cd console cd%space
 
+map <C-p> chain console; eval fm.ui.console.history_move(-1)
+
 # Change the line mode
 map Mf linemode filename
 map Mi linemode fileinfo
@@ -291,6 +374,7 @@ map uV      toggle_visual_mode reverse=True
 
 # For the nostalgics: Midnight Commander bindings
 map <F1> help
+map <F2> rename_append
 map <F3> display_file
 map <F4> edit
 map <F5> copy
@@ -333,6 +417,8 @@ map L     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
@@ -343,8 +429,10 @@ 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 /
@@ -354,9 +442,10 @@ map g? cd /usr/share/doc/ranger
 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 shell -f echo -n %d/%f | xsel -i; xsel -o | xsel -i -b
-map yd shell -f echo -n %d    | xsel -i; xsel -o | xsel -i -b
-map yn shell -f echo -n %f    | xsel -i; xsel -o | xsel -i -b
+map yp yank path
+map yd yank dir
+map yn yank name
+map y. yank name_without_extension
 
 # Filesystem Operations
 map =  chmod
@@ -411,7 +500,7 @@ map cm search_next order=mtime
 map ca search_next order=atime
 
 # Tabs
-map <C-n>     tab_new ~
+map <C-n>     tab_new
 map <C-w>     tab_close
 map <TAB>     tab_move 1
 map <S-TAB>   tab_move -1
@@ -419,7 +508,7 @@ map <A-Right> tab_move 1
 map <A-Left>  tab_move -1
 map gt        tab_move 1
 map gT        tab_move -1
-map gn        tab_new ~
+map gn        tab_new
 map gc        tab_close
 map uq        tab_restore
 map <a-1>     tab_open 1
@@ -431,6 +520,8 @@ map <a-6>     tab_open 6
 map <a-7>     tab_open 7
 map <a-8>     tab_open 8
 map <a-9>     tab_open 9
+map <a-r>     tab_shift 1
+map <a-l>     tab_shift -1
 
 # Sorting
 map or set sort_reverse!
@@ -460,6 +551,8 @@ map zc    set collapse_preview!
 map zd    set sort_directories_first!
 map zh    set show_hidden!
 map <C-h> set show_hidden!
+copymap <C-h> <backspace>
+copymap <backspace> <backspace2>
 map zI    set flushinput!
 map zi    set preview_images!
 map zm    set mouse_enabled!
@@ -469,6 +562,22 @@ 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 .n console filter_stack add name%space
+map .m console filter_stack add mime%space
+map .d filter_stack add type d
+map .f filter_stack add type f
+map .l filter_stack add type l
+map .| filter_stack add or
+map .& filter_stack add and
+map .! filter_stack add not
+map .r console filter_stack rotate
+map .c filter_stack clear
+map .* filter_stack decompose
+map .p filter_stack pop
+map .. filter_stack show
 
 # Bookmarks
 map `<any>  enter_bookmark %any
@@ -514,8 +623,11 @@ 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 <a-left>   eval fm.ui.console.move_word(left=1)
-cmap <a-right>  eval fm.ui.console.move_word(right=1)
+cmap <a-b> eval fm.ui.console.move_word(left=1)
+cmap <a-f> eval fm.ui.console.move_word(right=1)
+
+copycmap <a-b> <a-left>
+copycmap <a-f> <a-right>
 
 # Line Editing
 cmap <backspace>  eval fm.ui.console.delete(-1)
@@ -527,6 +639,7 @@ 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 <ESC>       <C-g>
 copycmap <up>        <C-p>
 copycmap <down>      <C-n>
 copycmap <left>      <C-b>