summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG8
-rw-r--r--README2
-rw-r--r--doc/HACKING18
-rw-r--r--doc/colorschemes.txt6
-rw-r--r--doc/ranger.194
-rw-r--r--doc/ranger.pod55
-rw-r--r--doc/rifle.131
-rw-r--r--ranger/__init__.py2
-rw-r--r--ranger/config/commands.py8
-rw-r--r--ranger/config/rc.conf2
-rw-r--r--ranger/container/file.py2
-rw-r--r--ranger/core/actions.py3
-rw-r--r--ranger/core/fm.py2
-rwxr-xr-xranger/data/scope.sh4
-rwxr-xr-xranger/ext/rifle.py2
15 files changed, 161 insertions, 78 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 48651d77..c5237279 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,13 @@
 This log documents changes between stable versions.
 
+2013-05-24: Version 1.6.1
+* Added support for version control systems, see:
+  http://lists.nongnu.org/archive/html/ranger-users/2013-03/msg00007.html
+* Added :scout command as a unified backend to :find, :search, etc
+* Added "open_all_images" setting to remove the need for external scripts
+  to handle opening of all images in a directory at once.
+* Now previewing with "i" uses the whole available width.
+
 2013-02-22: Version 1.6.0
 * Overhauled all config files.  Please update them or use the --clean switch
 * Added "examples/" directory to source code which contains sample programs or
diff --git a/README b/README
index 5588d0c0..aa16ad03 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-ranger v.1.6.0
+ranger v.1.6.1
 ==============
 ranger is a console file manager with VI key bindings.  It provides a
 minimalistic and nice curses interface with a view on the directory hierarchy.
diff --git a/doc/HACKING b/doc/HACKING
index 9dc219a6..c9e458ea 100644
--- a/doc/HACKING
+++ b/doc/HACKING
@@ -27,7 +27,7 @@ Starting Points
 
 Good places to read about ranger internals are:
 ranger/core/actions.py
-ranger/fsobject/fsobject.py
+ranger/container/fsobject.py
 
 About the UI:
 ranger/gui/widgets/browsercolumn.py
@@ -39,11 +39,11 @@ Common Changes
 --------------
 
 * Change which files are previewed in the auto preview:
-In ranger/fsobject/file.py
+In ranger/container/file.py
 the constant PREVIEW_BLACKLIST
 
 * Adding options:
-In ranger/config/options.py
+In ranger/config/rc.conf
 add the default value, like: my_option = True
 In ranger/container/settings.py
 add the name of your option to the constant ALLOWED_SETTINGS
@@ -55,15 +55,13 @@ assuming <self> is a "SettingsAware" object.
 Copy ranger/colorschemes/default.py to ranger/colorschemes/myscheme.py
 and modify it according to your needs.  Alternatively, mimic the jungle
 colorscheme.  It subclasses the default scheme and just modifies a few things.
-In ranger/config/options.py (or ~/.config/ranger/options.py), change
-    colorscheme = 'default'
-to: colorscheme = 'myscheme'
+In ranger/config/rc.conf (or ~/.config/ranger/rc.conf), add the line:
+
+    set colorscheme myscheme
 
 * Change the file type => application associations:
-In ranger/config/apps.py
-modify the method app_default.
-The variable "f" is a filesystem-object with attributes like mimetype,
-extension, etc.  For a full list, check ranger/fsobject/fsobject.py
+Edit the configuration file ~/.config/ranger/rifle.conf.  The default one can
+be obtained by running "ranger --copy-config rifle".
 
 * Change the file extension => mime type associations:
 Modify ranger/data/mime.types
diff --git a/doc/colorschemes.txt b/doc/colorschemes.txt
index b14710ce..e1fee2da 100644
--- a/doc/colorschemes.txt
+++ b/doc/colorschemes.txt
@@ -64,9 +64,9 @@ Colorschemes are searched for in these directories:
 ~/.config/ranger/colorschemes/
 /path/to/ranger/colorschemes/
 
