There are a few other advantages as well. In Emacs, files and processes can still be open and easily accessible while staying entirely out of your way. If you’re using, say, iTunes, then there’s usually a representation of that program on the screen, even if it’s minimized. (Thanks to user emacsclient on Reddit for pointing this out.) Why Buffers Are Coolīuffers are cool because they break with the idea that everything the computer does has to be currently visible to the user. If you want to turn off your configuration to try this out, you can use I’m going to assume that you’re using a fresh installation of Emacs. You might also start to see why Emacs buffers are cool.įirst, open Emacs. After doing this exercise, you should have a better idea of what buffers, windows, and frames are.
OK, you’re still confused! Let’s try some commands that operate on buffers, windows, and frames. Messing with Buffers, Windows, and Frames However, with the GUI (graphical) version you can open multiple frames, which looks like this: In the command line version of Emacs, you only ever have one frame.
They’re just windows in the normal sense of the word-you can drag them around the screen or close them with the `X` button or do whatever you do with windows. You can split the current frame, which leaves you looking at two windows, like this:Ī frame in Emacs is what you would call a window in most other contexts. If the buffer is associated with a process, such as a shell, you’ll see some representation of that process. If the buffer is associated with a file, you’ll see the text of the file. It allows you, the user, to see what’s going on inside that buffer. Buffers hold text and each one has a unique name.Ī window is a view onto a buffer. You can (and sometimes will) have hundreds of buffers open in Emacs, but you’ll probably only have windows open to one or two at a time.
It doesn’t have to be visible on the screen.
Let’s start with some definitions and we’ll work from there: Some DefinitionsĪ buffer is an interface between Emacs and a file or process. This post is a (hopefully) comprehensible explanation of what buffers, windows, and frames are in Emacs.