Reemplace mientras mantiene ciertas “palabras” en vi / vim

Por ejemplo, si tengo$asd['word_123'] y queria reemplazarlo con$this->line('word_123'), manteniendo la 'word_123'. ¿Cómo podría hacer eso?

Al usar esto:

%s/asd\[\'.*\'\]/this->line('.*')/g

No podré mantener la redacción en el medio. Por favor iluminame.