https://github.com/charmbracelet/vhs/blob/main/record.go#L22
I was looking at the code, and it seems like you could put a low value for this and it would do what you want.
I did not try it though
// sleepThreshold is the time at which if there has been no activity in the
// tape file we insert a Sleep command
const sleepThreshold = 500 * time.Millisecond
EDIT:I tested it. It actually work, but their software crash, I had to patch line 153
for lines[i] == lines[i+repeat] {
repeat++
if i+repeat == len(lines) {
break
}
}
EDIT 2:I actually went ahead and created a pull request to fix the bug.