我希望能够使用相同的实例打开文件,所以我--remote-silent
在打开文件时添加了。但是第一次加载时,Vim 会打开一个空缓冲区,然后是我的文件。所以现在我有 2 个缓冲区。
经过进一步调查,我注意到设置nohidden
将解决此问题。但是,这不仅不符合我的喜好,还会导致第一个缓冲区没有语法高亮显示。
--remote-silent
如果没有选项,这不会发生。
任何帮助表示赞赏。谢谢!
我希望能够使用相同的实例打开文件,所以我--remote-silent
在打开文件时添加了。但是第一次加载时,Vim 会打开一个空缓冲区,然后是我的文件。所以现在我有 2 个缓冲区。
经过进一步调查,我注意到设置nohidden
将解决此问题。但是,这不仅不符合我的喜好,还会导致第一个缓冲区没有语法高亮显示。
--remote-silent
如果没有选项,这不会发生。
任何帮助表示赞赏。谢谢!
在$ 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
语法高亮适用于任何情况,在这里。你能把你~/.vim/
和~/.vimrc
某处的内容贴出来吗?
选项系列允许在--remote
打开文件后执行额外的 Ex 命令。
您可以在这里做的是添加:bd1
删除缓冲区 #1,即 [No Name] 缓冲区。
例子:--remote-silent +:bd1 {file}