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

时间:2019-01-08 17:52:12

标签: vim latex

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

  • 进行一些更改
  • 点击:w
  • 查看pdf中的更改。

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

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

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

2 个答案:

答案 0 :(得分:3)

这是预期的行为。 :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}

幸运的是,有一种简单的方法可以强制vim写入每个缓冲区,即使没有更改的缓冲区也是如此。尝试以下命令:

:bufdo w

答案 1 :(得分:0)

看看vim-latex-live-preview的README。这有帮助吗?

  

如果根文件不是当前正在编辑的文件,则可以通过在源文件的第一行中执行:LLPStartPreview或执行:LLPStartPreview并使用以下声明来指定它:

     

% !TEX root = <root-filename>