Blocking echo messages on startup result in blank screen

未关闭
#1,573 11 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
macos, vim
领域
desktop

调研方向

首先使用 mvim --clean 重现该命令,并将空白启动屏幕与 plain vim 的消息显示进行比较。跟踪 MacVim 如何处理启动 echo 消息和 diff-editor 启动,然后验证警告会在编辑器可用之前出现,且不需要额外按一次 Enter。

由索引模型根据 Issue 内容生成。

描述

Steps to reproduce

With the latest prerelease, I run the following command (from a draft default diff tool config similar to https://github.com/jj-vcs/jj/pull/6205, sorry for extraneous quotes):

Update: I changed this line to remove irrelevant backticks. They mess up the result in bash or zsh; I didn't notice because I use fish.

"gvim" "-f" "-d" "-u" "/dev/null" mkdocs-offline.yml mkdocs.yml "-c" "echohl WarningMsg" "-c" "echomsg \"Warning: using plain vimdiff as a diff editor is not recommended. See https://github.com/jj-vcs/jj/wiki/Vim for alternatives.\"" "-c" "echohl None"

(It doesn't matter which two files you'd be comparing, or if they even exist)

This results in a confusing blank screen instead of the expected message:

Image

After pressing Enter, everything works.

Image
Expected behaviour

In plain vim, I get:

"mkdocs-offline.yml" 19 lines, 724 bytes
"mkdocs.yml" 154 lines, 4992 bytes
Warning: using plain `vimdiff` as a diff editor is not recommended. See https://github.com/jj-vcs/jj/wiki/Vim for alternatives.
Press ENTER or type command to continue

Then, vim loads after I press ENTER.

Version of Vim and architecture

1-1251

Environment

VIM - Vi IMproved 9.1 (2024 Jan 02, compiled Mar 28 2025 09:26:05)
macOS version - arm64
Included patches: 1-1251
Compiled by GitHub Actions

How MacVim was installed

Downloaded from GitHub

Logs and stack traces

Vim configuration where issue is reproducable

No response

Issue has been tested with given configuration
  • by running MacVim.app from GUI macOS interface
  • by running vim/gvim/etc installed by MacVim
  • by running other versions of vim (e.g. /usr/bin/vim)
Issue has been tested with no configuration
  • by running mvim --clean (or gvim, supplied by MacVim distribution)
  • by running vim --clean (in terminal, supplied by MacVim distribution)
  • by running vim --clean (in terminal, other suppliers, e.g. /usr/bin/vim)
Other conditions
  • The both Homebrew packages "vim" and "macvim" are installed
主要语言
Vim Script
星标
7.9k
派生
691
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

macvim-dev/macvim 的其他 Issue

查看 macvim-dev/macvim 的全部 Issue

相似的 Issue

更多 Desktop Dev Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。