Vim --remote-silent总是为第一个文件打开[No Name]缓冲区

Dal*_*Tan 6 vim

我希望能够使用相同的实例打开文件,所以我--remote-silent在打开文件时添加了.但是第一次加载时,Vim会打开一个空缓冲区,然后是我的文件.所以现在我有2个缓冲区.

经过进一步调查,我注意到设置nohidden将解决这个问题.但是,这不仅违背了我的喜好,而且会导致第一个缓冲区没有语法高亮.

没有--remote-silent选项就不会发生这种情况.

任何帮助赞赏.谢谢!

rom*_*inl 3

$ vim --servername FOO --remote[-silent] filename在没有运行实例的情况下,首先启动一个新实例,然后打开文件:它不像$vim filename. 你必须找到一种方法来完全删除第一个空缓冲区。

从我有限的测试来看,添加set bufhidden=wipe到你的~/.vimrc可能会解决问题。

set bufhidden=wipe是缓冲区本地的,仅应用于第一个空缓冲区并随后重置。

:h bufhidden

不过,当你正常运行 Vim 时,这肯定会导致一些问题。

编辑

是的,set bufhidden=wipe会导致明显的问题。当“正常”启动时(使用$vim file1),当您编辑第二个文件时,第一个缓冲区将被擦除,这不是您想要的。

对缓冲区名称进行简单检查即可解决该问题:

if bufname('%') == ''
  set bufhidden=wipe
endif
Run Code Online (Sandbox Code Playgroud)

语法突出显示在任何情况下都适用,在这里。您可以将您的内容发布~/.vim/~/.vimrc某个地方吗?