2

Как вы можете получить приглашение "/home/user @ address:/path" для Zsh?

Я запускаю следующее безуспешно в моем .zshrc

PROMPT='%d%>:%{\e[0m%} '

Я получаю в качестве подсказки

/home/masi

2 ответа2

4

Это может дать вам то, что вы хотите (user @ host:path):

PROMPT=$'%n@%m:%d%{\e[0m%} '

Если вы хотите ограничить длину пути (%> из вашего примера), вы должны ограничить его отображением только последних 12 символов, например:

PROMPT=$'%n@%m:%12<...<%d%<<%{\e[0m%} '

Если вы на самом деле не хотели, чтобы там был встроенный escape-код (это типичная команда в стиле VT100 для очистки любого жирного / и т.д. Форматирования), вы можете упростить его до следующего:

PROMPT='%n@%m:%12<...<%d%<< '
2

В этом случае руководство может быть действительно полезным.

Я предполагаю, что вы хотите что-то вроде:
PROMPT='$HOME@%M:%3~ '

Очевидно, что на самом деле чтение 4-х предложений на короткой странице руководства - это слишком много работы. Может быть, потому что это ссылка:

13. Prompt Expansion

13.1 Expansion of Prompt Sequences

Prompt sequences undergo a special form of expansion.
This type of expansion is also available using the -P option
to the print builtin.

If the PROMPT_SUBST option is set, ...

Certain escape sequences may be recognised in the prompt string.

If the PROMPT_BANG option is set, ...

If the PROMPT_PERCENT option is set, ...

13.2 Simple Prompt Escapes

13.2.1 Special characters

%%
A `%'.

%)
A `)'.

13.2.2 Login information

%l
The line (tty) ...

%M
The full machine hostname.

%m
The hostname up to the first `.'. An integer may follow the `%' to specify
how many components of the hostname are desired. With a negative integer, 
trailing components of the hostname are shown.

%n
$USERNAME.

%y
The line (tty) ...

13.2.3 Shell state

%#
A `#' if the shell is running with privileges, ...

%?
The return status ...

%_
The status of the parser, ...

%d
%/
Present working directory ($PWD). If an integer follows the `%', it 
specifies a number of trailing components of $PWD to show; zero means 
the whole path. A negative integer specifies leading components, 
i.e. %-1d specifies the first component.

%~
As %d and %/, but if $PWD has a named directory as its prefix, that part
is replaced by a `~' followed by the name of the directory. If it starts
with $HOME, that part is replaced by a `~'.

%h
%!
Current history event number.

%i
The line number ...

%I
The line number ...

%j
The number of jobs.

%L
The current value of $SHLVL.

%N
The name of the script, ...

%x
The name of the file ...

%c
%.
%C
Trailing component ...These are deprecated... equivalent to %1~ and %1/ ...

13.2.4 Date and time ... Ignored ...

13.2.5 Visual effects ... Ignored ...

13.3 Conditional Substrings in Prompts ... Possibly useful but ignored ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .