Respostas:
A única diferença entre as cadeias simples e dupla está relacionada à barra invertida. Para exibir caracteres especiais como nova linha, sinos, guias, etc, você precisa usar aspas duplas -> "\n".
Dentro de uma sequência de aspas simples, '\'ela própria => '\n'é uma sequência de dois caracteres (uma barra invertida + n). Nas aspas duplas, você deve dobrá-lo -> "\\", o que os torna impraticáveis para definir regexes.
Em relação à expansão de strings, você tem algumas opções:
'Hello, ' . s:name . '!'join(['Hello, ', s:name, '!'], '') - que nunca usamosprintf('Hello %s!', s:name)lh#fmt#printf('Hello %1!', s:name)- do lh-vim-lib, quando não queremos saber sobre tipos e quando não precisamos formatar campos, mas quando queremos usar formatos como: 'Hello %1. How are you doing %1 this %2'.'foo''bar', ou use ambos os tipos de citações:'foo'."'".'bar'
'dentro de uma string de aspas simples?