I wanted to do a simple 'find and replace' in Notepad++, and found out that it can only support simple WYSIWYG queries or over-complicated Regex statements which can sometimes feel like using a sledgehammer to crack a nut. After some frustration going down that road
, I decided to think about how a "find and replace" feature should work, at least for 99% of purposes. I wanted something elegant and simple, yet clear and relatively powerful. I wanted NOT to worry about escaping special characters, yet I didn't want to lose the power that would usually provide or the efficiency of using the keyboard.
Colour coding, multiple lines, dual/split display, and on-the-fly updating come as standard (as per my other program Opalcalc ;).
This is what I've come up with so far. It's not a working program yet. I wanted to see if there was much interest in developing this further, and maybe even there's something already out there similar as I'm not overly keen on reinventing the wheel.
The unique unicode-flavoured characters offer numerous advantages over typical Regex/Extended syntax queries which rely on existing symbols:
1: It's clearer to formulate expressions and see what you're searching for, and whether certain characters are supposed to be 'special' or 'not'.
2: It's clearer for someone who has to read the expression and who had no idea what you were trying to do.
3: No worry about having to escape characters which may otherwise interpret normal text as 'special' commands. In comparison, with Regex, you may need worry about escaping more than ten different symbols over a text file!
4: Expressions can be reused for different texts without worrying about escaping anything in those texts.
5: Each symbol is easier to commit to memory, so the learning curve is greatly shortened.
Function keys are used for the special characters, so no speed is lost if you're only typing.
I've been pretty frustrated with how cumbersome and arcane the syntax can appear when formulating Regex queries. I hope many of you appreciate the advantages such an approach would provide. By all means, I'd be interested to hear any tweaks or additions to the general concept if you can think of anything! What kind of programs come closest?