Countless person-years of engineering effort, and Spotlight is still mostly useless.
All I want is to hit Command-F to quickly search the filenames in the current folder (not start a sluggish scan of my entire hard disk). There used to be workarounds for this, but then they removed "Find by Name..." from Finder just to make our lives harder. Does anyone know a workable alternative?
I'm interested in what you mean by "setup script" - I assume you have a script of some sort you run when / if you re-install the OS? I'd love to hear more about this!
I have a simple shell script that does a bunch of setup for me to automate things.
It grabs my dot files and restores them, installs Homebrew and a bunch of programs, restores their plists (I have backup script that backs up all their plists) and writes a bunch of macOS settings via the `defaults write` command.
I can install/wipe macOS, follow the initial setting screens then when on the desktop I just connect to my NAS, copy over one script and run it in the Terminal to get my machine setup how I like it. It isn't perfect but it does about 97% of the work for me with the added bonus that it is consistent/reproducible for the most part so avoids me forgetting to change a setting some place.
I don't go crazy with it as I don't wipe my machine often enough to justify going all out with a fully automated system. Honestly it is less to save time and more to maintain consistency and have a 'documented as code' record of my environment setup (not quite infrastructure as code levels :)
# Trackpad: enable tap to click for this user and for the login screen
# Trackpad: map bottom right corner to right-click
# Disable “natural” (Lion-style) scrolling
I have a lifetime/powerpack Alfred license, and i don't use it much, if at all. I have it installed, but in my experience Spotlight has gotten a lot better in recent years, at least to the point where i just use that.
My only excuse for using Alfred is Dash (https://kapeli.com/dash), which integrates with Alfred, but these days so does just about every editor i use (including Vim, Emacs and Sublime Text), so i very rarely find myself using Alfred for it anymore.
BTT does work with the TouchBar, but the "Touch" in the name comes from "touchpad" since it originally was used to add various macros/gestures to the touchpad and mouse. TouchBar support was added later.
Most new Macs come with full-size function keys, including a massive escape key the same size as the tab key. (At least on the en-US layout; can't speak to others.)
Interesting. What other gestures do you use?
I've tried to setup BTT to emulate cmd+tab with swipe right or left but it wasn't a smooth experience so I've made Touch-Tab https://github.com/ris58h/Touch-Tab
++2 for Alfred. AND it has plugins so you can search your Chrome or Brave tabs with Alfred as well. I just hit CMD + Shift + T and it'll search all my open tabs without the browser being in focus. I had to pay but it wasn't much. Use it everyday! https://github.com/epilande/alfred-browser-tabs
wow - how is this not the default? It's always the behavior that I expect to happen, and I'm pretty much always surprised and disappointed when it does a global search instead.
This is just speculation, but based on a conversation with my partner, there are two types of computer users. The first group makes use of hierarchical storage, consistent naming conventions, and other organizational tricks to give them a rough idea of where any file might be. The second group has never heard the term "file systems" and just stores everything with an arbitrary name in whatever location the originating application uses by default.
The first group would prefer to search the given directory, because the supplied context (of which folder to start the search in) drastically improves/speeds search results. The second group prefers to search the entire disk, because supplying that additional context is impossible - any file might appear anywhere.
The set intersection between the first group and "people who change their default settings" is much higher than it is with the second group. Consequently, the whole disk search is enabled by default.
Additionally, given the addition of an "All My Files" view in Finder (a feature which the first group would probably find baffling), Apple may also believe that the latter group outnumbers the former.
Very much an intentional goal of the OS when it came out, the hope being that the concepts of files and folders might never be needed. A bold move to get rid of a mental overhead for using a computer that was never natural or intuitive to non-tech users. They eventually had to back off a bit, but it’s an amazing accomplishment that most users can still use these devices as if files weren’t a thing.
Yeah this is true, friends that are professors say they now have to have a basic class early in the semester that explains folders, files, and other basics to students.
Funny, I'm in the first group but I'd much rather have it search everything by default: because I organize my files, if I'm searching for one that means that I don't know where it is, so I need to look everywhere.
To me this is definitely it. Using non-technical people's computers is eye-opening. Thousands of files scattered around on the Desktop, Documents, or wherever they just happened to go. Finding something in a specific directory would be a completely foreign concept.
Well, count me in the third group: I make use of hierarchical storage, consistent naming conventions, and other organizational tricks to give me a rough idea of where any file might be. I also fail miserably at it (apart from dev/programming stuff, which all is in `~/dev/<project name>`) and rely heavily on search to find anything again.
As search is fast enough nowadays with indexing, I'd rather have it search the whole disk every time than the directory I'm in just to realize I've put it someplace else.
Windows also defaults to full text file searches instead of filenames, which is super annoying when you have thousands upon thousands of documents. It's often faster to open a terminal window, type 'dir search string and open the file from the terminal.
Short answer
Large number of users don’t use folders to organize their files. They just depend on searching everywhere to find files that may have dropped in any random location. Those people are less likely to find the setting that makes current folder the default search target.
That searches the _contents_ of the files in the current folder. I just want to search the names (the way Cmd-F works in, you know, every other application: it searches what you see in the window).
No they didn't. Find by Name… still exists. It's ⌃⇧⌘F (ctrl-shift-cmd-F). You might have missed it because it's a dynamic menu item (Find turns into Find by Name… once you press ⌃⇧).
Tip: Use the Help menu to search menu items. I just pressed ⌘? and typed "Find" and Find by Name… popped up.
Ctrl-Shift-Cmd-F? Are you forking kidding me? I know sometimes you can press Option to show secret menu items (which I bet <10% of Mac users know) but Ctrl and Shift too? So now you have to press 7 different combinations of modifier keys just to discover what menu commands are available. Just wow.
Thank you for showing me that menu command! That'll be a lifesaver going forward. Usability achieved despite Apple design, not because of it.
The "Help" menu item is a major lifesaver and especially in complex apps (that is, those which actually take advantage of macOS' native menus, which sadly isn't a given nowadays).
For example Photoshop (and its colleagues) is darn near impossible for me to use on Windows — and at least 50% of the reason is absence of the "Help" menu search feature.
Fyi, it does not work. I get this error when opening Finda on macOS Ventura 13.0 (22A380):
"This version of Finda (629.0.0+df7956) is not compatible with your operating system version (22.1.0). Press Enter to download the latest version or Command+ to quit."
EDIT: e-mailed the Developer, beta release coming tomorrow...
I continue to not understand this -- The Everything app was capable of instant search on Windows in like 2008, and yet on modern devices, with SSDs, far more RAM, and faster CPUs, I have to wait a good 2-3s for results to appear.
How did one dev managed to achieve what, apparently, no corporate entity ever has?
sometimes I think MSFT should buy Everything and replace Windows search with it. There are some plugins that use it for other file managers.
But then again, they will almost certainly screw it up, given that Windows Search still can't search my start menu reliably without pauses. And their history with acquisitions and integrating tech isn't very good.
Things like that infuriate me and make me want to throw my laptop out of the window. There's no excuse for the start menu search not being instantaneous, but Windows isn't the only offender. Searching for an app on Android is also slow.
With Windows, it is death by a thousand paper cuts. With Linux, you might get your arm chopped off while getting every device (or sleep) to work flawlessly, but once it works, it stays working. And small things like search work like you expect them to.
I actually solved that by using the native macOS fsevents API which can watch the whole filesystem for changes, and I can instantly update the SQLite db I use for the index through that.
The problem is actually enumerating and searching the whole database, that's the slow part. Right now I have over 5 million rows in it and passing the SELECT results to fzf is the slowest part, taking a few seconds at least on an M1 Max.
I'm not sure how Everything presented the results so fast, with metadata and everything.
The fsevents part is interesting, didn't know that!
To your point regarding the slowness - in that case it's not really acting as an index though, is it, if you're scanning the whole list and passing it to fzf?
A proper fuzzy text search index (I think elastic and similar engines have these built-in) should yield orders of magnitude better performance.
Yes, you're right. I did try Meilisearch for this but I wanted close-to-instant Smith-Waterman fuzzy searching which is why I settled on FZF.
In the end I might have to reimplement that in Swift with an always cached index and native Spotlight like search bar to really make this as easy to use as I want.
It's not practical to reach for the browser or Terminal to do this search.
One trick is to know that spotlight indexes content and metadata separately, and most search interfaces default to content. Typing in "README.md" in system spotlight will look for documents that contain a reference to that name, while "name:README.MD" will look for ones marked as _having_ that name.
The search interface in finder has a builder for predicates (start a search then hit the plus on the right side of the search bar). There you can start to see some of the friendly prefixes for filesystem items such as extension:, kind:, date:, tag:.
You can also see the mass of file specific metadata - like width, audio bit rate, city, genre.
I have not, however, found a handy way to translate between English description, friendly prefix, and the internal query names like kMDItemContentType.
Fun aside - some of these used to work in the Mac app store - for instance, you could search for listed applications which could open exotic document types.
The "uselessness" IMHO is mostly in that it exposes the most simplistic interface possible, and people just don't know where to go from there (other than terminal users going `man mdfind` I suppose). That gap is only widened by how different it is from other filesystem-based mechanisms for power users, which have more established commonalities like regex and filesystem globbing.
Raycast is great. imo better than Alfred. Love the menu-search functionality.
But I still use both, because Raycast doesn't support "folder search". I use folders in general because they don't change, and I usually know what I'm looking for. It (should be)/is also faster than searching all files.
When I'm looking for a file or it's contents, I'll fall back to spotlight
It should be embarrassing how much faster Alfred's search is. Using Alfred to just search feels like using a Ferrari to pick up groceries, but it really is just better – and has been for as long as I can remember.
Like in a Finder window? I just start typing a filename and it jumps to the letters I typed. In the column view, you can use tab and shift-tab to switch between columns, allowing quick navigation into a directory tree. I may be misunderstanding you?
Having grown tired of the design of Alfread and not wanting to commit to VC-backed Raycast, this is a nice discovery! Edit: A plugin system is on the TODO and that'd be the clincher.
I still use it as fast calculator. And sometimes it can convert units ... sometimes. That's it. I don't think it has EVERY found the file I'm looking for, but Windows search ain't much better. As someone who develops on all three OSes daily, nothing beats `find | grep` or `find | xargs grep`.
Spotlight is great for those lone cold weather nights: whenever I feel down, it will start indexing and spin up all the fans and make a lot of heat and noise, making me feel warm and loved
Personally I have Spotlight indexing completely disabled, except to index items in `/Applications` so I can use it as a quick-launcher. This was not easy to configure, and I'll probably have to do it again next time I update the OS. But it did seem to help with performance - Spotlight was often the cause of unpredictably high CPU usage spikes.
Just start typing the name. Not in the search field of Finder. You'll get focus on a file or folder that starts with whatever symbols you just typed. Very convenient and fast. Having "sort by name" by default in every folder helps a lot too.
Mentioned elsewhere, Everything search by voidtools: https://www.voidtools.com. It does funky things with monitoring some component of the NTFS filesystem to maintain a up-to-date index of every filename on your computer, and makes them searchable literally as fast as you can type.
There seems to be two kind of searching people do. Some people want a search tool that searches in documents. Some people want a search tool that searches filenames.
Everything search is exclusively the second. I think I can count on one hand the number of times I've wanted to search inside documents in the last 10+ years (and for those cases, grep has worked fine, even on windows!).
For some reason, searching inside documents seems to be the default for both windows and os x search, and it's super annoying.
> I think I can count on one hand the number of times I've wanted to search inside documents in the last 10+ years
If you want to search documents you have created, I can imagine that you may not use the feature much. But e.g. for research papers, the downloaded copy rarely reflects the contents/authors, so it is really handy to be able to search the contents.
> For some reason, searching inside documents seems to be the default for both windows and os x search, and it's super annoying.
Weird. For me windows don't seem to search inside documents, or at least not in all documents.
A Spotlight search never starts a scan of your disk. The disk is always fully indexed and returns results out of the index very fast. The only exception is typically when the system is updated (or some other big event) and it reindexes everything.
That being said, as others have pointed out, there is a setting to make a Finder window search apply only to the directory in the current window.
Basic file search is broken. Still nothing like VoidTools Everything-like SMB share indexing either. Maybe Spacedrive will have these things when released? *crosses fingers
Finder and File organization is the worst part of Mac experience, it's terrible - I still can't get used to it after 3 years.
Windows Explorer is so much better.
Aswell as not searching the current folder, I find it so infuriating that Save-As does not default to the Current folder, just picks a random one!!
All I want is to hit Command-F to quickly search the filenames in the current folder (not start a sluggish scan of my entire hard disk). There used to be workarounds for this, but then they removed "Find by Name..." from Finder just to make our lives harder. Does anyone know a workable alternative?