I did not recognize all the new vim-only features; I learned vi before vim and this solution will work in any vi-ish editor. Perhaps there may even be a better solution using vim features.
What I usually did in this case is to use the :map command to bind multiple keys, each of which does the part above. You need to select several keys on which you can live for some time; For this, I often use g and v . @Neil Forrester suggested using function keys, which is a great idea.
Now you were showing regex patterns with parsers indicating a match group. (In vi or vim, you really need to put a backslash in front of each wig to make it βmagical,β see the Documentation.) However, for this solution, I will use the f command instead, which (f) inds is the specified character; and / or a t command that skips the character un (t) il. f goes to the character, where t goes immediately before the character. So, with f" we can go to the first double quote of the string, and then with t" we can jump to the point where before the second double quote. So, the sequence f"lyt" will find the first double quote, move one char to the right, and then endure it all the way to the next double quote. But let it save the saved text in one of the 26 named buffers; let's just use the buffer "a": f"l"ayt" This is a bit confusing because we should use "a to refer to the named buffer "a", but we have many other characters " that we are looking for.
In addition, within the "map" you may need to record a keystroke Enter. The way you do this is to press Ctrl + V, then press Enter. This will display as ^M In my code below, if you see ^M , it is not intended to indicate the actual ^ , followed by the actual M , but rather one key that represents the Enter key.
So now we can make our two key comparisons. Let bind v complete steps 1 and 2 and g complete steps 3 and 4.
:map v /^Description "/^Mf"l"ayt" :map g /^TEXT "/^Mf"ldt""aP
Remember to use Ctrl + V and Enter, rather than typing ^ M so that you cannot just copy / paste above without editing it.
Now use the v key to complete steps 1 and 2 and the g key to complete steps 3 and 4. By pressing the two keys one by one, you can do pretty quickly.
There may also be a way to do this using scripts in vim, but on the other hand, you can just write a short Python script (or your favorite language) if you want to script this, The two key macros above really provide a quick way to do such things in vim.
vim has some kind of feature for writing keys as you type them, which, I think, can be used to quickly create such a macro.