I don’t get it… “D” is a complete different character than “d” is.
It’s like wondering why “file1” is not opened when I typed in “file2”.
People want their computers to magically know what they want these days. :)
This specific problem doesn’t exist in oh-my-zsh config though. It will find the directory even if spelling it like this.
that’s not how language works though, in human language (i know this can be confusing) d and D are the same letter just in different forms.
It’s one thing to have case sensitivity in programs doing data manipulation, that makes sense because you don’t want the program to accidentally use the wrong files without supervision.
But when you have an interactive prompt you know what you’re doing, you can see if you entered the wrong directory, and you’re generally going to be working in directories that you have yourself organized.
You could also say that down
should not complete to download
since those are completely different strings and you shouldn’t expect one to get you the other.
Substring is not string.
If they were interchangeable, then “D” & “d” should be too.
On Windows filenames are case insensitive at least usually, some people are used to that. But that is poor design for so many reasons, Turkish I being one of them.
Now take Android. Files are case-sensitive yet you can’t create 2 files with same name if they only vary in case.
There are two Linux paradigms that I consider stupid. One is the use of centralized software repositories managed by the distro instead of individual developer maintained installers. The other one is file system case sensibility. They already admitted defeat on the first one with the rise of containerised applications. I wonder how much longer they’ll keep the charade on the second one.
Sorry, but you’re plain wrong on your first issue. Getting all your packages from one source is one of the biggest upsides of Linux.
Indeed, but I’m sure we can agree that it’s pretty stupid for every distro to maintain its own repo. That’s a lot of duplicate work, which could be spend on more useful things. Luckily flatpak is well on its way to change that
Hm… But different distros have different philosophies (not just) about updates. That’s part of why people choose a specific distro.
Theres still plenty speaking against flatpak (larger sizes, problems with GTK/qt themes, and it’s only meant for GUI applications - you still need a separate system for the kernel and lower-level/cli tools. And frankly, that makes flatpak unusable to me, because the purpose of a centralized package management system is not having duplicate systems).
So in short: y’all are gonna pry pacman from my cold, dead hand.
Reasonable and sane behavior of cd
. Just get into the habit of always using lower case names for files and directories, that’s how our forefathers did it.
Lower case directories?
Eww
ILikeMineInAWayICanReadThemProperly, instead of ilikemineinawayicanreadthemproperly
If a directory has multiple words in it I usually do kebab case: i-like-mine-in-a-way-i-can-read-them-properly. Both easier to read and type than pascal case.
For more complex filenames I use a combination of kebab-case and snake_case, where the underscore separates portions of the file name and kebab-case the parts of those portions. E.g. movie-title_release-date-or-year_technical-specifications.mp4
Yes, but this is the default on many distros, so for once the end user is not to blame
Even worse, many components will ignore the XDG_DOWNLOAD_DIR
var so even if you manually change it to $HOME/downloads
(lower-case) it will often break things.
You’ve come from Windows and have brought dangerous expectations.
I don’t know about dangerous, but case-insensitive Unicode comparison is annoying, expensive and probably prone to footguns compared to a simple byte-for-byte equality check.
Obviously, it can be done, but I guess Linux devs don’t consider it worthwhile.
(And yes, all modern filesystems support Unicode. Linux stores them as arbitrary bytes, Apple’s HFS uses… some special bullshit, and Windows uses UTF-16.)
so if linux stores file names as arbitrary bytes them could I modify a ext4 fs to include a / in a file name
Use a shell with decent auto-completion. I have not been irritated by this in years.
Won’t autocomplete fail if you do “cd d” and then try the autocomplete?
Or is that what you mean by “decent” auto-completion?
Not with a decent autocomplete. It will look for a folder starting with a small d and if it doesn’t exist it looks at a folder with a large D.
The choice of the letter d was brilliant, that’s for sure. Now I’m imagining a folder with a large D.
I personally like xonsh despite the minor amount of wonkiness it has, it’s so nice to have python available directly in your shell, it takes the “i don’t care about the quality of my code i just want this shit to work with minimal effort”-ness of bash and turns it up to 13.
I use fish which is quite nice OOTB, although if you want a posix compliant shell, zsh with some plugins is also great.