Reminds me of a place I worked at where a "naming committee" had to approve variable names. And no, you could not use "i" as an index in a one-line loop.
Being able to specify word boundaries in search is a basic feature for any developer tool. Vim has *, #, and /\<i\>. grep also has \<i\> and the -w option. LSPs have jump to definition and find references features.
> One letter variables are supposed to be used in scopes that fit on the screen completely.
Exactly, and ideally in less space than that. If you have something like:
for (i=0; i<10; i++) {
foo(i);
bar(i);
}
There is no point in using a "descriptive" name for the index. It's completely obvious what's going on. Anything more verbose would just hamper readability.