1

我在 zsh 中有一个多行提示。我发现有时当我CTRL-C退出自动完成时,提示的前一行会意外删除。这是一个 gif 显示这种情况发生在ls,vimfzf: http://imgur.com/1jTrrzA

以下是发生的事件的概要:

  1. ls所有文件
  2. ls然后制表符完成并CTRL-C退出第一个完成(前一行提示被删除)
  3. ls然后 tab 完成并CTRL-C退出第二个完成。提示的上一行不会被删除
  4. 与第 2 步相同,但vim改为
  5. 与第 3 步相同,但我点击Enter而不是CTRL-C,这是我的错误。但是,如果我CTRL-C退出此示例(非第一次完成),则不会删除前一行
  6. 展示如何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}....

但这对我来说没有任何帮助,因为单行提示仍然存在部分问题。

4

0 回答 0