Would it be possible to add string as an option for the feature parameter of expandSelectionTo? It would function similar to brackets, selecting the text between the quotes. This makes it easy to replace the content of string literals without having to manually select everything.

ctrl+shift+space class calls expandSelectionTo scope, which has two differences compared to the proposed addition:1) it selects the quotes as well, which means you can't just start typing to replace the string2) if your cursor happens to be in a subscope inside the string, say a character literal, it will only select that as opposed to the entire string.

Unfortunately, sublimator's code isn't entirely bugfree. For instance, in the test string "This doesn't work", selectString fails if the cursor is positioned anywhere after the single quote. This problem isn't easy. Consider something likefoo("lorem ipsum ' dolor ", sit, 'amet'),with the cursor positioned in dolor. We know the correct behaviour would be to select lorem...dolor, but to the algorithm dolor...sit is equally plausible since it has no awareness of scope. Perhaps this problem could be solved by also taking information from the syntax highlighter into account.

Here's a first stab at using syntax info for doing this. The obvious downside is that it doesn't work in plain text files or syntax schemes that don't adhere to the convention of naming strings string.quoted.double/single. Still, it should work for most languages (tried C, C++, C#, Java, Ruby, Python, Haskell and PHP).