我在zsh中有一个多行提示符。我发现有时当我CTRL-C
出现自动完成时,提示的前一行会被意外删除。以下ls
,vim
和fzf
http://imgur.com/1jTrrzA
以下是发生事件的概述:
ls
所有文件ls
然后标签已完成,CTRL-C
退出第一次完成(上一行提示被删除)ls
然后标签完成,CTRL-C
退出第二次完成。提示的前一行没有被删除vim
代替Enter
而不是CTRL-C
,这是我的错误。但是,如果我CTRL-C
超出此示例(非首次完成),则上一行不会被删除fzf
多次遭遇同一问题的方式我发现步骤2和步骤4中显示的问题仍然存在,只有一行提示。但是,fzf
并未因单行提示而中断。
我的整个提示可以在http://pastebin.com/JwufRy6m找到,这是https://github.com/sorin-ionescu/prezto/blob/master/modules/prompt/functions/prompt_sorin_setup的修改版本,可与我公司的mercurial存储库一起使用。我的提示文件中的感兴趣的行(我认为)是166和167(第167行==第166行减去$prompt_newline
)。
我尝试通过执行以下操作创建多行提示而不使用$prompt_newline
:
NEWLINE=$'\n'
PROMPT=.....${NEWLINE}....
但这对我来说没有任何帮助是有道理的,因为部分问题仍然存在于单行提示中。