I have a trick for this that might suit though it’s language specific. Basically when enter is hit, it’ll check the context and the preceding character. If you are currently in a comment scope and the preceding character is a space, then it’ll insert a newline and the starting character of the comment. Combined with Sublime’s auto indentation, it ought to line up with the previous comment line (at least it does for me).
If you do a lot of language switching though, this might not be the right trick to use. (Beware the trailing comma – this was one of several binds in the list.)
// This keybind makes it so you can do continuous commenting if you end
// have already started a comment line, and the preceding character is a
// space.
{
"keys": ["enter"],
"command": "insert",
"args": {"characters": "\n-- "},
"context": [
{"key": "selector", "operand": "comment.line.vhdl"},
{"key": "preceding_text", "operator": "regex_contains", "operand": " $", "match_all": true}
]
},