rc.conf 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524
  1. set viewmode miller
  2. set column_ratios 1,3,4
  3. set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
  4. set show_hidden false
  5. set confirm_on_delete multiple
  6. set use_preview_script true
  7. set preview_script ~/.config/ranger/scope.sh
  8. set automatically_count_files true
  9. set open_all_images true
  10. set vcs_aware false
  11. set vcs_backend_git enabled
  12. set vcs_backend_hg disabled
  13. set vcs_backend_bzr disabled
  14. set vcs_backend_svn disabled
  15. set vcs_msg_length 50
  16. set preview_images true
  17. set preview_images_method ueberzug
  18. set w3m_delay 0.02
  19. set w3m_offset 0
  20. set iterm2_font_width 8
  21. set iterm2_font_height 11
  22. set unicode_ellipsis false
  23. set bidi_support false
  24. set show_hidden_bookmarks true
  25. set colorscheme default
  26. set preview_files true
  27. set preview_directories true
  28. set collapse_preview true
  29. set wrap_plaintext_previews false
  30. set save_console_history true
  31. set status_bar_on_top true
  32. set draw_progress_bar_in_status_bar true
  33. set dirname_in_tabs false
  34. set mouse_enabled true
  35. set display_size_in_main_column true
  36. set display_size_in_status_bar true
  37. set display_free_space_in_status_bar true
  38. set display_tags_in_all_columns true
  39. set update_title false
  40. set update_tmux_title true
  41. set shorten_title 3
  42. set hostname_in_titlebar true
  43. set tilde_in_titlebar false
  44. set max_history_size 20
  45. # Try to keep so much space between the top/bottom border when scrolling:
  46. set scroll_offset 8
  47. # Flush the input after each key hit? (Noticeable when ranger lags)
  48. set flushinput true
  49. # Padding on the right when there's no preview?
  50. # This allows you to click into the space to run the file.
  51. set padding_right true
  52. # Save bookmarks (used with mX and `X) instantly?
  53. # This helps to synchronize bookmarks between multiple ranger
  54. # instances but leads to *slight* performance loss.
  55. # When false, bookmarks are saved when ranger is exited.
  56. set autosave_bookmarks true
  57. set save_backtick_bookmark true
  58. set autoupdate_cumulative_size false
  59. set show_cursor false
  60. set sort natural
  61. set sort_reverse false
  62. set sort_case_insensitive true
  63. set sort_directories_first true
  64. set sort_unicode false
  65. set xterm_alt_key false
  66. set cd_bookmarks true
  67. set cd_tab_case sensitive
  68. set cd_tab_fuzzy false
  69. set preview_max_size 0
  70. set hint_collapse_threshold 10
  71. set show_selection_in_titlebar true
  72. set metadata_deep_search false
  73. set clear_filters_on_dir_change false
  74. set relative_current_zero false
  75. set one_indexed false
  76. set save_tabs_on_exit false
  77. set wrap_scroll false
  78. set global_inode_type_filter
  79. set freeze_files false
  80. set size_in_bytes false
  81. set nested_ranger_warning true
  82. alias e edit
  83. alias q quit
  84. alias q! quit!
  85. alias qa quitall
  86. alias qa! quitall!
  87. alias qall quitall
  88. alias qall! quitall!
  89. alias setl setlocal
  90. alias filter scout -prts
  91. alias hide scout -prtsv
  92. alias find scout -aets
  93. alias mark scout -mr
  94. alias unmark scout -Mr
  95. alias search scout -rs
  96. alias search_inc scout -rts
  97. alias travel scout -aefklst
  98. # ==================================================================
  99. # == Define keys for the browser
  100. # ===================================================================
  101. # Basic
  102. map Q quitall
  103. map q quit
  104. copymap q ZZ ZQ
  105. map R reload_cwd
  106. map F set freeze_files!
  107. map <C-r> reset
  108. map <C-l> redraw_window
  109. map <C-c> abort
  110. map <esc> change_mode normal
  111. map ~ set viewmode!
  112. map i display_file
  113. map <A-j> scroll_preview 1
  114. map <A-k> scroll_preview -1
  115. map ? help
  116. map W display_log
  117. map w taskview_open
  118. map S shell $SHELL
  119. map : console
  120. map ; console
  121. map ! console shell%space
  122. map @ console -p6 shell %%s
  123. map # console shell -p%space
  124. map s console shell%space
  125. map r chain draw_possible_programs; console open_with%space
  126. map f console find%space
  127. map cd console cd%space
  128. map <C-p> chain console; eval fm.ui.console.history_move(-1)
  129. # Change the line mode
  130. map Mf linemode filename
  131. map Mi linemode fileinfo
  132. map Mm linemode mtime
  133. map Mh linemode humanreadablemtime
  134. map Mp linemode permissions
  135. map Ms linemode sizemtime
  136. map MH linemode sizehumanreadablemtime
  137. map Mt linemode metatitle
  138. # Tagging / Marking
  139. map t tag_toggle
  140. map ut tag_remove
  141. map "<any> tag_toggle tag=%any
  142. map <Space> mark_files toggle=True
  143. map v mark_files all=True toggle=True
  144. map uv mark_files all=True val=False
  145. map V toggle_visual_mode
  146. map uV toggle_visual_mode reverse=True
  147. # For the nostalgics: Midnight Commander bindings
  148. map <F1> help
  149. map <F2> rename_append
  150. map <F3> display_file
  151. map <F4> edit
  152. map <F5> copy
  153. map <F6> cut
  154. map <F7> console mkdir%space
  155. map <F8> console delete
  156. #map <F8> console trash
  157. map <F10> exit
  158. # In case you work on a keyboard with dvorak layout
  159. map <UP> move up=1
  160. map <DOWN> move down=1
  161. map <LEFT> move left=1
  162. map <RIGHT> move right=1
  163. map <HOME> move to=0
  164. map <END> move to=-1
  165. map <PAGEDOWN> move down=1 pages=True
  166. map <PAGEUP> move up=1 pages=True
  167. map <CR> move right=1
  168. #map <DELETE> console delete
  169. map <INSERT> console touch%space
  170. # VIM-like
  171. copymap <UP> k
  172. copymap <DOWN> j
  173. copymap <LEFT> h
  174. copymap <RIGHT> l
  175. copymap <HOME> gg
  176. copymap <END> G
  177. copymap <PAGEDOWN> <C-F>
  178. copymap <PAGEUP> <C-B>
  179. map J move down=0.5 pages=True
  180. map K move up=0.5 pages=True
  181. copymap J <C-D>
  182. copymap K <C-U>
  183. # Jumping around
  184. map H history_go -1
  185. map L history_go 1
  186. map ] move_parent 1
  187. map [ move_parent -1
  188. map } traverse
  189. map { traverse_backwards
  190. map ) jump_non
  191. map gh cd ~
  192. map ge cd /etc
  193. map gu cd /usr
  194. map gd cd /dev
  195. map gl cd -r .
  196. map gL cd -r %f
  197. map go cd /opt
  198. map gv cd /var
  199. map gm cd /media
  200. map gi eval fm.cd('/run/media/' + os.getenv('USER'))
  201. map gM cd /mnt
  202. map gs cd /srv
  203. map gp cd /tmp
  204. map gr cd /
  205. map gR eval fm.cd(ranger.RANGERDIR)
  206. map g/ cd /
  207. map g? cd /usr/share/doc/ranger
  208. # External Programs
  209. map E edit
  210. map du shell -p du --max-depth=1 -h --apparent-size
  211. map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
  212. map yp yank path
  213. map yd yank dir
  214. map yn yank name
  215. map y. yank name_without_extension
  216. # Filesystem Operations
  217. map = chmod
  218. map cw console rename%space
  219. map a rename_append
  220. map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
  221. map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
  222. map pp paste
  223. map po paste overwrite=True
  224. map pP paste append=True
  225. map pO paste overwrite=True append=True
  226. map pl paste_symlink relative=False
  227. map pL paste_symlink relative=True
  228. map phl paste_hardlink
  229. map pht paste_hardlinked_subtree
  230. map pd console paste dest=
  231. map p`<any> paste dest=%any_path
  232. map p'<any> paste dest=%any_path
  233. map dD console delete
  234. map dT console trash
  235. map dd cut
  236. map ud uncut
  237. map da cut mode=add
  238. map dr cut mode=remove
  239. map dt cut mode=toggle
  240. map yy copy
  241. map uy uncut
  242. map ya copy mode=add
  243. map yr copy mode=remove
  244. map yt copy mode=toggle
  245. # Temporary workarounds
  246. map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
  247. map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
  248. map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
  249. map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
  250. map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
  251. map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
  252. map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
  253. map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
  254. # Searching
  255. map / console search%space
  256. map n search_next
  257. map N search_next forward=False
  258. map ct search_next order=tag
  259. map cs search_next order=size
  260. map ci search_next order=mimetype
  261. map cc search_next order=ctime
  262. map cm search_next order=mtime
  263. map ca search_next order=atime
  264. # Tabs
  265. map <C-n> tab_new
  266. map <C-w> tab_close
  267. map <TAB> tab_move 1
  268. map <S-TAB> tab_move -1
  269. map <A-Right> tab_move 1
  270. map <A-Left> tab_move -1
  271. map gt tab_move 1
  272. map gT tab_move -1
  273. map gn tab_new
  274. map gc tab_close
  275. map uq tab_restore
  276. map <a-1> tab_open 1
  277. map <a-2> tab_open 2
  278. map <a-3> tab_open 3
  279. map <a-4> tab_open 4
  280. map <a-5> tab_open 5
  281. map <a-6> tab_open 6
  282. map <a-7> tab_open 7
  283. map <a-8> tab_open 8
  284. map <a-9> tab_open 9
  285. map <a-r> tab_shift 1
  286. map <a-l> tab_shift -1
  287. # Sorting
  288. map or set sort_reverse!
  289. map oz set sort=random
  290. map os chain set sort=size; set sort_reverse=False
  291. map ob chain set sort=basename; set sort_reverse=False
  292. map on chain set sort=natural; set sort_reverse=False
  293. map om chain set sort=mtime; set sort_reverse=False
  294. map oc chain set sort=ctime; set sort_reverse=False
  295. map oa chain set sort=atime; set sort_reverse=False
  296. map ot chain set sort=type; set sort_reverse=False
  297. map oe chain set sort=extension; set sort_reverse=False
  298. map oS chain set sort=size; set sort_reverse=True
  299. map oB chain set sort=basename; set sort_reverse=True
  300. map oN chain set sort=natural; set sort_reverse=True
  301. map oM chain set sort=mtime; set sort_reverse=True
  302. map oC chain set sort=ctime; set sort_reverse=True
  303. map oA chain set sort=atime; set sort_reverse=True
  304. map oT chain set sort=type; set sort_reverse=True
  305. map oE chain set sort=extension; set sort_reverse=True
  306. map dc get_cumulative_size
  307. # Settings
  308. map zc set collapse_preview!
  309. map zd set sort_directories_first!
  310. map zh set show_hidden!
  311. map <C-h> set show_hidden!
  312. copymap <C-h> <backspace>
  313. copymap <backspace> <backspace2>
  314. map zI set flushinput!
  315. map zi set preview_images!
  316. map zm set mouse_enabled!
  317. map zp set preview_files!
  318. map zP set preview_directories!
  319. map zs set sort_case_insensitive!
  320. map zu set autoupdate_cumulative_size!
  321. map zv set use_preview_script!
  322. map zf console filter%space
  323. copymap zf zz
  324. # Filter stack
  325. map .d filter_stack add type d
  326. map .f filter_stack add type f
  327. map .l filter_stack add type l
  328. map .m console filter_stack add mime%space
  329. map .n console filter_stack add name%space
  330. map .# console filter_stack add hash%space
  331. map ." filter_stack add duplicate
  332. map .' filter_stack add unique
  333. map .| filter_stack add or
  334. map .& filter_stack add and
  335. map .! filter_stack add not
  336. map .r filter_stack rotate
  337. map .c filter_stack clear
  338. map .* filter_stack decompose
  339. map .p filter_stack pop
  340. map .. filter_stack show
  341. # Bookmarks
  342. map `<any> enter_bookmark %any
  343. map '<any> enter_bookmark %any
  344. map m<any> set_bookmark %any
  345. map um<any> unset_bookmark %any
  346. map m<bg> draw_bookmarks
  347. copymap m<bg> um<bg> `<bg> '<bg> p`<bg> p'<bg>
  348. # Generate all the chmod bindings with some python help:
  349. eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
  350. eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
  351. eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
  352. eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
  353. eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
  354. eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
  355. eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
  356. eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
  357. eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
  358. eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
  359. # ===================================================================
  360. # == Define keys for the console
  361. # ===================================================================
  362. # Note: Unmapped keys are passed directly to the console.
  363. # Basic
  364. cmap <tab> eval fm.ui.console.tab()
  365. cmap <s-tab> eval fm.ui.console.tab(-1)
  366. cmap <ESC> eval fm.ui.console.close()
  367. cmap <CR> eval fm.ui.console.execute()
  368. cmap <C-l> redraw_window
  369. copycmap <ESC> <C-c>
  370. copycmap <CR> <C-j>
  371. # Move around
  372. cmap <up> eval fm.ui.console.history_move(-1)
  373. cmap <down> eval fm.ui.console.history_move(1)
  374. cmap <left> eval fm.ui.console.move(left=1)
  375. cmap <right> eval fm.ui.console.move(right=1)
  376. cmap <home> eval fm.ui.console.move(right=0, absolute=True)
  377. cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
  378. cmap <a-b> eval fm.ui.console.move_word(left=1)
  379. cmap <a-f> eval fm.ui.console.move_word(right=1)
  380. copycmap <a-b> <a-left>
  381. copycmap <a-f> <a-right>
  382. # Line Editing
  383. cmap <backspace> eval fm.ui.console.delete(-1)
  384. cmap <delete> eval fm.ui.console.delete(0)
  385. cmap <C-w> eval fm.ui.console.delete_word()
  386. cmap <A-d> eval fm.ui.console.delete_word(backward=False)
  387. cmap <C-k> eval fm.ui.console.delete_rest(1)
  388. cmap <C-u> eval fm.ui.console.delete_rest(-1)
  389. cmap <C-y> eval fm.ui.console.paste()
  390. # And of course the emacs way
  391. copycmap <ESC> <C-g>
  392. copycmap <up> <C-p>
  393. copycmap <down> <C-n>
  394. copycmap <left> <C-b>
  395. copycmap <right> <C-f>
  396. copycmap <home> <C-a>
  397. copycmap <end> <C-e>
  398. copycmap <delete> <C-d>
  399. copycmap <backspace> <C-h>
  400. # Note: There are multiple ways to express backspaces. <backspace> (code 263)
  401. # and <backspace2> (code 127). To be sure, use both.
  402. copycmap <backspace> <backspace2>
  403. # This special expression allows typing in numerals:
  404. cmap <allow_quantifiers> false
  405. # ===================================================================
  406. # == Pager Keybindings
  407. # ===================================================================
  408. # Movement
  409. pmap <down> pager_move down=1
  410. pmap <up> pager_move up=1
  411. pmap <left> pager_move left=4
  412. pmap <right> pager_move right=4
  413. pmap <home> pager_move to=0
  414. pmap <end> pager_move to=-1
  415. pmap <pagedown> pager_move down=1.0 pages=True
  416. pmap <pageup> pager_move up=1.0 pages=True
  417. pmap <C-d> pager_move down=0.5 pages=True
  418. pmap <C-u> pager_move up=0.5 pages=True
  419. copypmap <UP> k <C-p>
  420. copypmap <DOWN> j <C-n> <CR>
  421. copypmap <LEFT> h
  422. copypmap <RIGHT> l
  423. copypmap <HOME> g
  424. copypmap <END> G
  425. copypmap <C-d> d
  426. copypmap <C-u> u
  427. copypmap <PAGEDOWN> n f <C-F> <Space>
  428. copypmap <PAGEUP> p b <C-B>
  429. # Basic
  430. pmap <C-l> redraw_window
  431. pmap <ESC> pager_close
  432. copypmap <ESC> q Q i <F3>
  433. pmap E edit_file
  434. # ===================================================================
  435. # == Taskview Keybindings
  436. # ===================================================================
  437. # Movement
  438. tmap <up> taskview_move up=1
  439. tmap <down> taskview_move down=1
  440. tmap <home> taskview_move to=0
  441. tmap <end> taskview_move to=-1
  442. tmap <pagedown> taskview_move down=1.0 pages=True
  443. tmap <pageup> taskview_move up=1.0 pages=True
  444. tmap <C-d> taskview_move down=0.5 pages=True
  445. tmap <C-u> taskview_move up=0.5 pages=True
  446. copytmap <UP> k <C-p>
  447. copytmap <DOWN> j <C-n> <CR>
  448. copytmap <HOME> g
  449. copytmap <END> G
  450. copytmap <C-u> u
  451. copytmap <PAGEDOWN> n f <C-F> <Space>
  452. copytmap <PAGEUP> p b <C-B>
  453. # Changing priority and deleting tasks
  454. tmap J eval -q fm.ui.taskview.task_move(-1)
  455. tmap K eval -q fm.ui.taskview.task_move(0)
  456. tmap dd eval -q fm.ui.taskview.task_remove()
  457. tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
  458. tmap <pageup> eval -q fm.ui.taskview.task_move(0)
  459. tmap <delete> eval -q fm.ui.taskview.task_remove()
  460. # Basic
  461. tmap <C-l> redraw_window
  462. tmap <ESC> taskview_close
  463. copytmap <ESC> q Q w <C-c>
  464. default_linemode devicons
  465. default_linemode devicons
  466. default_linemode devicons