

Emacs is entirely open source, and you're free to extend it as you see fit. More complicated tasks are possible with a few lines of Emacs Lisp, a programming language you can use to add to the functionality of Emacs itself. Relatively simple tasks, such as integrating debuggers directly into the editor, automatically compiling LaTeX, or accessing documentation are either already baked into Emacs or available as a third-party package. Emacs itself is practically an operating system, and you can configure it to handle any possible workflow you can imagine. I don't just mean the superficial customization available in other text editors, such as changing themes or keyboard shortcuts. It's very difficult to capture in words the extent to which Emacs can be customized. Below I'll outline what I love about using Emacs and why I think you'll love it too. In the same way with Emacs, editing text is certainly its primary function, but a whole host of other features mean that you hardly ever need to leave Emacs while developing. Making calls might be a primary intended function, but that's by no means all it's designed to do. However, I also detail many Emacs-specific features that I feel make it the top choice.Ĭalling Emacs a text editor is a little like calling your iPhone a telephone. There are many other command line editors, such as Vim or Nano, and many of the benefits of Emacs outlined in this article likely apply to other command line editors as well. They share much of the same functionality as traditional text editors and IDEs, but offer significant portability and customization benefits that other editors do not. If you're not already familiar with command line editors, they are programs that run entirely within a terminal window. Here's why you should use Emacs instead.Įmacs is a command line text editor that you can use to accomplish practically any development-related task.
Emacs exit code#
The idea is that I’ll first connect to the host via SSH and then run any further commands using doas (the OpenBSD equivalent of sudo more or less, as my email server is hosted on OpenBSD).If you're reading this article, chances are you regularly use Notepad, Visual Studio, or Sublime to write code and edit text. TRAMP can handle this too with something called multiple hops. There is one issue with this, however: my Dovecot configuration requires root permissions to edit them. The Emacs package that handles this is called TRAMP, and allows you to do a lot more than just what I’m talking about in this post. You can then used Dired (like an interactive ls, if you aren’t an Emacs user!) to explore your remote files and folders and even open files and edit them. then will cause Emacs to presumably run some commands using SSH (or a related program) and treat it as a directory on your own computer. I use Ivy, so your experience may vary, but when I type /ssh: TAB I’m shown a list of my SSH connections. However you don’t have to just browse for files. Dovecot is great but by default the configuration is spread across dozens of files, and, while trying to tediously edit multiple files over SSH in Vim, I thought, “Wouldn’t it be nice if I could do this with Emacs?” Well guess what!Ĭ-x C-f (or SPC f f in Doom, which is what I use) will open a “find file” dialog, obviously letting you open files and peruse your file system.

I run a private email server and the IMAP portion of the server is handled by Dovecot. This was something I discovered recently by accident.
Emacs exit series#
This is the first installment of an indefinite series calling (in lieu of a better name) “Cool Emacs Things,” little things about Emacs that makes it a very handy editor.
