Zsh shortens the length of the current path

Whenever I go deeper into the directory, zsh displays the full path in the tooltip.

Instead of displaying

x@y :~/i/am/a/really/really/really/really/long/path/somewhere

I would like to have

x@y :~/path/somewhere

How can i achieve this?

I am using zsh with iTerm on OSX Yosemite 10.10.4.

EDIT:

Here is my bashrc file:

  1 # System-wide .bashrc file for interactive bash(1) shells. 2 if [ -z "$PS1" ]; then 3 return 4 fi 5 6 PS1='\h:\W \u\$ ' 7 # Make bash check its window size after a process completes 8 shopt -s checkwinsize 9 # Tell the terminal about the working directory at each prompt. 10 if [ "$TERM_PROGRAM" == "Apple_Terminal" ] && [ -z "$INSIDE_EMACS" ]; then 11 update_terminal_cwd() { 12 # Identify the directory using a "file:" scheme URL, 13 # including the host name to disambiguate local vs. 14 # remote connections. Percent-escape spaces. 15 local SEARCH=' ' 16 local REPLACE='%20' 17 local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}" 18 printf '\e]7;%s\a' "$PWD_URL" 19 } 20 PROMPT_COMMAND="update_terminal_cwd; $PROMPT_COMMAND" 21 fi 
+6
source share
1 answer

To specify the number of trailing path components shown, insert an integer in the appropriate escape sequence at the prompt. In your case, %2~ will do the trick. Excerpt from zshmisc (1):

 %d %/ Current working directory. If an integer follows the `%', it specifies a number of trailing components of the current working directory to show; zero means the whole path. A negative integer specifies leading components, ie %-1d specifies the first component. %~ As %d and %/, but if the current working directory starts with $HOME, that part is replaced by a `~'. Furthermore, if it has a named directory as its prefix, that part is replaced by a `~' followed by the name of the directory, but only if the result is shorter than the full path; see Dynamic and Static named directories in zshexpn(1). 
+15
source

Source: https://habr.com/ru/post/987498/


All Articles