Running $ vim --servername FOO --remote[-silent] filename without starting the instance starts a new instance and then opens the file: it does not look like $vim filename . You should find a way to completely remove the first empty buffer.
From my limited testing, adding set bufhidden=wipe to your ~/.vimrc might solve the problem.
set bufhidden=wipe , which is local to the buffer, applies only to the first empty buffer and reset subsequently.
See :h bufhidden .
This will certainly cause some problems if you usually run Vim.
change
Yes, set bufhidden=wipe causes obvious problems. When you start "usually" (with $vim file1 ), the first buffer is erased when you edit the second file that you do not need.
A simple check of the buffer name fixes this problem:
if bufname('%') == '' set bufhidden=wipe endif
Syntax highlighting works in any situation here. Could you post the contents of your ~/.vim/ and ~/.vimrc somewhere?
source share