Vim - 当缓冲区列表为空时,是否可以显示 Intro 而不是创建 [No Name] 文件?

Vim - is it possible to show Intro instead of creating a [No Name] file when the buffer list is empty?

我从不使用 [No Name] 缓冲区来创建文件。如果我需要创建一个文件,我使用 :e <file-path>.

话虽如此,打开空缓冲区的默认行为很烦人。我经常以几个我不需要的空缓冲区结束。如果我的所有缓冲区都已关闭,我更希望显示介绍屏幕。

这可能吗?

谢谢!

I would much prefer to have the Intro screen display if all of my buffers are closed.

:intro 不是缓冲区。它是在某个缓冲区上绘制的屏幕消息。按照设计 Vim 总是至少有一个缓冲区,一个 window 和一个选项卡处于活动状态。如果您使用 :q 退出最后一个 window,那么 Vim 也会退出。

I often end up with several empty buffers that I don't need.

每个缓冲区都因您的操作而创建 and/or 加载。例如,如果 Vim 只是作为 vim 启动,它必须创建一个空缓冲区;如果 vim filename 则不会。这同样适用于 :new vs. :new filename, :tabedit vs. :tabedit filename etc.etc.

Vim总是有至少一个缓冲区,显示在至少一个window,显示在至少一个标签页。根本没有办法解决这个问题。没有缓冲区,没有 Vim.

当您 Vim 使用文件名开始时:

$ vim filename

它创建了一个以filename命名的缓冲区,内容为filename,它满足上述条件,因此不需要创建一个空的[No Name]缓冲区。

当您启动时 Vim 没有文件名:

$ vim

必须创建一个缓冲区以满足上述条件,因此它会创建一个空的[No Name]缓冲区。至少有一个缓冲区,无论是否为空,命名与否,是 Vim 实际 运行.

的绝对先决条件

如果您对此不满意,只需执行 $ vim filename$ vim directoryname 而不是启动空会话。此外,与“让我们在 Vim 中编辑 filename”相比,“让我们开始 Vim 然后弄清楚之后要做什么”听起来很奇怪。