If you are like me, you like to:
- Live in Emacs as much as possible to avoid context-switching
- Set up Emacs so your environment abstracts the OS as much as possible
Being able to sit down at any of my computers and type
M-x locate in Emacs is a requirement for me, even if It’s running Windows underneath.
In this post I’ll describe how to set up a
locate(1) command on Windows 10, and how to access it from Emacs.
Download and install locate32 on your machine. It doesn’t have an installer, it just gives you a directory full of things, including the
locate.exe binary. I put mine in
"C:/Users/rml/Programs/locate32/", and added that location to my Windows
In Emacs, set the value of the
locate-command variable to wherever you ended up putting it. Here’s where it is on my machine:
(setq locate-command "c:/Users/rml/Programs/locate32/locate.exe")
Now when you run the
M-x locate command from inside Emacs, it should give you a Dired buffer of results, the same way it does on other systems. Because it’s Dired, you can hit enter on a filename to visit it or mark files in various ways and then operate on them.
Here’s what it looks like on my Windows 10 laptop if I search for the text “svn”: