]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - zsh/rc
Autoload functions in ~/.zsh/functions.
[config/dotfiles.git] / zsh / rc
diff --git a/zsh/rc b/zsh/rc
index a505a4e719f87e13b56df7ade9802bf1f1de2cf9..b8ad05fab87c1686360f2581f49e6662322ed367 100644 (file)
--- a/zsh/rc
+++ b/zsh/rc
@@ -34,8 +34,8 @@ setopt ignoreeof
 # HISTORY SETTINGS
 
 # Use history and store it in ~/.zsh/history.
-HISTSIZE=1000
-SAVEHIST=1000
+HISTSIZE=5000
+SAVEHIST=5000
 HISTFILE=~/.zsh/history
 # Append to the history file instead of overwriting it and do it immediately
 # when a command is executed.
@@ -106,8 +106,14 @@ if [[ $TERM == screen ]]; then
     screen_name_reset=yes
 
     screen_preexec() {
-        # Get the application name excluding any arguments.
-        local program_name=${1%% *}
+        # Get the program name with its arguments.
+        local program_name=$1
+        # When sudo is used use real program name instead.
+        if [[ $program_name == sudo* ]]; then
+            program_name=${program_name#sudo }
+        fi
+        # Remove all arguments from the program name.
+        program_name=${program_name%% *}
 
         # Ignore often used commands which are only running for a very short
         # time. This prevents a "blinking" name when it's changed to "cd" for
@@ -205,8 +211,10 @@ alias diff='diff -u'
 # Display all files and use human readable sizes.
 alias du='du -sh'
 
-# Multiple files given to Vim are opened in tabs.
-alias vim='vim -p'
+# Multiple files given to Vim are opened in tabs, supported since Vim 7.
+if [[ ${${${(f)"$(vim --version)"}[1]#VIM - Vi IMproved }%% *} == 7* ]]; then
+    alias vim='vim -p'
+fi
 
 # Shortcuts for often used programs.
 alias e='elinks'
@@ -253,6 +261,13 @@ function ll() {
     la -l $*
 }
 
+# Set correct fpath to allow loading my functions (including completion
+# functions).
+fpath=(~/.zsh/functions $fpath)
+# Autoload my functions (except completion functions). Thanks to caphuso from
+# the Zsh example files for this idea.
+autoload ${fpath[1]}/^_*(:t)
+
 # If ^C is pressed while typing a command, add it to the history so it can be
 # easily retrieved later and then abort like ^C normally does. This is useful
 # when I want to abort an command to do something in between and then finish