-To specify which colorscheme to use, define the variable "colorscheme"
-in your options.py:
-colorscheme = "default"
+To specify which colorscheme to use, change the option "colorscheme"
+in your rc.conf:
+set colorscheme default
 
 This means, use the colorscheme contained in
 either ~/.config/ranger/colorschemes/default.py or
diff --git a/doc/ranger.1 b/doc/ranger.1
index a8c70ad4..03687636 100644
--- a/doc/ranger.1
+++ b/doc/ranger.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20)
+.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -38,6 +38,8 @@
 .    ds PI \(*p
 .    ds L" ``
 .    ds R" ''
+.    ds C`
+.    ds C'
 'br\}
 .\"
 .\" Escape single quotes in literal strings from groff's Unicode transform.
@@ -48,17 +50,24 @@
 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
-.ie \nF \{\
-.    de IX
-.    tm Index:\\$1\t\\n%\t"\\$2"
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
 ..
-.    nr % 0
-.    rr F
-.\}
-.el \{\
-.    de IX
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{
+.    if \nF \{
+.        de IX
+.        tm Index:\\$1\t\\n%\t"\\$2"
 ..
+.        if !\nF==2 \{
+.            nr % 0
+.            nr F 2
+.        \}
+.    \}
 .\}
+.rr rF
 .\"
 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
@@ -124,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "RANGER 1"
-.TH RANGER 1 "ranger-1.6.0" "03/24/2013" "ranger manual"
+.TH RANGER 1 "ranger-1.6.1" "06/21/2013" "ranger manual"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -141,19 +150,25 @@ ranger \- visual file manager
 [\fB\-\-profile\fR] [\fB\-\-cmd\fR=\fIcommand\fR] [\fIpath\fR]
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-ranger is a console file manager with \s-1VI\s0 key bindings.  It provides a
-minimalistic and nice curses interface with a view on the directory hierarchy.
-The secondary task of ranger is to figure out which program you want to use to
-open your files with.
+ranger is a console file manager with \s-1VI\s0 key bindings.
+.SH "RESOURCES"
+.IX Header "RESOURCES"
+\&\fIThis manual\fR contains instructions on how to use and configure ranger.
+.PP
+\&\fIInside ranger\fR, you can press \fI1?\fR for a list of key bindings, \fI2?\fR for
+commands and \fI3?\fR for settings.
+.PP
+The \fI\s-1README\s0\fR contains install instructions.
 .PP
-This manual mainly contains information on the usage of ranger.  Refer to the
-\&\fI\s-1README\s0\fR for install instructions and to \fIdoc/HACKING\fR for development
-specific information.  For configuration, see the files in \fIranger/config\fR.
-They are usually installed to \fI/usr/lib/python*/site\-packages/ranger/config\fR
-and can be obtained with ranger's \-\-copy\-config option.
+The file \fIdoc/HACKING\fR contains guidelines for code modification.
 .PP
-Inside ranger, you can press \fI1?\fR for a list of key bindings, \fI2?\fR for a list
-of commands and \fI3?\fR for a list of settings.
+The directory \fIdoc/configs\fR contains configuration files.  They are usually
+installed to \fI/usr/lib/python*/site\-packages/ranger/config\fR and can be
+obtained with ranger's \-\-copy\-config option.
+.PP
+The man page of \fIrifle\fR\|(1) describes the functions of the file opener
+.PP
+The section \fI\s-1LINKS\s0\fR of this man page contains further resources.
 .SH "OPTIONS"
 .IX Header "OPTIONS"
 .IP "\fB\-d\fR, \fB\-\-debug\fR" 14
@@ -245,7 +260,7 @@ To enable this feature, install the program \*(L"w3m\*(R" and set the option
 \&\f(CW\*(C`preview_images\*(C'\fR to true.
 .SS "\s-1SELECTION\s0"
 .IX Subsection "SELECTION"
-The \fIselection\fR is defined as \*(L"All marked files \s-1IF\s0 \s-1THERE\s0 \s-1ARE\s0 \s-1ANY\s0, otherwise
+The \fIselection\fR is defined as \*(L"All marked files \s-1IF THERE ARE ANY,\s0 otherwise
 the current file.\*(R"  Be aware of this when using the :delete command, which
 deletes all files in the selection.
 .PP
@@ -379,7 +394,7 @@ Many key bindings take an additional numeric argument.  Type \fI5j\fR to move
 down 5 lines, \fI2l\fR to open a file in mode 2, \fI10<Space>\fR to mark 10 files.
 .PP
 This list contains the most useful bindings:
-.SS "\s-1MAIN\s0 \s-1BINDINGS\s0"
+.SS "\s-1MAIN BINDINGS\s0"
 .IX Subsection "MAIN BINDINGS"
 .IP "h, j, k, l" 14
 .IX Item "h, j, k, l"
@@ -468,7 +483,7 @@ Toggle the mark-status of all files
 .IP "V" 14
 .IX Item "V"
 Starts the visual mode, which selects all files between the starting point and
-the cursor until you press \s-1ESC\s0.  To unselect files in the same way, use \*(L"uV\*(R".
+the cursor until you press \s-1ESC. \s0 To unselect files in the same way, use \*(L"uV\*(R".
 .IP "/" 14
 Search for files in the current directory.
 .IP ":" 14
@@ -486,7 +501,7 @@ Go to the next or previous tab. You can also use \s-1TAB\s0 and \s-1SHIFT+TAB\s0
 .IP "gc, ^W" 14
 .IX Item "gc, ^W"
 Close the current tab.  The last tab cannot be closed this way.
-.SS "READLINE-LIKE \s-1BINDINGS\s0 \s-1IN\s0 \s-1THE\s0 \s-1CONSOLE\s0"
+.SS "READLINE-LIKE \s-1BINDINGS IN THE CONSOLE\s0"
 .IX Subsection "READLINE-LIKE BINDINGS IN THE CONSOLE"
 .IP "^B, ^F" 14
 .IX Item "^B, ^F"
@@ -848,11 +863,15 @@ Examples:
 .IX Item "filter [string]"
 Displays only the files which contain the \fIstring\fR in their basename.  Running
 this command without any parameter will reset the fitler.
+.Sp
+This command is based on the \fIscout\fR command and supports all of its options.
 .IP "find \fIpattern\fR" 2
 .IX Item "find pattern"
 Search files in the current directory that contain the given (case-insensitive)
 string in their name as you type.  Once there is an unambiguous result, it will
 be run immediately. (Or entered, if it's a directory.)
+.Sp
+This command is based on the \fIscout\fR command and supports all of its options.
 .IP "grep \fIpattern\fR" 2
 .IX Item "grep pattern"
 Looks for a string in all marked files or directories.
@@ -873,6 +892,8 @@ not in the console, task view or pager.  To bind keys there, use the commands
 .IP "mark \fIpattern\fR" 2
 .IX Item "mark pattern"
 Mark all files matching the regular expression pattern.
+.Sp
+This command is based on the \fIscout\fR command and supports all of its options.
 .IP "mark_tag [\fItags\fR]" 2
 .IX Item "mark_tag [tags]"
 Mark all tags that are tagged with either of the given tags.  When leaving out
@@ -883,8 +904,13 @@ Creates a directory with the name \fIdirname\fR.
 .IP "open_with [\fIapplication\fR] [\fIflags\fR] [\fImode\fR]" 2
 .IX Item "open_with [application] [flags] [mode]"
 Open the selected files with the given application, unless it is omitted, in
-which case the default application is used.  \fIflags\fR and \fImode\fR have their
-own section in the man page.
+which case the default application is used.  \fIflags\fR change the way the
+application is executed and are described in their own section in this man
+page.  The \fImode\fR is a number that specifies which application to use.  The list
+of applications is generated by the external file opener \*(L"rifle\*(R" and can be
+displayed when pressing \*(L"r\*(R" in ranger.
+.Sp
+Note that if you specify an application, the mode is ignored.
 .IP "pmap \fIkey\fR \fIcommand\fR" 2
 .IX Item "pmap key command"
 Binds keys for the pager. Works like the \f(CW\*(C`map\*(C'\fR command.
@@ -938,11 +964,15 @@ a :filter\-like command using globbing.
 .IX Item "search pattern"
 Search files in the current directory that match the given (case insensitive)
 regular expression pattern.
+.Sp
+This command is based on the \fIscout\fR command and supports all of its options.
 .IP "search_inc \fIpattern\fR" 2
 .IX Item "search_inc pattern"
 Search files in the current directory that match the given (case insensitive)
 regular expression pattern.  This command gets you to matching files as you
 type.
+.Sp
+This command is based on the \fIscout\fR command and supports all of its options.
 .IP "set \fIoption\fR \fIvalue\fR" 2
 .IX Item "set option value"
 Assigns a new value to an option.  Valid options are listed in the settings
@@ -982,6 +1012,8 @@ string, possibly with other letters in between.  The filter is applied as
 you type.  When only one directory is left, it is entered and the console
 is automatically reopened, allowing for fast travel.
 To close the console, press \s-1ESC\s0 or execute a file.
+.Sp
+This command is based on the \fIscout\fR command and supports all of its options.
 .IP "tunmap [\fIkeys ...\fR]" 2
 .IX Item "tunmap [keys ...]"
 Removes key mappings of the taskview. Works like the \f(CW\*(C`unmap\*(C'\fR command.
@@ -992,6 +1024,8 @@ in the console, taskview, or pager use \*(L"cunmap\*(R", \*(L"tunmap\*(R" or \*(
 .IP "unmark \fIpattern\fR" 2
 .IX Item "unmark pattern"
 Unmark all files matching a regular expression pattern.
+.Sp
+This command is based on the \fIscout\fR command and supports all of its options.
 .IP "unmark_tag [\fItags\fR]" 2
 .IX Item "unmark_tag [tags]"
 Unmark all tags that are tagged with either of the given tags.  When leaving
@@ -1067,7 +1101,7 @@ exists.  External programs can determine whether they were spawned from ranger
 by checking for this variable.
 .IP "\s-1RANGER_LOAD_DEFAULT_RC\s0" 8
 .IX Item "RANGER_LOAD_DEFAULT_RC"
-If this variable is set to \s-1FALSE\s0, ranger will not load the default rc.conf.
+If this variable is set to \s-1FALSE,\s0 ranger will not load the default rc.conf.
 This can save time if you copied the whole rc.conf to ~/.config/ranger/ and
 don't need the default one at all.
 .IP "\s-1EDITOR\s0" 8
@@ -1108,8 +1142,8 @@ provided along with the source code.
 \&\s-1GNU\s0 General Public License 3 or (at your option) any later version.
 .SH "LINKS"
 .IX Header "LINKS"
-.IP "Download: http://ranger.nongnu.org/ranger\-stable.tar.gz <http://ranger.nongnu.org/ranger-stable.tar.gz>" 4
-.IX Item "Download: http://ranger.nongnu.org/ranger-stable.tar.gz <http://ranger.nongnu.org/ranger-stable.tar.gz>"
+.IP "Download: <http://ranger.nongnu.org/ranger\-stable.tar.gz>" 4
+.IX Item "Download: <http://ranger.nongnu.org/ranger-stable.tar.gz>"
 .PD 0
 .IP "The project page: <http://ranger.nongnu.org/>" 4
 .IX Item "The project page: <http://ranger.nongnu.org/>"
diff --git a/doc/ranger.pod b/doc/ranger.pod
index ac9970c5..713878f6 100644
--- a/doc/ranger.pod
+++ b/doc/ranger.pod
@@ -19,19 +19,29 @@ B<ranger> [B<--version>] [B<--help>] [B<--debug>] [B<--clean>]
 
 =head1 DESCRIPTION
 
-ranger is a console 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 figure out which program you want to use to
-open your files with.
+ranger is a console file manager with VI key bindings.
 
-This manual mainly contains information on the usage of ranger.  Refer to the
-F<README> for install instructions and to F<doc/HACKING> for development
-specific information.  For configuration, see the files in F<ranger/config>.
-They are usually installed to F</usr/lib/python*/site-packages/ranger/config>
-and can be obtained with ranger's --copy-config option.
 
-Inside ranger, you can press I<1?> for a list of key bindings, I<2?> for a list
-of commands and I<3?> for a list of settings.
+
+
+=head1 RESOURCES
+
+I<This manual> contains instructions on how to use and configure ranger.
+
+I<Inside ranger>, you can press I<1?> for a list of key bindings, I<2?> for
+commands and I<3?> for settings.
+
+The F<README> contains install instructions.
+
+The file F<doc/HACKING> contains guidelines for code modification.
+
+The directory F<doc/configs> contains configuration files.  They are usually
+installed to F</usr/lib/python*/site-packages/ranger/config> and can be
+obtained with ranger's --copy-config option.
+
+The man page of rifle(1) describes the functions of the file opener
+
+The section I<LINKS> of this man page contains further resources.
 
 
 
@@ -868,12 +878,16 @@ Examples:
 Displays only the files which contain the I<string> in their basename.  Running
 this command without any parameter will reset the fitler.
 
+This command is based on the I<scout> command and supports all of its options.
+
 =item find I<pattern>
 
 Search files in the current directory that contain the given (case-insensitive)
 string in their name as you type.  Once there is an unambiguous result, it will
 be run immediately. (Or entered, if it's a directory.)
 
+This command is based on the I<scout> command and supports all of its options.
+
 =item grep I<pattern>
 
 Looks for a string in all marked files or directories.
@@ -898,6 +912,8 @@ not in the console, task view or pager.  To bind keys there, use the commands
 
 Mark all files matching the regular expression pattern.
 
+This command is based on the I<scout> command and supports all of its options.
+
 =item mark_tag [I<tags>]
 
 Mark all tags that are tagged with either of the given tags.  When leaving out
@@ -910,8 +926,13 @@ Creates a directory with the name I<dirname>.
 =item open_with [I<application>] [I<flags>] [I<mode>]
 
 Open the selected files with the given application, unless it is omitted, in
-which case the default application is used.  I<flags> and I<mode> have their
-own section in the man page.
+which case the default application is used.  I<flags> change the way the
+application is executed and are described in their own section in this man
+page.  The I<mode> is a number that specifies which application to use.  The list
+of applications is generated by the external file opener "rifle" and can be
+displayed when pressing "r" in ranger.
+
+Note that if you specify an application, the mode is ignored.
 
 =item pmap I<key> I<command>
 
@@ -973,12 +994,16 @@ a :filter-like command using globbing.
 Search files in the current directory that match the given (case insensitive)
 regular expression pattern.
 
+This command is based on the I<scout> command and supports all of its options.
+
 =item search_inc I<pattern>
 
 Search files in the current directory that match the given (case insensitive)
 regular expression pattern.  This command gets you to matching files as you
 type.
 
+This command is based on the I<scout> command and supports all of its options.
+
 =item set I<option> I<value>
 
 Assigns a new value to an option.  Valid options are listed in the settings
@@ -1023,6 +1048,8 @@ you type.  When only one directory is left, it is entered and the console
 is automatically reopened, allowing for fast travel.
 To close the console, press ESC or execute a file.
 
+This command is based on the I<scout> command and supports all of its options.
+
 =item tunmap [I<keys ...>]
 
 Removes key mappings of the taskview. Works like the C<unmap> command.
@@ -1036,6 +1063,8 @@ in the console, taskview, or pager use "cunmap", "tunmap" or "punmap".
 
 Unmark all files matching a regular expression pattern.
 
+This command is based on the I<scout> command and supports all of its options.
+
 =item unmark_tag [I<tags>]
 
 Unmark all tags that are tagged with either of the given tags.  When leaving
diff --git a/doc/rifle.1 b/doc/rifle.1
index 87578c4c..6395a34d 100644
--- a/doc/rifle.1
+++ b/doc/rifle.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20)
+.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -38,6 +38,8 @@
 .    ds PI \(*p
 .    ds L" ``
 .    ds R" ''
+.    ds C`
+.    ds C'
 'br\}
 .\"
 .\" Escape single quotes in literal strings from groff's Unicode transform.
@@ -48,17 +50,24 @@
 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
-.ie \nF \{\
-.    de IX
-.    tm Index:\\$1\t\\n%\t"\\$2"
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
 ..
-.    nr % 0
-.    rr F
-.\}
-.el \{\
-.    de IX
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{
+.    if \nF \{
+.        de IX
+.        tm Index:\\$1\t\\n%\t"\\$2"
 ..
+.        if !\nF==2 \{
+.            nr % 0
+.            nr F 2
+.        \}
+.    \}
 .\}
+.rr rF
 .\"
 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
@@ -124,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "RIFLE 1"
-.TH RIFLE 1 "rifle-1.6.0" "03/01/2013" "rifle manual"
+.TH RIFLE 1 "rifle-1.6.1" "06/21/2013" "rifle manual"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -187,7 +196,7 @@ Determines which editor to use for editing files (in the default \fIrifle.conf\f
 Determines which pager to use for displaying files (in the default \fIrifle.conf\fR).
 .IP "\s-1TERMCMD\s0" 8
 .IX Item "TERMCMD"
-Determines the terminal emulator command for use with the \fIt\fR flag.  It is required that the value is the path to an executable file which accepts the \*(L"\-e \s-1COMMAND\s0\*(R" argument.
+Determines the terminal emulator command for use with the \fIt\fR flag.  It is required that the value is the path to an executable file which accepts the \*(L"\-e \s-1COMMAND\*(R"\s0 argument.
 .IP "\s-1XDG_CONFIG_HOME\s0" 8
 .IX Item "XDG_CONFIG_HOME"
 Specifies the directory for configuration files. Defaults to \fI\f(CI$HOME\fI/.config\fR.
diff --git a/ranger/__init__.py b/ranger/__init__.py
index 5dc1c433..c3f05d3d 100644
--- a/ranger/__init__.py
+++ b/ranger/__init__.py
@@ -13,7 +13,7 @@ import os
 
 # Information
 __license__ = 'GPL3'
-__version__ = '1.6.0'
+__version__ = '1.6.1'
 __author__ = __maintainer__ = 'Roman Zimbelmann'
 __email__ = 'hut@lavabit.com'
 
diff --git a/ranger/config/commands.py b/ranger/config/commands.py
index 4d290e7e..e4415b64 100644
--- a/ranger/config/commands.py
+++ b/ranger/config/commands.py
@@ -42,9 +42,9 @@
 #      the user pressed 6X, self.quantifier will be 6.
 # self.arg(n): The n-th argument, or an empty string if it doesn't exist.
 # self.rest(n): The n-th argument plus everything that followed.  For example,
-#      If the command was "search foo bar a b c", rest(2) will be "bar a b c"
-# self.start(n): The n-th argument and anything before it.  For example,
-#      If the command was "search foo bar a b c", rest(2) will be "bar a b c"
+#      if the command was "search foo bar a b c", rest(2) will be "bar a b c"
+# self.start(n): Anything before the n-th argument.  For example, if the
+#      command was "search foo bar a b c", start(2) will be "search foo"
 #
 # ===================================================================
 # And this is a little reference for common ranger functions and objects:
@@ -1195,7 +1195,7 @@ class diff(Command):
     """
     :diff
 
-    Displays a diff of selected files against last last commited version
+    Displays a diff of selected files against the last committed version
     """
     def execute(self):
         from ranger.ext.vcs import VcsError
diff --git a/ranger/config/rc.conf b/ranger/config/rc.conf
index fd8e78d2..8955b4a4 100644
--- a/ranger/config/rc.conf
+++ b/ranger/config/rc.conf
@@ -491,6 +491,7 @@ copypmap <PAGEDOWN> n  f  <C-F>  <Space>
 copypmap <PAGEUP>   p  b  <C-B>
 
 # Basic
+pmap     <C-l> redraw_window
 pmap     <ESC> pager_close
 copypmap <ESC> q Q i <F3>
 pmap E      edit_file
@@ -526,5 +527,6 @@ tmap <pageup>   eval -q fm.ui.taskview.task_move(0)
 tmap <delete>   eval -q fm.ui.taskview.task_remove()
 
 # Basic
+tmap <C-l> redraw_window
 tmap <ESC> taskview_close
 copytmap <ESC> q Q w <C-c>
diff --git a/ranger/container/file.py b/ranger/container/file.py
index 95d9b284..7c83cace 100644
--- a/ranger/container/file.py
+++ b/ranger/container/file.py
@@ -8,7 +8,7 @@ N_FIRST_BYTES = 256
 control_characters = set(chr(n) for n in
         set(range(0, 9)) | set(range(14, 32)))
 
-# Don't even try to preview files which mach this regular expression:
+# Don't even try to preview files which match this regular expression:
 PREVIEW_BLACKLIST = re.compile(r"""
         # look at the extension:
         \.(
diff --git a/ranger/core/actions.py b/ranger/core/actions.py
index 1816867b..80b35970 100644
--- a/ranger/core/actions.py
+++ b/ranger/core/actions.py
@@ -411,6 +411,9 @@ class Actions(FileManagerAware, EnvironmentAware, SettingsAware):
                             cwd.mark_item(f, False)
                         for f in old - current - targets:
                             cwd.mark_item(f, True)
+                if self.ui.pager.visible:
+                    self.display_file()
+
 
     def move_parent(self, n, narg=None):
         self.change_mode('normal')
diff --git a/ranger/core/fm.py b/ranger/core/fm.py
index 1f947935..56fc1bb1 100644
--- a/ranger/core/fm.py
+++ b/ranger/core/fm.py
@@ -147,7 +147,7 @@ class FM(Actions, SignalDispatcher):
 
                     if command[0:4] == 'feh ':
                         new_command = command.replace("feh ",
-                            "feh --start-at '%s' " % \
+                            "feh --start-at %s " % \
                             shell_quote(self.thisfile.basename), 1)
 
                     if new_command:
diff --git a/ranger/data/scope.sh b/ranger/data/scope.sh
index 64bab712..76481f94 100755
--- a/ranger/data/scope.sh
+++ b/ranger/data/scope.sh
@@ -26,14 +26,14 @@ maxln=200    # Stop after $maxln lines.  Can be used like ls | head -n $maxln
 
 # Find out something about the file:
 mimetype=$(file --mime-type -Lb "$path")
-extension=${path##*.}
+extension=$(echo "${path##*.}" | tr "[:upper:]" "[:lower:]")
 
 # Functions:
 # runs a command and saves its output into $output.  Useful if you need
 # the return value AND want to use the output in a pipe
 try() { output=$(eval '"$@"'); }
 
-# writes the output of the previouosly used "try" command
+# writes the output of the previously used "try" command
 dump() { echo "$output"; }
 
 # a common post-processing function used after most commands
diff --git a/ranger/ext/rifle.py b/ranger/ext/rifle.py
index 61961c16..054491ac 100755
--- a/ranger/ext/rifle.py
+++ b/ranger/ext/rifle.py
@@ -19,7 +19,7 @@ import re
 from subprocess import Popen, PIPE
 import sys
 
-__version__ = 'rifle 1.6.0'
+__version__ = 'rifle 1.6.1'
 
 # Options and constants that a user might want to change:
 DEFAULT_PAGER = 'less'