disable control character input from keyboard shortcuts in notepad++ - character-encoding

Is there a way to disable the input of control characters in NotePad++? For example if I press the following keyboard shortcuts it inserts a control character into my file.
ctrl + shift + A [SOH]
ctrl + shift + Z [SUB]
ctrl + shift + X [CAN]
ctrl + shift + C [ETX]
ctrl + shift + V [SYN]
I use other NotePad++ keyboard shortcuts as well as AutoHotKey extensively. I have had some wrist strain and have been trying to limit my use of the mouse and other repetitive motions. There are instances when I inadvertently hit one of the above keystrokes instead of a different shortcut, thereby entering an unwanted character in my code that I have to remove. Is there any easy way to disable these hotkeys from inputing these characters in Notepad++?
It seems like other basic text editors like Windows Notepad will either not enter these characters or not show them when editing, so it seems like there should be a way to disable the input of these types of characters.
Other questions that I found were about removing these characters from output or how to input these characters. Other general questions about Windows keyboard settings were talking about advanced key settings under keyboards to prevent the Left Alt + Shift shortcut to switch between input languages although I only have one keyboard there. I want to find a way to easily prevent myself from accidentally entering in these characters.
Displaying Control character [SOH] as blank space or else in Notepad++
How to disable 'shift'+'alt' keyboard shortcut in Notepad++

Code below is written in AutoHotkey and disables all the offending key combos:
#IfWinActive, ahk_class Notepad++
^+a::return
^+z::return
^+x::return
^+c::return
^+v::return
#IfWinactive
; other hotkeys go here or define another window

Related

Issue with Delphi Menu

I am Using RAD Studio 2010 and I have problem in Menu text
There are Z and Y texts in my menu and I want to remove it
This will happen when I use Non English text
This is because of TMainMenu.AutoHotkeys. By default, the value of this property is maAutomatic, which means that the menu will automatically choose accelerator keys for your menu items.
For instance, in a typical English application, you might get a menu like this:
Notice the underlined characters. These are used to access the menu using the keyboard. For instance, to open the File menu, I can press Alt+F. And once the File menu is open, I can press the key corresponding to the underlined character in the caption of the menu item I wish to invoke.
For keyboard users like myself, such accelerators are extremely important. I use them all the time. I could use the mouse instead, but that would slow me down tremendously. (For instance, in the application in the screenshot, I am very used to press Alt+E, O to open the Sort Lines dialog box. That takes about 0.2 seconds. If I had to use the mouse, it would take much longer!)
Now, in your case, there aren't any Latin letters to underline, so instead the RTL adds these parentheses (with the Latin letter being the accelerator), so you still can access the menus using the keyboard.
I have very little experience with non-Latin-based versions of Windows, but I do believe menus like these are standard. If I were a Chinese or Arabic user (for instance), I think I would refuse to use an application without these. If I cannot access GUI menus and controls with the keyboard, I get really annoyed.
Still, if you insist, you can set AutoHotkeys to maManual.

Allow user to enter Alt code into a TMemo?

TMemo in FMX supports the display of Alt codes, but the only way I can add them is by copying them from elsewhere and pasting them into the TMemo. I'd like to allow users to enter Alt codes using the Alt key and number pad in the same way that most text editors allow. Currently when I try this it does nothing. The number pad works but not when Shift, Ctrl or Alt are pressed.
Alt codes can be entered in VCL applications. I'd just like to be able to do the same in FMX.
I'm using Delphi 10.4

Select Text in vertical in Spyder text Editor

Is there a way for selecting text in vertical in Spyder3 Text Editor? What I mean is something equivalent to Alt + Shift in Atom text editor for example:
(Spyder maintainer here) No, there's no way to do that in Spyder, sorry. Unfortunately it's not so easy to implement it with our current editor code.
You can write text code in 'sublime' editor and perform all sorts of shortcuts there. to select matching text in the sublime editor, first select/highlight that text using the cursor and then press Ctrl+D as many times you want, sublime will keep highlighting matching text in the whole text file. To select all matching entries simply press Alt+F3 (in windows).

code that does what the home button is supposed to do in a line of text

