spacemacs/layers/+tools/ranger/README.org

158 lines
5.6 KiB
Org Mode

#+TITLE: Ranger layer
#+TAGS: layer|tool
* Table of Contents :TOC_5_gh:noexport:
- [[#description][Description]]
- [[#features][Features:]]
- [[#configuration][Configuration]]
- [[#customizing][Customizing]]
- [[#parent-options][Parent options]]
- [[#preview-options][Preview options]]
- [[#key-bindings][Key bindings]]
* Description
This layer brings Ranger features to spacemacs from the =ranger= package.
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =ranger= to the existing =dotspacemacs-configuration-layers= list in this
file.
To default with preview enabled when entering ranger:
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers
'(ranger :variables
ranger-show-preview t))
#+END_SRC
** Features:
- use ranger to display dired with ranger like preview and stacked parent windows.
* Configuration
Most parameters can be toggled on and off and stay within the current emacs
session. Any settings that are desired on startup should be set below.
** Customizing
You toggle the use of =-= to enter ranger with `ranger-enter-with-minus`.
#+BEGIN_SRC elisp
(setq ranger-enter-with-minus t)
#+END_SRC
When disabling the mode you can choose to kill the buffers that were opened
while browsing the directories.
#+BEGIN_SRC elisp
(setq ranger-cleanup-on-disable t)
#+END_SRC
Or you can choose to kill the buffer just after you move to another entry in the
dired buffer.
#+BEGIN_SRC elisp
(setq ranger-cleanup-eagerly t)
#+END_SRC
You can choose to show dotfiles at ranger startup, toggled by =zh=
#+BEGIN_SRC elisp
(setq ranger-show-hidden t)
#+END_SRC
Define custom function used to output header of primary ranger window. Must
return a string that is placed in the header-line.
#+BEGIN_SRC elisp
(setq ranger-header-func 'ranger-header-line)
#+END_SRC
Define custom function used to output header of parent and preview windows. Must
return a string that is placed in the header-line.
#+BEGIN_SRC elisp
(setq ranger-parent-header-func 'ranger-parent-header-line)
#+END_SRC
** Parent options
You can set the number of folders to nest to the left, adjusted by =z-= and =z+=
#+BEGIN_SRC elisp
(setq ranger-parent-depth 2)
#+END_SRC
You can set the size of the parent windows as a fraction of the frame size
#+BEGIN_SRC elisp
(setq ranger-width-parents 0.12)
#+END_SRC
When increasing number of nested parent folders, set max width as fraction of
frame size to prevent filling up entire frame with parents.
#+BEGIN_SRC elisp
(setq ranger-max-parent-width 0.12)
#+END_SRC
** Preview options
You can choose to show previews literally, or through find-file, toggled by =zi=
#+BEGIN_SRC elisp
(setq ranger-show-literal t)
#+END_SRC
You can set the size of the preview windows as a fraction of the frame size
#+BEGIN_SRC elisp
(setq ranger-width-preview 0.55)
#+END_SRC
You probably don't want to open certain files like videos when using preview. To
ignore certain files when moving over them you can customize the following to
your liking:
#+BEGIN_SRC elisp
(setq ranger-ignored-extensions '("mkv" "iso" "mp4"))
#+END_SRC
To set the max files size (in MB), set the following parameter:
#+BEGIN_SRC elisp
(setq ranger-max-preview-size 10)
#+END_SRC
* Key bindings
| Key binding | Description |
|-----------------+------------------------------------------------------|
| ~SPC a r~ | launch ranger |
| ~SPC a d~ | deer (minimal ranger window in current directory) |
| ~C-p~ | (ranger) toggle ranger in dired buffer |
| ~j~ | (ranger) navigate down |
| ~k~ | (ranger) navigate up |
| ~yy~ | (ranger) copy |
| ~pp~ | (ranger) paste |
| ~R~ | (ranger) rename |
| ~D~ | (ranger) delete |
| ~C-j~ | (ranger) scroll preview window down |
| ~C-k~ | (ranger) scroll preview window up |
| ~f~ | (ranger) search for file names |
| ~i~ | (ranger) show preview of current file |
| ~zi~ | (ranger) toggle showing literal / full-text previews |
| ~zh~ | (ranger) toggle showing dotfiles |
| ~o~ | (ranger) sort options |
| ~H~ | (ranger) search through history |
| ~h~ | (ranger) go up directory |
| ~l~ | (ranger) find file / enter directory |
| ~RET~ | (ranger) find file / enter directory |
| ~q~ | (ranger) quit |
| ~;g~ | (ranger) revert buffer |
| ~z-~ | (ranger) reduce number of parents |
| ~z+~ | (ranger) increment number of parents |
| ~C-SPC~ / ~TAB~ | (ranger) mark current file |
| ~v~ | (ranger) toggle all marks |
| ~t~ | (ranger) toggle mark current file |
| ~S~ | (ranger) enter shell |
| ~;C~ | (ranger) copy directory / copy and move directory |
| ~;+~ | (ranger) create directory |