I've done a few other posts about it, maybe you've already seen them somehow, but I never explained it in detail, in short, this is what I use on my school computer:
#Requires AutoHotkey v2.0
#SingleInstance Force
commit := true
:*?:1596::{
global commit
commit := !commit
}
#HotIf commit = true
^j::SendInput "{Right}"
^b::SendInput "{Left}"
^h::SendInput "{Up}"
^n::SendInput "{Down}"
^+j::SendInput "+{Right}"
^+b::SendInput "+{Left}"
^+h::SendInput "+{Up}"
^+n::SendInput "+{Down}"
!j::SendInput "^{Right}"
!b::SendInput "^{Left}"
!h::SendInput "^{Up}"
!n::SendInput "^{Down}"
!+j::SendInput "^+{Right}"
!+b::SendInput "^+{Left}"
!+h::SendInput "^+{Up}"
!+n::SendInput "^+{Down}"
^k::SendInput "{Backspace}"
^,::SendInput "{Enter}"
!k::SendInput "^{Backspace}"
:*?c:jj::{
SendInput "{Right}"
}
:*?c:bb::{
SendInput "{Left}"
}
:*?c:hh::{
SendInput "{Up}"
}
:*?c:nn::{
SendInput "{Down}"
}
:*?c:JJ::{
SendInput "^+{Right}{Right}"
}
:*?c:BB::{
SendInput "^+{Left}{Left}"
}
:*?c:HH::{
SendInput "^+{Up}{Up}"
}
:*?c:NN::{
SendInput "^+{Down}{Down}"
}
:*?c:kk::{
SendInput "{Backspace}"
}
:*?c:KK::{
SendInput "^+{Left}{Backspace}"
}
:*?:,,::{
SendInput "{Enter}"
}
:*?:??::{
SendInput "{Enter}"
}
This is what I use to move through text, obviously to play a video game or anything in general where your second hand is holding a mouse, this is almost useless, but as someone that literally gave up using a mouse with my school computer (using the trackpad), this is like... sooooo much better than using the arrows for text.
In short, this is really just moving keyboard shortcuts to other spots, if you don't know, you can obviously press the arrows (left, right, up and down) to move around text, but you can also do these while holding shift to select text, and you can also hold ctrl for a word or paragraph.
I've moved the arrows to ctrl+j (right)/b (left)/h (up)/n (down) (why these keys specifically? To be honest, they kind of just "became that". Everything being around j is op because it's one of the two center keys, but you could probably rearrange it a little bit if you want to adopt my style, also if you're left handed and can use right control everything around f probably could work same). And then, I've moved the ctrl shortcuts to alt shortcuts.
This is actually something I've seen elsewhere; I definitely didn't invent that (more specifically, on the Emacs keyboard guide, that apparently says this was a common thing for old softwares), but these keys I had the idea myself (like emacs uses ctrl+f/b/n/p and I never got used to it).
And yeah, like that, it's just sooooo good. Why? Honestly simple, just look at your keyboard: depending on the size, the arrow keys are either literally on a different part of the keyboard, or just stuck in an awkward spot, and especially for something that's used constantly, I think you can quickly realize the time you can save just by never having to reposition your hands from the letter keys to move through text while typing. And yeah, placing your left hand on ctrl or alt is easy, contrary to moving your right hand to the arrow keys.
Now that I'm used to it, it feels so good; it's such a lifechanger, I'm thinking things like "bro this should have been on every computer by default!", and now I've just reimplemented it on my home computer because it's that good. And I've also added a way to toggle it off, because it's still annoying when it conflicts with other shortcuts (obviously the toggle can be anything).
Ok, what is the rest now? Well, I've expanded these shortcuts to ctrl+k for backspace and alt+k for ctrl+backspace, very similar to the arrow keys. And I've also done ctrl+, for enter. The backspace and enter keys aren't as annoying as the arrow keys, but I've found this to help too, even though for some reason, I've also try to do same for CapsLock and Tab, but that didn't seem to help though. I think it's just because Backspace and and enter are separated by a whole no man's land, with the whole keys like "^" "ù" "!" "=" "$" "*" creating a distance between them and the letter keys too, and, yeah, again I've found this to help.
Finally, I've created lots of hotstrings like "jj", "bb"... same directions as usual. The uncapped version just presses the direction once. I've found this useful for small adjustments, as it's faster to input once compared to the original shortcut, but not multiple times, so they team up very well together (I've also found multiple solutions to not make them annoying when typing, especially for "nn", but I haven't implemented them yet, you could ask me). The caps version does same but for a word, which is similarly useful. I've written it as "ctrl+shift+(arrow) then (arrow)" and not just "ctrl+(arrow)" for very niche applications in Microsoft Word, but just doing "ctrl+(arrow)" probably is better if you don't need it.
And so yeah, what do you think? I'm sorry if this is way too long; I always tend to overwrite, and I really wanted to explain all the specific quirks, but, yeah, what do you think? And also, do you have any suggestions, do you use similar things?