O vimscript é avaliado exatamente como os comandos Ex digitados na linha de comando :
. Não havia variáveis em ex
, então não há como especificá-las. Ao digitar um comando de forma interativa, você provavelmente usaria <C-R>=
para inserir o conteúdo da variável:
:sleep <C-R>=timetowait<CR>m<CR>
... mas em um script, :execute
deve ser usado. Todas as partes literais do comando Ex devem ser citadas (aspas simples ou duplas) e, em seguida, concatenadas com as variáveis:
execute 'sleep' timetowait . 'm'
No seu exemplo, você deseja colocar a variável i
no comando :%s
:
for i in range(1,40) | execute '%s/S' . i . 'Tg//gn' | endfor