diff options
author | Nguyễn Gia Phong <vn.mcsinyx@gmail.com> | 2019-02-28 21:28:13 +0700 |
---|---|---|
committer | Nguyễn Gia Phong <vn.mcsinyx@gmail.com> | 2019-02-28 21:28:13 +0700 |
commit | 309f4c7e9178568e3c16694b2bc44a89d288b586 (patch) | |
tree | a252c6e36b8fd1e252191a5334aa84f53a1a07d4 | |
parent | a474b5cd058140d76cfcd592b32efbe76cbc8fe2 (diff) | |
download | dotfiles-309f4c7e9178568e3c16694b2bc44a89d288b586.tar.gz |
Update 2019-02-28
-rw-r--r-- | ranger/.config/ranger/rc.conf | 173 |
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> |