diff --git a/tag-zsh/zsh/configs/post/completion.zsh b/tag-zsh/zsh/configs/post/completion.zsh
index e494ff63..2f5ac0bc 100644
--- a/tag-zsh/zsh/configs/post/completion.zsh
+++ b/tag-zsh/zsh/configs/post/completion.zsh
@@ -12,3 +12,7 @@ fi;
 # disable zsh bundled function mtools command mcd
 # which causes a conflict.
 compdef -d mcd
+
+## case-insensitive (all), partial-word and then substring completion
+zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' \
+  'r:|[._-]=* r:|=*' 'l:|=* r:|=*'