如何保存vim中的所有缓冲区(即使它们没有改变)?

xel*_*xel 0 vim latex

我遇到这个特殊问题,因为我使用 vim-latex-live-preview-plugin ,每次将 .tex 文档写入磁盘时都会重新编译它。所以我的工作流程如下:

  • 做一些改变
  • :w
  • 请参阅 pdf 中的更改。

但是,现在我正在处理一个更大的文档,在其中使用该\input{example_input}命令。我当前的工作流程是

  • 在 example_input.tex 中工作
  • 保存 example_input.tex 为:w
  • 将缓冲区切换到“根”tex 文件
  • 保存“根”文本文件 *)整个文档被重新编译 *)切换回我实际工作的缓冲区(example_input.tex)。

这显然是不可取的。首先,我认为:wa做了我想要的,但不幸的:wa是只有在缓冲区实际更改时才写入磁盘(与 不同:w)。是否有类似:wa(保存所有缓冲区)的行为:w(即使缓冲区没有更改也写入磁盘)?

DJM*_*hem 5

这是预期的行为。:h :wa说(强调):

                            *:wa* *:wall*
:wa[ll]         Write all CHANGED buffers.  Buffers without a file
            name cause an error message.  Buffers which are
            readonly are not written. {not in Vi}
Run Code Online (Sandbox Code Playgroud)

幸运的是,有一种简单的方法可以强制 vim 写入每个缓冲区,即使是那些未更改的缓冲区。尝试这个命令:

:bufdo w
Run Code Online (Sandbox Code Playgroud)