2013-12-11 43 views
7

我可以配置我的提示在每个命令后显示一个新行吗?每个命令后zsh新行提示

给你举个例子。在下面的屏幕截图中,我运行了cat .zshrc。我想要在命令的最后一个输出行. ~/.zsh_aliases~ $之间有一条新行。

enter image description here

回答

17

编辑~/.zshrc并添加行precmd() { print "" }。这将在PROMPT呈现之前简单地打印空行。

+0

谢谢!完美解决方案 – orschiro

+0

太棒了!谢谢:D – htmldrum

+6

这可行,问题是它会在每次提示之前打印一个新行,即使在启动shell时也是如此!任何方式绕过? – Sethen

2

我知道这是有点老了,但我找到了一种方法,即使它是不是很干净,我只是想分享:

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 
} 

希望它可以帮助

2

另一种方式是通过只需在~/.zshrc中设置一个包含换行符的自定义提示即可。例如:

autoload -Uz promptinit 
promptinit 

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

这就是我在每次新提示之前最终做出的避免换行的方式。 – Sethen