emacs の dired だと他人が編集できるファイルの場合、パーミション部分の w が赤く表示されるので ls でもやってみた。
.zshrc あたりに以下を追加
function ll(){
if [[ -t 1 ]]; then
ls --color=always -l $@ |
perl -pe 's/(^(?:\s*?\d+[KMGTPEZY]? )?[^l][-rwxsS]{4})(w?)([-rxsS]{2,3})(w?)/$1\033[38;5;196m$2\033[0m$3\033[38;5;196m$4\033[0m/'
else
ls -l $@
fi
}
ll -i
やll -s
でも正しく色が付きます。