2013-12-11 6 views
7

각 명령 다음에 새 행을 표시하도록 프롬프트를 구성 할 수 있습니까?각 명령 다음에 zsh 개행 프롬프트가 표시됩니다.

예를 들어 설명해주십시오. 다음 스크린 샷에서 나는 cat .zshrc을 실행했습니다. 명령의 마지막 출력 행인 . ~/.zsh_aliases~ $ 사이에 새로운 줄을 만들고 싶습니다.

enter image description here

답변

17

편집 ~/.zshrc 및 라인 precmd() { print "" }을 추가합니다. 그러면 PROMPT가 렌더링되기 전에 단순히 빈 줄만 인쇄됩니다.

function precmd { 
    if [[ "$NEW_LINE" = true ]] then 
     if [[ "${ADD_NEW_LINE}" = true ]] then 
      PROMPT=$'\n'"${PROMPT}" 
      ADD_NEW_LINE=false 
     fi 
    else 
     PROMPT="${PROMPT}" 
     NEW_LINE=true 
     ADD_NEW_LINE=true 
    fi 
} 

그것은 또 다른 방법입니다

+0

감사합니다. 완벽한 솔루션. – orschiro

+0

좋습니다! 감사 : D – htmldrum

+6

이 작동합니다, 문제는 각 프롬프트 전에 셸을 시작할 때 새 줄을 인쇄한다는 것입니다! 이 주변의 어떤 길? – Sethen

2

매우 깨끗하지 경우에도, 나는이 조금 오래 알고,하지만 난 방법을 발견, 난 그냥 그것을 공유하고 싶었다 줄 바꿈 문자를 포함하는 사용자 지정 프롬프트를 ~/.zshrc에 설정하면됩니다. 예 :

autoload -Uz promptinit 
promptinit 

PROMPT=" 
%[email protected]%m:%~ $ " 
2

도움이되기를 바랍니다 :

+0

이것은 각각의 새로운 프롬프트가 나오기 전에 새로운 라인을 피하기 위해 광산을 설치 한 것입니다. – Sethen