#!/bin/zsh function felix_pwd_abbr { base_pwd=$PWD tilda_notation=${base_pwd//$HOME/\~} pwd_list=(${(s:/:)tilda_notation}) list_len=${#pwd_list} if [[ $list_len -le 1 ]]; then echo $tilda_notation return fi if [[ ${pwd_list[1]} != '~' ]]; then formed_pwd='/' fi firstchar=$(echo ${pwd_list[1]} | cut -c1) if [[ $firstchar == '.' ]] ; then firstchar=$(echo ${pwd_list[1]} | cut -c1,2) fi formed_pwd=${formed_pwd}$firstchar for ((i=2; i <= $list_len; i++)) do if [[ $i != ${list_len} ]]; then firstchar=$(echo ${pwd_list[$i]} | cut -c1) if [[ $firstchar == '.' ]] ; then firstchar=$(echo ${pwd_list[$i]} | cut -c1,2) fi formed_pwd=${formed_pwd}/$firstchar else formed_pwd=${formed_pwd}/${pwd_list[$i]} fi done echo $formed_pwd return }