2013-12-11 10 views
7

各コマンドの後に新しい行を表示するようにプロンプ​​トを設定できますか?各コマンドの後に新しい行が表示される

例を挙げてください。次のスクリーンショットでは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

関連する問題