Before this patch, commands containing %-signs set the title wrong
(urxvt and xterm) [1] and produce strange output in urxvt [2].
test for bug 1:
> sleep 10 && echo %
sets title to "sleep 10 && echo %<<"
> sleep 10 && echo %f
doesn't change the title at all
test for bug 2 (only urxvt):
> echo %f
39m%f
^^^^^----- output
Use the HISTFILE environment variable in place of copying it to
_per_directory_history_global so that users can change the environment variable
after sourcing per-directory-history and have the global variable set correctly
a plugin for useing the colemak[1] keyboard layout and vi-mode in zsh, rotates
some keys around in vi command mode so that the physical hjkl keys are still
used for movement, all the rotated keys are either in colemak's location or
qwerty's location, so it is easy to pick up
[1] www.colemak.com
This is a implementation of per directory history for zsh, some
implementations of which exist in bash[1,2]. It also implements
a per-directory-history-toggle-history function to change from using the
directory history to using the global history. In both cases the history is
always saved to both the global history and the directory history, so the
toggle state will not effect the saved histories. Being able to switch
between global and directory histories on the fly is a novel feature as far
as I am aware.
[1]: http://www.compbiome.com/2010/07/bash-per-directory-bash-history.html
[2]: http://dieter.plaetinck.be/per_directory_bash
the vi-mode plugin destroys any bindings made before it is sourced due to the
'bindkey -v' call to switch to using vi-mode. This patch saves the bindings
before invoking 'bindkey -v' then rebinds them afterwards, this fixes a number
of outstanding issues due to people using vi-mode and having things in oh-my-zsh
break due to the bindings being destroyed
The debian plugin calls which to determine whether aptitude & sudo are
installed. However, if these are not installed then the error output
from which will be output. Since this isn't really an error condition,
this commit updates the which calls to pipe stderr to stdout, thus
hiding the error messages.