zsh: что-то не так с utf8

Был у меня .bashrc вот такого содержания:

...
function prompt_command {
  history -a
  echo $PWD | grep "^$HOME" >/dev/null 2>&1
  if [ $? -eq 0 ]; then
    local CURRDIR=`echo $PWD | awk -F$HOME '{print $2}'`
    newPWD="~$CURRDIR"
  elif [ "$PWD" = "$HOME" ]; then
    newPWD="~"
  else
    newPWD="$PWD"
  fi
  local hostnam=$(hostname -s)
  local usernam=$(whoami)
  local temp="${usernam}@${hostnam}${newPWD}"
  let local fillsize=${COLUMNS}-${#temp}
  local statfill="                                "
  unset fill
  fill="${statfill:0:${fillsize}}"
  echo "$(color lt$ucolor)${usernam}$(color $ucolor)@$(color lt$ucolor)${hostnam}${fill}$(color ltblue)${newPWD}$(color off)"
}
PROMPT_COMMAND=prompt_command
...

И приглашение в bash'е выглядело вот так:
http://link.imgshare.us/0qpNHb

Позднее решил переползти на zsh, вполне понравилось. Решил сделать приглашение как в bash'е, вот таким кодом:

function precmd {
  local temp="${(%):-%n}@${(%):-%m}${(%):-%d}"
  let local fillsize=${COLUMNS}-${#temp}
  local statfill="                                "
  unset fill
  fill="${statfill[1,${fillsize}]}"
  print -P "$(color lt$ucolor)${(%):-%n}$(color $ucolor)@$(color lt$ucolor)${(%):-%m}${fill}$(color ltblue)${(%):-%~}$(color off)"
}

Вот результат:
http://link.imgshare.us/0qpN3S

Собственно вопрос:
Как добится нормального отображения русского языка ?
Может где ошибка в precmd ?

P.S. локаль ru_RU.UTF-8, zsh v.4.3.6

Стандартное приглашение adam2

Стандартное приглашение adam2 (% prompt adam2) весьма похоже (если я правильно помню сгинувшие картинки) и с русскими путями работает хорошо. Предлагаю посмотреть в его код, бо сам не силён (-:Е

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

да я уже разобрался =)) вот

да я уже разобрался =))
вот как вышло:

function precmd {
  local newPWD="$(print -D $PWD)"
  local temp="${(%):-%n}@${(%):-%m}${newPWD}"
  let local fillsize=${COLUMNS}-${#temp}
  local statfill="                                                                                                                                                                                  "
  unset fill
  fill="${statfill[1,${fillsize}]}"
  print -P "$(color lt$ucolor)${(%):-%n}$(color $ucolor)@$(color lt$ucolor)${(%):-%m}${fill}$(color ltblue)${newPWD}$(color off)"
}

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".