Respostas:
Você precisa colocar outro |antes elseque o vim pense que seu comando é em set listchars+=space:· elsevez de dois comandos separados. É por isso que você recebeu a mensagem de erro: elseé uma opção desconhecida para o comando set.
A sintaxe correta é a seguinte:
if has("patch-7.4.710") | set listchars+=space:· | else | set listchars+=trail:· | endif
if has("patch-7.4.710"), instrução 2 set listchars+=space:·, instrução 3 else, instrução 4 set listchars+=trail:·e última instrução endif. Como o |são usados para instruções em separado é lógico colocar um antes elsee um depois :)
;para separar instruções. Em C elsenão é uma instrução, caso contrário, haveria um ;depois :)
|, antes ou depois doelse? Agora, eu agora são os dois :-D. Muito obrigado :) !