dotfiles

My personalised dotfiles that I use with zsh as a shell.
git clone git://git.mattfehrenbach.xyz/dotfiles.git
Log | Files | Refs

rc.conf (23001B)


      1 # ===================================================================
      2 # This file contains the default startup commands for ranger.
      3 # To change them, it is recommended to create either /etc/ranger/rc.conf
      4 # (system-wide) or ~/.config/ranger/rc.conf (per user) and add your custom
      5 # commands there.
      6 #
      7 # If you copy this whole file there, you may want to set the environment
      8 # variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice.
      9 #
     10 # The purpose of this file is mainly to define keybindings and settings.
     11 # For running more complex python code, please create a plugin in "plugins/" or
     12 # a command in "commands.py".
     13 #
     14 # Each line is a command that will be run before the user interface
     15 # is initialized.  As a result, you can not use commands which rely
     16 # on the UI such as :delete or :mark.
     17 # ===================================================================
     18 
     19 # ===================================================================
     20 # == Options
     21 # ===================================================================
     22 
     23 # Which viewmode should be used?  Possible values are:
     24 #     miller: Use miller columns which show multiple levels of the hierarchy
     25 #     multipane: Midnight-commander like multipane view showing all tabs next
     26 #                to each other
     27 set viewmode miller
     28 #set viewmode multipane
     29 
     30 # How many columns are there, and what are their relative widths?
     31 set column_ratios 1,3,4
     32 
     33 # Which files should be hidden? (regular expression)
     34 set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
     35 
     36 # Show hidden files? You can toggle this by typing 'zh'
     37 set show_hidden true
     38 
     39 # Ask for a confirmation when running the "delete" command?
     40 # Valid values are "always", "never", "multiple" (default)
     41 # With "multiple", ranger will ask only if you delete multiple files at once.
     42 set confirm_on_delete multiple
     43 
     44 # Use non-default path for file preview script?
     45 # ranger ships with scope.sh, a script that calls external programs (see
     46 # README.md for dependencies) to preview images, archives, etc.
     47 #set preview_script ~/.config/ranger/scope.sh
     48 
     49 # Use the external preview script or display simple plain text or image previews?
     50 set use_preview_script true
     51 
     52 # Automatically count files in the directory, even before entering them?
     53 set automatically_count_files true
     54 
     55 # Open all images in this directory when running certain image viewers
     56 # like feh or sxiv?  You can still open selected files by marking them.
     57 set open_all_images true
     58 
     59 # Be aware of version control systems and display information.
     60 set vcs_aware false
     61 
     62 # State of the four backends git, hg, bzr, svn. The possible states are
     63 # disabled, local (only show local info), enabled (show local and remote
     64 # information).
     65 set vcs_backend_git enabled
     66 set vcs_backend_hg disabled
     67 set vcs_backend_bzr disabled
     68 set vcs_backend_svn disabled
     69 
     70 # Use one of the supported image preview protocols
     71 set preview_images false
     72 
     73 # Set the preview image method. Supported methods:
     74 #
     75 # * w3m (default):
     76 #   Preview images in full color with the external command "w3mimgpreview"?
     77 #   This requires the console web browser "w3m" and a supported terminal.
     78 #   It has been successfully tested with "xterm" and "urxvt" without tmux.
     79 #
     80 # * iterm2:
     81 #   Preview images in full color using iTerm2 image previews
     82 #   (http://iterm2.com/images.html). This requires using iTerm2 compiled
     83 #   with image preview support.
     84 #
     85 #   This feature relies on the dimensions of the terminal's font.  By default, a
     86 #   width of 8 and height of 11 are used.  To use other values, set the options
     87 #   iterm2_font_width and iterm2_font_height to the desired values.
     88 #
     89 # * terminology:
     90 #   Previews images in full color in the terminology terminal emulator.
     91 #   Supports a wide variety of formats, even vector graphics like svg.
     92 #
     93 # * urxvt:
     94 #   Preview images in full color using urxvt image backgrounds. This
     95 #   requires using urxvt compiled with pixbuf support.
     96 #
     97 # * urxvt-full:
     98 #   The same as urxvt but utilizing not only the preview pane but the
     99 #   whole terminal window.
    100 #
    101 # * kitty:
    102 #   Preview images in full color using kitty image protocol.
    103 #   Requires python PIL or pillow library.
    104 #   If ranger does not share the local filesystem with kitty
    105 #   the transfer method is changed to encode the whole image;
    106 #   while slower, this allows remote previews,
    107 #   for example during an ssh session.
    108 #   Tmux is unsupported.
    109 set preview_images_method w3m
    110 
    111 # Delay in seconds before displaying an image with the w3m method.
    112 # Increase it in case of experiencing display corruption.
    113 set w3m_delay 0.02
    114 
    115 # Default iTerm2 font size (see: preview_images_method: iterm2)
    116 set iterm2_font_width 8
    117 set iterm2_font_height 11
    118 
    119 # Use a unicode "..." character to mark cut-off filenames?
    120 set unicode_ellipsis false
    121 
    122 # BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic).
    123 # Requires the python-bidi pip package
    124 set bidi_support false
    125 
    126 # Show dotfiles in the bookmark preview box?
    127 set show_hidden_bookmarks true
    128 
    129 # Which colorscheme to use?  These colorschemes are available by default:
    130 # default, jungle, snow, solarized
    131 set colorscheme default
    132 
    133 # Preview files on the rightmost column?
    134 # And collapse (shrink) the last column if there is nothing to preview?
    135 set preview_files true
    136 set preview_directories true
    137 set collapse_preview true
    138 
    139 # Save the console history on exit?
    140 set save_console_history true
    141 
    142 # Draw the status bar on top of the browser window (default: bottom)
    143 set status_bar_on_top false
    144 
    145 # Draw a progress bar in the status bar which displays the average state of all
    146 # currently running tasks which support progress bars?
    147 set draw_progress_bar_in_status_bar true
    148 
    149 # Draw borders around columns? (separators, outline, both, or none)
    150 # Separators are vertical lines between columns.
    151 # Outline draws a box around all the columns.
    152 # Both combines the two.
    153 set draw_borders none
    154 
    155 # Display the directory name in tabs?
    156 set dirname_in_tabs false
    157 
    158 # Enable the mouse support?
    159 set mouse_enabled true
    160 
    161 # Display the file size in the main column or status bar?
    162 set display_size_in_main_column true
    163 set display_size_in_status_bar true
    164 
    165 # Display the free disk space in the status bar?
    166 set display_free_space_in_status_bar true
    167 
    168 # Display files tags in all columns or only in main column?
    169 set display_tags_in_all_columns true
    170 
    171 # Set a title for the window?
    172 set update_title false
    173 
    174 # Set the title to "ranger" in the tmux program?
    175 set update_tmux_title true
    176 
    177 # Shorten the title if it gets long?  The number defines how many
    178 # directories are displayed at once, 0 turns off this feature.
    179 set shorten_title 3
    180 
    181 # Show hostname in titlebar?
    182 set hostname_in_titlebar true
    183 
    184 # Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
    185 set tilde_in_titlebar false
    186 
    187 # How many directory-changes or console-commands should be kept in history?
    188 set max_history_size 20
    189 set max_console_history_size 50
    190 
    191 # Try to keep so much space between the top/bottom border when scrolling:
    192 set scroll_offset 8
    193 
    194 # Flush the input after each key hit?  (Noticeable when ranger lags)
    195 set flushinput true
    196 
    197 # Padding on the right when there's no preview?
    198 # This allows you to click into the space to run the file.
    199 set padding_right true
    200 
    201 # Save bookmarks (used with mX and `X) instantly?
    202 # This helps to synchronize bookmarks between multiple ranger
    203 # instances but leads to *slight* performance loss.
    204 # When false, bookmarks are saved when ranger is exited.
    205 set autosave_bookmarks true
    206 
    207 # Save the "`" bookmark to disk.  This can be used to switch to the last
    208 # directory by typing "``".
    209 set save_backtick_bookmark true
    210 
    211 # You can display the "real" cumulative size of directories by using the
    212 # command :get_cumulative_size or typing "dc".  The size is expensive to
    213 # calculate and will not be updated automatically.  You can choose
    214 # to update it automatically though by turning on this option:
    215 set autoupdate_cumulative_size false
    216 
    217 # Turning this on makes sense for screen readers:
    218 set show_cursor false
    219 
    220 # One of: size, natural, basename, atime, ctime, mtime, type, random
    221 set sort natural
    222 
    223 # Additional sorting options
    224 set sort_reverse false
    225 set sort_case_insensitive true
    226 set sort_directories_first true
    227 set sort_unicode false
    228 
    229 # Enable this if key combinations with the Alt Key don't work for you.
    230 # (Especially on xterm)
    231 set xterm_alt_key false
    232 
    233 # Whether to include bookmarks in cd command
    234 set cd_bookmarks true
    235 
    236 # Changes case sensitivity for the cd command tab completion
    237 set cd_tab_case sensitive
    238 
    239 # Use fuzzy tab completion with the "cd" command. For example,
    240 # ":cd /u/lo/b<tab>" expands to ":cd /usr/local/bin".
    241 set cd_tab_fuzzy false
    242 
    243 # Avoid previewing files larger than this size, in bytes.  Use a value of 0 to
    244 # disable this feature.
    245 set preview_max_size 0
    246 
    247 # The key hint lists up to this size have their sublists expanded.
    248 # Otherwise the submaps are replaced with "...".
    249 set hint_collapse_threshold 10
    250 
    251 # Add the highlighted file to the path in the titlebar
    252 set show_selection_in_titlebar true
    253 
    254 # The delay that ranger idly waits for user input, in milliseconds, with a
    255 # resolution of 100ms.  Lower delay reduces lag between directory updates but
    256 # increases CPU load.
    257 set idle_delay 2000
    258 
    259 # When the metadata manager module looks for metadata, should it only look for
    260 # a ".metadata.json" file in the current directory, or do a deep search and
    261 # check all directories above the current one as well?
    262 set metadata_deep_search false
    263 
    264 # Clear all existing filters when leaving a directory
    265 set clear_filters_on_dir_change false
    266 
    267 # Disable displaying line numbers in main column.
    268 # Possible values: false, absolute, relative.
    269 set line_numbers false
    270 
    271 # When line_numbers=relative show the absolute line number in the
    272 # current line.
    273 set relative_current_zero false
    274 
    275 # Start line numbers from 1 instead of 0
    276 set one_indexed false
    277 
    278 # Save tabs on exit
    279 set save_tabs_on_exit false
    280 
    281 # Enable scroll wrapping - moving down while on the last item will wrap around to
    282 # the top and vice versa.
    283 set wrap_scroll false
    284 
    285 # Set the global_inode_type_filter to nothing.  Possible options: d, f and l for
    286 # directories, files and symlinks respectively.
    287 set global_inode_type_filter
    288 
    289 # This setting allows to freeze the list of files to save I/O bandwidth.  It
    290 # should be 'false' during start-up, but you can toggle it by pressing F.
    291 set freeze_files false
    292 
    293 # ===================================================================
    294 # == Local Options
    295 # ===================================================================
    296 # You can set local options that only affect a single directory.
    297 
    298 # Examples:
    299 # setlocal path=~/downloads sort mtime
    300 
    301 # ===================================================================
    302 # == Command Aliases in the Console
    303 # ===================================================================
    304 
    305 alias e     edit
    306 alias q     quit
    307 alias q!    quit!
    308 alias qa    quitall
    309 alias qa!   quitall!
    310 alias qall  quitall
    311 alias qall! quitall!
    312 alias setl  setlocal
    313 
    314 alias filter     scout -prts
    315 alias find       scout -aets
    316 alias mark       scout -mr
    317 alias unmark     scout -Mr
    318 alias search     scout -rs
    319 alias search_inc scout -rts
    320 alias travel     scout -aefklst
    321 
    322 # ===================================================================
    323 # == Define keys for the browser
    324 # ===================================================================
    325 
    326 # Basic
    327 map     Q quitall
    328 map     q quit
    329 copymap q ZZ ZQ
    330 
    331 map R     reload_cwd
    332 map F     set freeze_files!
    333 map <C-r> reset
    334 map <C-l> redraw_window
    335 map <C-c> abort
    336 map <esc> change_mode normal
    337 map ~ set viewmode!
    338 
    339 map i display_file
    340 map ? help
    341 map W display_log
    342 map w taskview_open
    343 map S shell $SHELL
    344 
    345 map :  console
    346 map ;  console
    347 map !  console shell%space
    348 map @  console -p6 shell  %%s
    349 map #  console shell -p%space
    350 map s  console shell%space
    351 map r  chain draw_possible_programs; console open_with%%space
    352 map f  console find%space
    353 map cd console cd%space
    354 
    355 map <C-p> chain console; eval fm.ui.console.history_move(-1)
    356 
    357 # Change the line mode
    358 map Mf linemode filename
    359 map Mi linemode fileinfo
    360 map Mm linemode mtime
    361 map Mp linemode permissions
    362 map Ms linemode sizemtime
    363 map Mt linemode metatitle
    364 
    365 # Tagging / Marking
    366 map t       tag_toggle
    367 map ut      tag_remove
    368 map "<any>  tag_toggle tag=%any
    369 map <Space> mark_files toggle=True
    370 map v       mark_files all=True toggle=True
    371 map uv      mark_files all=True val=False
    372 map V       toggle_visual_mode
    373 map uV      toggle_visual_mode reverse=True
    374 
    375 # For the nostalgics: Midnight Commander bindings
    376 map <F1> help
    377 map <F2> rename_append
    378 map <F3> display_file
    379 map <F4> edit
    380 map <F5> copy
    381 map <F6> cut
    382 map <F7> console mkdir%space
    383 map <F8> console delete
    384 map <F10> exit
    385 
    386 # In case you work on a keyboard with dvorak layout
    387 map <UP>       move up=1
    388 map <DOWN>     move down=1
    389 map <LEFT>     move left=1
    390 map <RIGHT>    move right=1
    391 map <HOME>     move to=0
    392 map <END>      move to=-1
    393 map <PAGEDOWN> move down=1   pages=True
    394 map <PAGEUP>   move up=1     pages=True
    395 map <CR>       move right=1
    396 #map <DELETE>   console delete
    397 map <INSERT>   console touch%space
    398 
    399 # VIM-like
    400 copymap <UP>       k
    401 copymap <DOWN>     j
    402 copymap <LEFT>     h
    403 copymap <RIGHT>    l
    404 copymap <HOME>     gg
    405 copymap <END>      G
    406 copymap <PAGEDOWN> <C-F>
    407 copymap <PAGEUP>   <C-B>
    408 
    409 map J  move down=0.5  pages=True
    410 map K  move up=0.5    pages=True
    411 copymap J <C-D>
    412 copymap K <C-U>
    413 
    414 # Jumping around
    415 map H     history_go -1
    416 map L     history_go 1
    417 map ]     move_parent 1
    418 map [     move_parent -1
    419 map }     traverse
    420 map {     traverse_backwards
    421 map )     jump_non
    422 
    423 map gh cd ~
    424 map ge cd /etc
    425 map gu cd /usr
    426 map gd cd /dev
    427 map gl cd -r .
    428 map gL cd -r %f
    429 map go cd /opt
    430 map gv cd /var
    431 map gm cd /media
    432 map gi eval fm.cd('/run/media/' + os.getenv('USER'))
    433 map gM cd /mnt
    434 map gs cd /srv
    435 map gp cd /tmp
    436 map gr cd /
    437 map gR eval fm.cd(ranger.RANGERDIR)
    438 map g/ cd /
    439 map g? cd /usr/share/doc/ranger
    440 
    441 # External Programs
    442 map E  edit
    443 map du shell -p du --max-depth=1 -h --apparent-size
    444 map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
    445 map yp yank path
    446 map yd yank dir
    447 map yn yank name
    448 map y. yank name_without_extension
    449 
    450 # Filesystem Operations
    451 map =  chmod
    452 
    453 map cw console rename%space
    454 map a  rename_append
    455 map A  eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
    456 map I  eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
    457 
    458 map pp paste
    459 map po paste overwrite=True
    460 map pP paste append=True
    461 map pO paste overwrite=True append=True
    462 map pl paste_symlink relative=False
    463 map pL paste_symlink relative=True
    464 map phl paste_hardlink
    465 map pht paste_hardlinked_subtree
    466 
    467 map dD console delete
    468 
    469 map dd cut
    470 map ud uncut
    471 map da cut mode=add
    472 map dr cut mode=remove
    473 map dt cut mode=toggle
    474 
    475 map yy copy
    476 map uy uncut
    477 map ya copy mode=add
    478 map yr copy mode=remove
    479 map yt copy mode=toggle
    480 
    481 # Temporary workarounds
    482 map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
    483 map dG  eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
    484 map dj  eval fm.cut(dirarg=dict(down=1), narg=quantifier)
    485 map dk  eval fm.cut(dirarg=dict(up=1), narg=quantifier)
    486 map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
    487 map yG  eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
    488 map yj  eval fm.copy(dirarg=dict(down=1), narg=quantifier)
    489 map yk  eval fm.copy(dirarg=dict(up=1), narg=quantifier)
    490 
    491 # Searching
    492 map /  console search%space
    493 map n  search_next
    494 map N  search_next forward=False
    495 map ct search_next order=tag
    496 map cs search_next order=size
    497 map ci search_next order=mimetype
    498 map cc search_next order=ctime
    499 map cm search_next order=mtime
    500 map ca search_next order=atime
    501 
    502 # Tabs
    503 map <C-n>     tab_new
    504 map <C-w>     tab_close
    505 map <TAB>     tab_move 1
    506 map <S-TAB>   tab_move -1
    507 map <A-Right> tab_move 1
    508 map <A-Left>  tab_move -1
    509 map gt        tab_move 1
    510 map gT        tab_move -1
    511 map gn        tab_new
    512 map gc        tab_close
    513 map uq        tab_restore
    514 map <a-1>     tab_open 1
    515 map <a-2>     tab_open 2
    516 map <a-3>     tab_open 3
    517 map <a-4>     tab_open 4
    518 map <a-5>     tab_open 5
    519 map <a-6>     tab_open 6
    520 map <a-7>     tab_open 7
    521 map <a-8>     tab_open 8
    522 map <a-9>     tab_open 9
    523 map <a-r>     tab_shift 1
    524 map <a-l>     tab_shift -1
    525 
    526 # Sorting
    527 map or set sort_reverse!
    528 map oz set sort=random
    529 map os chain set sort=size;      set sort_reverse=False
    530 map ob chain set sort=basename;  set sort_reverse=False
    531 map on chain set sort=natural;   set sort_reverse=False
    532 map om chain set sort=mtime;     set sort_reverse=False
    533 map oc chain set sort=ctime;     set sort_reverse=False
    534 map oa chain set sort=atime;     set sort_reverse=False
    535 map ot chain set sort=type;      set sort_reverse=False
    536 map oe chain set sort=extension; set sort_reverse=False
    537 
    538 map oS chain set sort=size;      set sort_reverse=True
    539 map oB chain set sort=basename;  set sort_reverse=True
    540 map oN chain set sort=natural;   set sort_reverse=True
    541 map oM chain set sort=mtime;     set sort_reverse=True
    542 map oC chain set sort=ctime;     set sort_reverse=True
    543 map oA chain set sort=atime;     set sort_reverse=True
    544 map oT chain set sort=type;      set sort_reverse=True
    545 map oE chain set sort=extension; set sort_reverse=True
    546 
    547 map dc get_cumulative_size
    548 
    549 # Settings
    550 map zc    set collapse_preview!
    551 map zd    set sort_directories_first!
    552 map zh    set show_hidden!
    553 map <C-h> set show_hidden!
    554 copymap <C-h> <backspace>
    555 copymap <backspace> <backspace2>
    556 map zI    set flushinput!
    557 map zi    set preview_images!
    558 map zm    set mouse_enabled!
    559 map zp    set preview_files!
    560 map zP    set preview_directories!
    561 map zs    set sort_case_insensitive!
    562 map zu    set autoupdate_cumulative_size!
    563 map zv    set use_preview_script!
    564 map zf    console filter%space
    565 copymap zf zz
    566 
    567 # Filter stack
    568 map .n console filter_stack add name%space
    569 map .m console filter_stack add mime%space
    570 map .d filter_stack add type d
    571 map .f filter_stack add type f
    572 map .l filter_stack add type l
    573 map .| filter_stack add or
    574 map .& filter_stack add and
    575 map .! filter_stack add not
    576 map .r console filter_stack rotate
    577 map .c filter_stack clear
    578 map .* filter_stack decompose
    579 map .p filter_stack pop
    580 map .. filter_stack show
    581 
    582 # Bookmarks
    583 map `<any>  enter_bookmark %any
    584 map '<any>  enter_bookmark %any
    585 map m<any>  set_bookmark %any
    586 map um<any> unset_bookmark %any
    587 
    588 map m<bg>   draw_bookmarks
    589 copymap m<bg>  um<bg> `<bg> '<bg>
    590 
    591 # Generate all the chmod bindings with some python help:
    592 eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
    593 eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
    594 eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
    595 eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
    596 eval for arg in "rwxXst": cmd("map +{0}  shell -f chmod u+{0} %s".format(arg))
    597 
    598 eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
    599 eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
    600 eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
    601 eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
    602 eval for arg in "rwxXst": cmd("map -{0}  shell -f chmod u-{0} %s".format(arg))
    603 
    604 # ===================================================================
    605 # == Define keys for the console
    606 # ===================================================================
    607 # Note: Unmapped keys are passed directly to the console.
    608 
    609 # Basic
    610 cmap <tab>   eval fm.ui.console.tab()
    611 cmap <s-tab> eval fm.ui.console.tab(-1)
    612 cmap <ESC>   eval fm.ui.console.close()
    613 cmap <CR>    eval fm.ui.console.execute()
    614 cmap <C-l>   redraw_window
    615 
    616 copycmap <ESC> <C-c>
    617 copycmap <CR>  <C-j>
    618 
    619 # Move around
    620 cmap <up>    eval fm.ui.console.history_move(-1)
    621 cmap <down>  eval fm.ui.console.history_move(1)
    622 cmap <left>  eval fm.ui.console.move(left=1)
    623 cmap <right> eval fm.ui.console.move(right=1)
    624 cmap <home>  eval fm.ui.console.move(right=0, absolute=True)
    625 cmap <end>   eval fm.ui.console.move(right=-1, absolute=True)
    626 cmap <a-b> eval fm.ui.console.move_word(left=1)
    627 cmap <a-f> eval fm.ui.console.move_word(right=1)
    628 
    629 copycmap <a-b> <a-left>
    630 copycmap <a-f> <a-right>
    631 
    632 # Line Editing
    633 cmap <backspace>  eval fm.ui.console.delete(-1)
    634 cmap <delete>     eval fm.ui.console.delete(0)
    635 cmap <C-w>        eval fm.ui.console.delete_word()
    636 cmap <A-d>        eval fm.ui.console.delete_word(backward=False)
    637 cmap <C-k>        eval fm.ui.console.delete_rest(1)
    638 cmap <C-u>        eval fm.ui.console.delete_rest(-1)
    639 cmap <C-y>        eval fm.ui.console.paste()
    640 
    641 # And of course the emacs way
    642 copycmap <ESC>       <C-g>
    643 copycmap <up>        <C-p>
    644 copycmap <down>      <C-n>
    645 copycmap <left>      <C-b>
    646 copycmap <right>     <C-f>
    647 copycmap <home>      <C-a>
    648 copycmap <end>       <C-e>
    649 copycmap <delete>    <C-d>
    650 copycmap <backspace> <C-h>
    651 
    652 # Note: There are multiple ways to express backspaces.  <backspace> (code 263)
    653 # and <backspace2> (code 127).  To be sure, use both.
    654 copycmap <backspace> <backspace2>
    655 
    656 # This special expression allows typing in numerals:
    657 cmap <allow_quantifiers> false
    658 
    659 # ===================================================================
    660 # == Pager Keybindings
    661 # ===================================================================
    662 
    663 # Movement
    664 pmap  <down>      pager_move  down=1
    665 pmap  <up>        pager_move  up=1
    666 pmap  <left>      pager_move  left=4
    667 pmap  <right>     pager_move  right=4
    668 pmap  <home>      pager_move  to=0
    669 pmap  <end>       pager_move  to=-1
    670 pmap  <pagedown>  pager_move  down=1.0  pages=True
    671 pmap  <pageup>    pager_move  up=1.0    pages=True
    672 pmap  <C-d>       pager_move  down=0.5  pages=True
    673 pmap  <C-u>       pager_move  up=0.5    pages=True
    674 
    675 copypmap <UP>       k  <C-p>
    676 copypmap <DOWN>     j  <C-n> <CR>
    677 copypmap <LEFT>     h
    678 copypmap <RIGHT>    l
    679 copypmap <HOME>     g
    680 copypmap <END>      G
    681 copypmap <C-d>      d
    682 copypmap <C-u>      u
    683 copypmap <PAGEDOWN> n  f  <C-F>  <Space>
    684 copypmap <PAGEUP>   p  b  <C-B>
    685 
    686 # Basic
    687 pmap     <C-l> redraw_window
    688 pmap     <ESC> pager_close
    689 copypmap <ESC> q Q i <F3>
    690 pmap E      edit_file
    691 
    692 # ===================================================================
    693 # == Taskview Keybindings
    694 # ===================================================================
    695 
    696 # Movement
    697 tmap <up>        taskview_move up=1
    698 tmap <down>      taskview_move down=1
    699 tmap <home>      taskview_move to=0
    700 tmap <end>       taskview_move to=-1
    701 tmap <pagedown>  taskview_move down=1.0  pages=True
    702 tmap <pageup>    taskview_move up=1.0    pages=True
    703 tmap <C-d>       taskview_move down=0.5  pages=True
    704 tmap <C-u>       taskview_move up=0.5    pages=True
    705 
    706 copytmap <UP>       k  <C-p>
    707 copytmap <DOWN>     j  <C-n> <CR>
    708 copytmap <HOME>     g
    709 copytmap <END>      G
    710 copytmap <C-u>      u
    711 copytmap <PAGEDOWN> n  f  <C-F>  <Space>
    712 copytmap <PAGEUP>   p  b  <C-B>
    713 
    714 # Changing priority and deleting tasks
    715 tmap J          eval -q fm.ui.taskview.task_move(-1)
    716 tmap K          eval -q fm.ui.taskview.task_move(0)
    717 tmap dd         eval -q fm.ui.taskview.task_remove()
    718 tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
    719 tmap <pageup>   eval -q fm.ui.taskview.task_move(0)
    720 tmap <delete>   eval -q fm.ui.taskview.task_remove()
    721 
    722 # Basic
    723 tmap <C-l> redraw_window
    724 tmap <ESC> taskview_close
    725 copytmap <ESC> q Q w <C-c>