Emacs Tutorial Series Promotion
![]() | Author: Yuri Tricys Little by little, a little becomes a lot. |
Introduction
Text editors and IDEs (Integrated Development Environments) are software applications used for creating, editing, and managing text files, source code, and projects. They’re popular due to their versatility, customizability, and the efficiency they bring to various tasks.
There are many typical uses and user groups, such as:
Typical Uses:
- Coding and software development: Writing, debugging, and testing source code in various programming languages.
- Writing and documentation: Creating and editing documents, notes, and content for blogs, books, or technical documentation.
- Data analysis and science: Editing and managing data files, scripts, and notebooks for data analysis, machine learning, and visualization.
- Web development: Designing, coding, and testing web applications, websites, and web services.
Typical User groups:
- Software developers: Professional programmers, coders, and engineers.
- Technical writers: Authors, bloggers, and documentation specialists.
- Data scientists and analysts: Professionals working with data, machine learning, and visualization.
- Web developers: Designers, developers, and maintainers of web applications and websites.
- Power users: Advanced users who utilize text editors and IDEs for various tasks, such as scripting, automation, and system administration.
Here Are Some of the More Popular Text Editors:
- Visual Studio Code
- IntelliJ IDEA
- Visual Studio
- Eclipse
- Android Studio
- Xcode
- Sublime Text
- PyCharm
- NetBeans
- PhpStorm
- CLion
- Notepad++
- Emacs
- NeoVim
- Brackets
- BBEdit
- Nano
- TextEdit
Why Is Emacs Different?
Unlike many text editors, with the exception of VIM and its possibly more modern and popular fork NeoVIM, Emacs is often simplified to appear as a simple window on the screen, without complicated menus and technical boxes. This makes it conceptually easy to work with and contributes to its popularity.
Since 2019, Emacs posts on Reading World Magazine have had around 150,000 views. Even today, in the midst of the AI boom, 10 to 20 new visitors from around the world visit Reading World Magazines Emacs posts every day.
Emacs (1976) and Vi were the first IDE-like text editors, which may be why it’s popular among researchers in many of the world’s most renowned academic institutions. Possibly for this reason it’s one of the few text editors used outside of technical fields such as engineering and science.
Who Uses Emacs
In addition to techy people, here are some non-technical types of people who have been known to use Emacs:
- Designers
- Artists
- Musicians
- Content creators
- Entrepreneurs
[Note: Most people, including: skilled public speakers and business people don’t use Emacs. For example, sales people, marketing specialists, managers usually spend their time on other activities, such as building relationships with suppliers, staff, and customers.]
Musician Case Study
Pierce Wang is an example of a classical musician who use Emacs:
Here is his Emacs conference talk video:
Other Emacs Videos
Among the text editor scenes, the Emacs scene is known for having a bit of an eclectic crowd. Browse through some of the following talks if you’re interested in viewing some of the people who use Emacs.
https://emacsconf.org/2024/talks/ https://emacsconf.org/2023/talks/ https://emacsconf.org/2022/talks/ https://emacsconf.org/2021/talks/ https://emacsconf.org/2020/talks/
What Do People Use Emacs for?
Productivity
- checking email
- managing complex projects
- to-do lists
Writing and Editing
- writing
- editing
- outlining
Note-taking and Reflection
- daily journals
- note-taking
- organizing thoughts
- brainstorming
Human-Computer Interaction
- interacting with your computer
- interacting with AI
How Does Emacs Improve Productivity So Much?
Emacs originally stood for macro, which is a series of key strokes that result in a multi-step computer operations. In my opinion, one of the biggest advantages of Emacs is a feeling of total control and proficiency when you are at the ‘helm’ of your computer.
I compare this proficiency with ‘playing’ your computer like a ‘piano.’
Not only does a high-level of proficiency with Emacs make computer work enjoyable, it improves productivity more than 10x. After mastering Emacs, you will achieve 10x more editor related work from the same effort, or the same amount of editor related work for 1/10 of the effort. Because of the organization benefits it brings, Emacs use also improves your productivity in non-text editor related areas.
Emacs is also a useful facilitator for working with your computer using voice commands. Voice LLM interactivity, the most advanced form of ‘vibe’ coding is going crazy this year, in terms of growth in products/libraries and various instruments. The productivity gains and ease-of-use anticipated from Emacs based voice controlled LLM interaction, using MCP tool servers, is out of this world.
Here are some key ways Emacs Boosts Productivity:
- Keyboard-centric workflow: By keeping your hands on the keyboard, you can speed up your interactions with Emacs and your computer.
- Rapid navigation and file management: Emacs enables you to quickly navigate your computer and manage files, allowing you to jump to and create, delete, open, and close files instantly.
- Seamless integration with other software: Emacs integrates with other software on your computer, giving you the power to interact with multiple applications from within Emacs.
- Efficient information management: Emacs allows you to capture and save information, and then retrieve it later using powerful search functionality.
- Document organization and simplification: Features like file folding enable you to minimize the complexity of large documents by folding sections under headings.
- Multi-document generation: Through literate programming, Emacs enables you to organize multiple documents by section, using code blocks to generate multiple files from a single document.
What Are Some Shortcomings of Emacs
Because Emacs is open-source, and evolved from an open-source community, it comes with the problem of a seemingly infinite choice of customizations and options. Also, the learning curve is notoriously ‘steep’, meaning ‘flat’; I’ve no idea why people say steep 😆.
In addition, to get it to the point where it can be used like most over-the-counter text-editors Emacs requires a significant amount of customization. While a knowledge workers’ ‘workshop’ built in Emacs is incredibly powerful, setting it up and getting proficient in it takes most people many years.
In my case, I first learned Emacs from an academic supervisor, while working as a consultant. He was also a consultant, who went on to be the Chair of Economics at ETH Zurich. Needless to say, I received excellent instruction.
However, it wasn’t until 2 years after first using Emacs that I started heavily customizing it. And it wasn’t until 10 years of using Emacs that I became what I consider for my skill-set highly-proficient in it.
Why A Build Hello Tutorial Series?
Over the years, I realized I have unique knowledge and skill that can lower the time to Emacs proficiency from 10 years to 2 years. That’s 6 months to get familiar with it and a year and half to master it. Considering how beneficial it is to me, improving my productivity by 10x and more than tripling the rate at which I learn new things, I believe if Emacs is learned in an intelligent way, the benefits of using it for anyone who writes things down are incredible.
Also, because of the way the world is going with AI, Emacs offers some unique opportunities for integration with multiple AI tools, while many editors and products focus on tools from only one provider.
What About Other Emacs Tutorial Series, Should I Watch Them?
Yes and No. Watching any Emacs tutorial is probably helpful in some way, but there are a HUGO amount of tutorials, and many are overly complicated, uncontextualized, missing information, and/or simply outdated. Moreover, the Youtube model promotes number of views, prompting some of the better tutorial providers, like System Crafters to produce a HUGO number of tutorials, making it unclear which tutorials to use, and how to use them, and pushing the time to proficiency up again.
From many of the free tutorials out there, I do recommend System Crafters tutorials. In this series, I will be recommending some of System Crafters tutorials for certain operations. Keep in mind however, System Crafters operates at a level of complexity that is higher than generally required.
Should I mention Emacs in my Interview for Microsoft, Amazon, or Apple.
Probably not. While of course many people in big organizations, like Google, Facebook, Microsoft, Amazon, Apple, and Tesla use Emacs, VIM and NeoVim, it’s recommended to mention VS Code in any interview settings.
Okay, I’m ready to start learning Emacs, Where Should I start?
I’m currently putting together the first two mini-series of my Emacs tutorial series, ‘Building And Installing Emacs on Your Operating System’, and ‘Initializing and Using Emacs.’
To prepare for those Series I recommend watching the System Crafters tutorial: “Absolute Beginner’s Guide to Emacs.” Go ahead and install Emacs on your computer system and try it out. You can uninstall it and reinstall it when my first tutorial series comes out, or just use the installation you installed during the System Crafters video.
Here is the video followed by an AI generated bullet-point summarization.
The System Crafters Absolute Beginner’s Guide to Emacs | David Wilson
Installing Emacs
- Emacs can be installed on GNU Linux, Mac OS, and Windows
- The latest stable version is 27.1 [try to install the latest stable version: 30.1 <2025-08-26 Tue>]
- Installation methods:
- GNU Linux: package manager [apt, flatpak, snap, ISO image, others ]
- Mac OS: Homebrew [yarn]
- Windows: official website installer [chocolately, pacman]
Graphical User Interface Mode vs Terminal Mode
- Emacs has two modes: graphical user interface (GUI) and terminal mode
- GUI mode:
- Has toolbar and menu bar
- Can display different font sizes and colors
- Terminal mode:
- Can be used remotely
- Limited display capabilities
Basic Concepts of Emacs
- Emacs has a user interface with a toolbar and menu bar
- Menu bar has menus for files, windows, and other actions
- Each menu entry has a key binding associated with it
Modes
- Emacs has different modes for editing different file types
- Each mode has its own actions and key bindings
- Examples: Lisp interaction mode for editing Lisp files
Windows and Frames
- Emacs windows are panes inside the current Emacs window
- Windows can be split horizontally or vertically
- Can display different buffers
- A frame is an independent window with its own file menus and toolbars
Frames
- A frame is an independent window that can be created in Emacs
- Can be created using “New Frame” menu item or
C-x 5 2
key binding - Each frame shares information with other frames from the same Emacs process
- Buffers are available in all frames
Other UI Elements
- No file tree by default, but can be added using community packages
- Other ways to manage files and buffers available in Emacs
Frames
- Emacs allows multiple “frames”.
- The same buffer can be shown in different frames.
- Using multiple frames provides more workflow options.
- You’re not limited by which frame opened a file/buffer.
- Most users probably use a single frame.
Buffers
- A buffer is an Emacs object that holds text and information to be displayed.
- Buffers can be used for non-display purposes, like communicating with external processes.
- Examples include:
- File contents
- Magit Git interface
- Custom UI buffers for tasks or temporary info.
Buffer Management
- Emacs doesn’t visually indicate open buffers.
- Use
C-x b
to switch between open buffers. - Important buffers include:
- Scratch buffer: for temporary notes.
- Messages buffer: log of Emacs messages.
- Warnings buffer: shows potential errors.
Mode Line
- The mode line is a status bar at the bottom of the Emacs screen.
- It displays information such as cursor position and file type.
- There is one mode line per Emacs window.
- The mode line is fully customizable in terms of format, alignment, color, and icons.
Echo Area and Mini Buffer
- The echo area is at the bottom of the Emacs screen.
- It displays messages when events occur in Emacs.
- The same area is also used as the mini buffer.
- The mini buffer is a temporary space for user interaction.
- It’s used for commands that require user input or selections.
Commands
- Commands are a key part of Emacs functionality.
- A command is a function with special information, making it user-facing.
- Commands can be run by name using
M-x
. M-x
allows completion of command names.
Key Bindings
- Key bindings are crucial for interacting with Emacs.
- Users can customize key bindings to suit their needs.
- Emacs has an extensive list of available commands that can be bound to keys.
- Emacs allows users to discover available key bindings and their corresponding commands.
- Some of the key bindings are:
C-x b
is used to switch between buffersM-x
is used to run a command by name
Modes
- Emacs has a concept called major and minor modes.
- Major modes provide functionality for a particular buffer based on file extension.
- They are usually activated when opening a file with a specific extension (e.g. Python mode for
.py
files).
Major Modes
- A major mode provides core functionality for a specific buffer.
- Major modes are often activated using commands.
- Even if a mode is triggered by a file extension, it still activates using its command (e.g.,
org-mode
for.org
files).
Minor Modes
- Minor modes provide additional, non-major-mode-specific functionality in Emacs.
- They can be used to customize workflow or change display settings.
- Many third-party packages provide minor modes as extra functionality.
- Some minor modes are built into Emacs.
Examples of Modes in Action
hl-line-mode
highlights the current line in Emacs.- To enable it, press
Alt + x
to open the command prompt in the mini buffer. - Type
hl-line-mode
and press Enter to activate the mode. - The current line with the cursor will be highlighted (in this case, with a yellow color).
Frames and Buffers
- Emacs allows interactive experiences through commands and buffers.
- You can explore various Emacs commands to create different experiences.
- To play Tetris in Emacs, type
Alt + X
, then typetetris
.
Key Bindings
- Emacs is most efficient with keyboard-based control.
- The key binding system is flexible and customizable.
- Knowing key bindings is necessary for daily use.
Understanding Key Bindings
- People often write out key bindings in a specific format.
- This format is used especially in Emacs.
- The format is used in the Emacs menu bar.
- The syntax of these strings will be explained.
Modifier Keys
- “C-x” notation indicates a keyboard shortcut.
- “C” stands for Ctrl key.
- To execute the shortcut, hold Ctrl and press the letter that follows “C-”.
- Example: “C-c” means hold Ctrl and press “c”.
Complex Key Bindings
C-x C-s
means holding Ctrl, pressing x, and then pressing s (while still holding Ctrl)- You can either release Ctrl between pressing x and s, or keep holding it
- Keeping Ctrl held down is more efficient and easier on the fingers.
Key Bindings
- Emacs has many key bindings that can be combined.
- Modifier keys (control, alt) can be used together to create more bindings.
- Key bindings are more efficient than using menus.
- Emacs has complex key bindings (e.g., holding control and hitting multiple letters).
Prefixes
- A prefix is a key sequence that requires another key press.
- Examples of prefixes include
C-x
andC-c
. C-x
is used for key bindings related to files, windows, and frames.C-c
is used for key bindings related to the current major and minor modes.
Modes
- Cua mode makes C-c, C-x, C-v behave like copy, cut, paste.
- To enable: Options menu > “Use CUA Keys” or
M-x cua-mode
.
Frames and Buffers
C-x C-f
: Open a file (find file)C-x C-s
: Save a fileC-x b
: Switch buffersC-x C-b
: List buffersC-x <left/right>
: Cycle through buffers
Cut, Copy, and Paste
- Select text by marking region with
C-SPC
(control space) - Cut:
C-w
(kill-region) - Copy:
M-w
(kill-ring-save) - Paste:
C-y
(yank)
Undo and Redo
- Undo:
C-_
orC-/
C-g
(reset undo state)
- Redo:
C-_
(redo)
Canceling Operations
- To cancel an operation in Emacs, press
C-g
.
Key Bindings
- Learn key bindings by checking the menu bar.
- Use “describe-bindings” to list all active bindings.
- Use “describe-key” to identify a key’s command.
- Access Emacs’ built-in help and manual with
M-x info
.
Help System
- To configure Emacs, type “customize” with Alt+x to access the customization UI.
- The customization UI shows options for built-in Emacs features and external packages.
- Alternatively, edit the init.el file, which is Emacs Lisp code used for configuration.
Init.el File
- The init.el file contains Emacs Lisp code.
- It is used to configure Emacs.
- Checking it into source control allows for easy sharing between machines.