summaryrefslogtreecommitdiffstats
path: root/zshrc
diff options
context:
space:
mode:
Diffstat (limited to 'zshrc')
-rw-r--r--zshrc16
1 files changed, 16 insertions, 0 deletions
diff --git a/zshrc b/zshrc
index 260d1d6..b7c4c49 100644
--- a/zshrc
+++ b/zshrc
@@ -22,6 +22,22 @@ case ${TERM} in
esac # }}}
# aliases {{{
[ -f "$HOME/.aliases" ] && source $HOME/.aliases
+function vim {
+ local zsh_hist_fname
+ zsh_hist_fname=$HOME/.vim/hist$$
+ command vim --cmd "let g:_zsh_hist_fname = '$zsh_hist_fname'" "$@"
+ if [[ -r $zsh_hist_fname ]]; then
+ while read line; do
+ if echo $line | grep -q "[[:space:]']"; then
+ line=${line/\'/\'\\\\\'\'}
+ line="'$line'"
+ fi
+ print -s "vim $line"
+ done < $zsh_hist_fname
+ fc -AI
+ rm -f $zsh_hist_fname
+ fi
+}
# }}}
# external files {{{
source ~/.zshcomplete