Yeah, this has been caused by a change that Rickard implemented at my request, but it causes anomalies in this case...
I had asked that Ctrl-left and Ctrl-right *not* stop at every symbol, but only jump between words... that would make it more efficient when traversing lines such as:
for (i=start ; i< finish ; i++) {
It also makes it more consistent with the editors that I've used in the past.
However, there is this small issue of function names which begin with underscore!!
I discovered this recently, when I started working on Unicode support in a program...
all the string functions change from strxxx to _tcsxxx - and now the Ctrl-movement keys skip those function names!!
I'm not sure what to do about this...
Rickard;
Since you have already implemented separate "NoSymbol" functions for me, maybe you should change the original function back to how they historically operate??
Or perhaps you could exclude underscore from the symbols that you recognize, since they are used in function names, especially in Windows programming ??
Tested that one with Visual Code, Visual Studio and Notepad and CTRL-RIGHT has more or less the old behaviour of TextEd, stopping at almost every position (which I like way more than the new behaviour)
Tested that one with Visual Code, Visual Studio and Notepad and CTRL-RIGHT has more or less the old behaviour of TextEd, stopping at almost every position (which I like way more than the new behaviour)
vha
Well, *I* was the one pushing for more efficient cursor movement... When I select next-word or previous-word, I *really* don't expect the editor to stop at every single symbol character; it is a terrific waste of effort!! I think we all understand what a 'word' is... and none of these are 'words' : []{}-=_+!@#$%^&*()
But it doesn't matter... he implemented separate functions that (mostly) do what I expect, so if he changes the original function back to their old char-by-char movement, it won't matter to me.
Yeah. Afaic, it's BROKEN now.
It is very irritating.
I think that Ctrl-Right-Arrow should be "Start of Next Word"
and Ctrl-Left-Arrow should be "Start of Previous Word".
With words basically being delimited by SPACE characters,
although sometimes you would like other characters, too,
for CODE situations.
I'm not sure what the best thing to do would be, but right now it's TERRIBLE.
RJTE version 16.36 (Actual) - 64-bit
Win 10 Pro 64-bit 8 GB RAM Intel Core i7-6700 3.40 GHz SCSI Hard Drive 1 TB Note: The signature is dynamic, not static,
so it may not show the correct version above
that was in use at the time of the post.
Here is a little script which will move the cursor to the start of the next word, it's like PreviousWordNoSymbolsAction in reverse. You can add it as a tool and assign the Ctrl+Right shortcut.
BTW, maybe this is fixed, but, if you are at the front of this line (underscores are SPACEs)
and press Ctrl-Shift-Right-Arrow:
___TMemIniFile ini = TMemIniFile.Create("c:\MyFolder\Settings.ini");
It selects THIS, with the the vertical bar being the cursor:
___TMemIniFile| ini = TMemIniFile.Create("c:\MyFolder\Settings.ini");
Which I think is incorrect. It should select all the SPACEs up to the first word.
I guess the thinking is, "A 'word' that starts with a SPACE is a 'SPACE Word' ".
RJTE version 16.36 (Actual) - 64-bit
Win 10 Pro 64-bit 8 GB RAM Intel Core i7-6700 3.40 GHz SCSI Hard Drive 1 TB Note: The signature is dynamic, not static,
so it may not show the correct version above
that was in use at the time of the post.
crtrubshaw wrote: ↑23 Jan 2024 13:50
Here is a little script which will move the cursor to the start of the next word, it's like PreviousWordNoSymbolsAction in reverse. You can add it as a tool and assign the Ctrl+Right shortcut.
CursorWordRight.zip
Thank you for this script. I have tried to restore the previous behavior through keyboard shortcuts and/or the environment settings but haven't found anything that works. Your script does the job.