aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNguyễn Gia Phong <vn.mcsinyx@gmail.com>2019-02-28 21:28:13 +0700
committerNguyễn Gia Phong <vn.mcsinyx@gmail.com>2019-02-28 21:28:13 +0700
commit309f4c7e9178568e3c16694b2bc44a89d288b586 (patch)
treea252c6e36b8fd1e252191a5334aa84f53a1a07d4
parenta474b5cd058140d76cfcd592b32efbe76cbc8fe2 (diff)
downloaddotfiles-309f4c7e9178568e3c16694b2bc44a89d288b586.tar.gz
Update 2019-02-28
-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>