]> 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 88eb6b4f546c7c9e0fbb80ef6300e0340264db31..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
@@ -255,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