I have an arabic line with english letters in it.
Ex: أنا في abcd البيت
I opened notepad. I started writing.
What I wanted to write is I'm at abcd home but what you see now (left to right) is at I'm abcd home
To fix this, I click anywhere on that line. I press the HOME button. You'll see the cursor moving to the beginning of the arabic word that to the left of the english word. I right click, choose INSERT UNICODE CONTROL CHARACTER then I choose RLE.
When i do that, the reads I'm at abcd home. It's fixed.
If you right click again and choose SHOW UNICODE CONTROL CHARACTER. you'll see that the very first "character" is the unicode character I inserted.
I wish to automate this process.
How do I do that? :D
I can tell you that RLE is represented as \u202B
Thanx
There's no very easy way to automate the process, but there are a couple of things that you can try:
Press Ctrl-Shift on the right-hand side of your keyboard. This will work in Notepad and in many other programs on Windows: Word, Internet Explorer, Google Chrome. It may work in Firefox, too, but if it doesn't, use Ctrl-Shift-X to set right-to-left direction in Firefox. Note that this will correct the display of the text and the cursor movement for you while you are writing it, but not necessarily for the people to whom you send this text.
Use the Microsoft Keyboard Layout Creator to add the RLE character to your keyboard. This program will let you create a new keyboard layout that you will be able to use in all the programs. Load the keyboard layout that you are currently using, find a key that is not assigned to any character and assign the RLE to it. Note that if you use RLE, you must also use the PDF character (U+202C) in the end of the right-to-left text, so assign this to some key, too (this is similar to writing <span dir="rtl">أنا في abcd البيت<span> in HTML—you must use the closing tag). This will fix your text, although it's tricky. Also, note that some websites remove characters like RLE when you try to post on them - Facebook and Twitter do this, for example.
Finally, note that this problem is unique to plain text. If you use a real word processor, like MS-Word or LibreOffice, or write your text as HTML with proper dir attributes, then it's a lot easier, but you'll have to store and send your text in these formats.

Editor to select text that is inside a rectangle

Often I find myself with some text where I want to exclude a certain part of the text, say the first three characters of 40 lines. The fastest way I could think of to do this would be to draw a rectangle and copy the text. I am mostly using Windows, but I am sure grep or something similar could do this with a tiny bit of code. My best way of doing this is to open Command Prompt. Then run "Edit" (yes the good old one). Then paste the text in there (this actually takes a significant amount of time). Then I am able to select the rectangle I am after.
Is there any other editors that support this feature? I am familiar with Notepad++.
You can select a rectangular area to cut/copy in Visual Studio be pressing the Alt key prior to making your selection with the mouse or (Shift +) cursor keys. See How to: Select and Change Text.
The Zeus editor can do keyboard driven column cut/copy and paste.
Also the default Zeus mouse marking is in column mode.
If you use Vim, Ctrl + V will let you select a rectangular block of text.
The documentation says Ctrl + Q will let you do a rectangular select in mswin compatibility.
Emacs supports kill-rectangle (bound to C-x r k by default) and yank-rectagle (C-x r y) to achieve this. Also of possible interest is delete-extract-rectangle (no default binding, and intended for programming use).
You use it by navigating to one corner of the interesting area, hitting C-<space> to set the mark, navigating to the opposite corner, and invoking the desired function.
UltraEdit has a column mode (menu Column/Column Mode, keyboard
shortcut Alt + C). This makes it possible to make block selections, delete, insert column-wise, etc. using only the keyboard (the mouse works too).
For your example: make a zero width selection at column position 1 for the 40 lines and press Delete three times. Or simply make the 3 x 40 block select and press Delete.
You can do this with NEdit (which is available for Windows). Hold down Ctrl and drag the mouse (left-click) to select rectangles.
In Linux, you could also just use cut:
cut -b4- file
It will remove the first three characters from every line and print the result to standard output.
jEdit supports vertical selections (keyboard shortcut is Alt + \). It can also do multiple, non-continuous selections (keyboard shortcut is Ctrl + \). And when you type it affects all selections, so you can edit multiple lines at the same time, or the same line in more than place simultaneously. Or both.
Vertical pasting is also supported. This is a feature I use all the time. It makes editing columns a breeze.
If you have too many lines to select easily, then jEdit's Find And Replace is as good as it gets.
jEdit is a Java application, and so uses more system resources than most editors. But on the other hand it works on most systems, and it has loads of plug-ins to make editing text more efficient.
This can be done using JGSoft's Editpad which has a freeware lite version that is not crippled.
In IntelliJ, go to Edit and then click on Column Selection Mode. Or use the ALT+SHIFT+INSERT shortcut.

Resources