ranger - file manager
Description
ranger is a file manager with VI key bindings. It provides a minimalistic and
nice curses interface with a view on the directory hierarchy. The secondary
task of ranger is to psychically guess which program you want to use for
opening particular files.
- Uses Python (2.6 or higher)
- Latest stable version: ranger 1.5.4 (2012/05/03)
- git clone git://git.savannah.nongnu.org/ranger.git
A note to packagers: Versions meant for packaging are listed in the changelog
and are usually announced on this
atom feed and in
the mailing list.
Dependencies
- Python (tested with version 2.6, 2.7, 3.1, 3.2) with support for ncurses and (optionally) wide-unicode.
- A pager (less by default)
Optional:
- file for determining file types
- The python module chardet, in case of encoding detection problems
- "sudo" to use the "run as root"-feature
Optional, for enhanced file previews (with "scope.sh"):
Note: to use custom file previews, you need ranger 1.3.1 or later, and a script that creates previews. Use the default script by typing:
ranger --copy-config=scope
Features
- UTF-8 Support
- Multi-column display
- Preview of the selected file/directory
- Common file operations (create/chmod/copy/delete/...)
- VIM-like console and hotkeys
- Automatically determine file types and run them with correct programs
- Change the directory of your shell after exiting ranger
- Tabs, Bookmarks, Mouse support
Changelog
This log documents changes between stable versions.
2012-05-03: Version 1.5.4
- Added exiftool to scope.sh by default
- Fixed a crash when entering a directory with a unicode name
- Speedup in ranger.ext.get_executables
2012-03-05: Version 1.5.3
- Added --selectfile option that selects a certain file on startup
- Added --list-tagged-files option
- Added --cmd option to run commands on startup
- Added --profile option for additional debug information on exit
- Added a visual mode (activate with "V", deactivate with Esc)
- Added a reversed visual mode (activate with "uV")
- Added $RANGER_LEVEL environment variable which ranger sets to "1" or higher so programs can know that they were spawned from ranger
- Added run flag "r" for running with root privileges (needs sudo)
- Added run flag "t" for running in a new terminal (as specified in $TERMCMD)
- Added :relink command to change destinations of symlinks
- Added "dc" binding for getting the cumulative size of a directory
- Added "autoupdate_cumulative_size" option
- Added "pht" binding to Paste Hardlinked subTrees (like cp -l)
- Improved sorting speed of signals (noticable when caching many directories)
- Improved drawing speed
- Fixed unexpected behavior when displaying nonprintable characters
- Fixed :bulkrename to work with files starting with a minus sign
- Fixed RangerChooser example in man page
- Fixed crash when opening images with sxiv/feh by running "ranger <image>"
2011-10-23: Version 1.5.2
- Fixed graphical bug that appears in certian cases when drawing characters at the right edge.
2011-10-23: Version 1.5.1
- Added fm.select_file(path)
- Added --choosefiles option (like --choosefile, but chooses multiple files)
- Fixed --list-unused-keys
- Fixed Zombie processes
- Fixed handling of filenames with undecodable bytes (unicode surrogates)
- Fixed crashes due to incomplete loading of directories
- Fixed tab completion of the command "shell"
- Fixed "ot" and "oT" keys in rc.conf
- Fixed parsing of chained commands (like in the binding "om")
2011-10-11: Version 1.5.0
- Full python3.2 compatibility
- Added new configuration file "rc.conf" which contains a list of commands that are executed on startup - mainly used for keybindings
- Added --list-unused-keys
- Added new program handlers to apps.py
- Added pop-up window for keychains and bookmarks
- Added load_default_rc option
- Fixed all known unicode issues
- Fixed crash when $TERM is unknown to the system
- Fixed scrolling in colored preview
- Changed the default column_ratios to 1/3/4 and sorting method to "natural"
- Changed :rename so it doesn't overwrite existing files
- Internal actions are now accessible as commands
- Replaced unittests by doctests
- Replaced integrated help with an extended man page and dynamic lists of keybindings, commands and settings.
- Removed "keys.py" configuration file in favor of "rc.conf"
- Removed "texas" colorscheme
- apps.py: Now able to define programs that only run with Xorg
- commands.py: Using parse(self.line) to parse the line is unnecessary now. parse(self.line).rest(n) is now written as self.rest(n). However, parse(self.line).chunk(n) has been renamed to self.arg(n).
- commands.py: parse(self.line) + X is now self.firstpart + X
- commands.py: New special attribute "resolve_macros" which decides whether strings like %f should be expanded to the name of the current file, etc.
- commands.py: New special attribute "escape_macros_for_shell" to toggle whether or not macros should be escaped, so you can use them in other commands than :shell, for example :edit %f
- Countless small fixes and improvements
2011-10-02: Version 1.4.4
- Added various key bindings
- Fixed blocking when using interactive scripts in scope.sh
- Added wavpack and webm types to mime.types
- Forbid piping things into ranger
- Added bittorrent preview
- Improved hints
- Added option "display_tags_in_all_columns"
- Fixed issues with ALT key
- Added command.cancel method which is called when pressing ESC in console
- Added sorting and cycling by ctime and atime
- Added custom tags (press "x)
- Fixed pager crash when trying to read non-readable file
- Added keys for chmod (like +ow for "chmod o+w", etc)
- Added "c" flag for running files
2011-04-05: Version 1.4.3
- Fixed mimetype checking when invoking ranger with a filename
- Fixed loss of bookmarks when disk is full
- Minor improvements
2011-03-05: Version 1.4.2
- Added --choosefile and --choosedir flag
- Added use of bookmarks in tab completion of the :cd command
- Fixed bug with detached programs and python 3.2
2011-01-04: Version 1.4.1
- Fixed crash when preview failed under some circumstances
- Fixed graphical bug when pressing i
2010-12-22: Version 1.4.0
- Added option to use any external scripts for previews (type 19?)
- Added key: zv to toggle the use of the external script
- Added indicator for the used filter (type "zf")
- Added option padding_right to remove whitespace if theres no preview
- Added command :search_inc for incremental search
- Added commands :save_copy_buffer and :load_copy_buffer to share the copied files between ranger instances
- Added mimeopen as a fallback if no useful application can be found
- Added natural sort, sorts 1foo before 10foo. (type "on")
- Added keys: yp, yd and yb to copy path, dirname or basename to seleciton
- Let open_with use the selection, not just one file
- Run files with right mouse click
- Implemented copying via coreutils rather than internal python code
- Improved handling of unicode
- Some restructuration of the source code
2010-12-13: Version 1.2.3
- Enable binding to alt-keys
- Fixed memory leak in garbage collecting of old, unused directory objects
- Fixed python3 incompatibilities
- Fixed problems with identifying changes of files
- Fixed lazy lookup of some FSObject attributes
2010-10-10: Version 1.2.2
- Prevent currently used directories from being garbage collected
- Disable mouse buttons when console is open
- Fixed :cd command: Without arguments, cd's into $HOME
- Fixed bug which prevented pydoc to work on some config files
- Fixed some bugs in "snow" and "jungle" colorschemes
- Several other clean-ups and fixes
2010-09-16: Version 1.2.1
- Fixed yy/pp bug when yanking multiple directories
2010-09-13: Version 1.2.0
- !!! Changed the default configuration directory to ~/.config/ranger !!!
- Removed "Console Modes", each old mode is now a simple command
- Disabled file previews by default if ranger is used by root
- Allow to jump to specific help sections by typing two numbers, e.g. 13?
- Added keys: da, dr, ya, yr for adding and removing files from copy buffer
- Added keys: gl and gL to resolve links, see 11?
- Added key: pL to create a relative symlink
- Added %<LETTER> and %<N><LETTER> macros for the console, see 33?
- Fixed ansi codes for colors in the pager
- Use the file ~/.mime.types for mime type detection
- Several clean-ups and fixes
2010-07-17: Version 1.1.2
- Fix crash when using scrollwheel to scroll down in some cases
- The command "ranger dir1 dir2 ..." opens multiple directories in tabs
- Removed pydoc html documentation by default, re-create it with "make doc"
- Minor fixes
2010-06-18: Version 1.1.1
- New install script, "setup.py"
- New flag for running programs: "w" (waits for enter press)
- Minor fixes
2010-06-09: Version 1.1.0
- Added a man page
- Tab support
- Improved directory loading performance
- Commands are definable in ~/.ranger/commands.py
- Case insensitive sorting (type zs)
- Better UTF support
- Possibility to turn off previews (zp and zP)
- Changing options with :set (e.g. :set column_ratios=1,2,3,4)
- Ask for confirmation when using :delete
- New invocation flag: --fail-unless-cd
- New hotkeys, commands, options.
- New syntax for ~/.ranger/keys.py
- Several user contributions
- And tons of general improvements
NOTE: The syntax for configuration is still subject to change.