Most Emacs tutorials start the same way: “Run the built-in tutorial with C-h t.” We’re going to skip that entirely. Instead, let’s get you productive in Emacs in under an hour with a modern setup.

Install Emacs 29+

Make sure you’re running Emacs 29 or later — it includes tree-sitter support, eglot for LSP, and a much better default experience.

On macOS:

brew install emacs-plus@30 --with-native-comp

On Fedora:

sudo dnf install emacs

On Ubuntu:

sudo snap install emacs --classic

The First 5 Things to Configure

Create ~/.emacs.d/init.el (or ~/.config/emacs/init.el) and add:

;; Clean up the UI
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
(setq inhibit-startup-message t)

;; Line numbers in programming modes
(add-hook 'prog-mode-hook #'display-line-numbers-mode)

;; Remember recent files
(recentf-mode 1)

;; Save your place in files
(save-place-mode 1)

;; Don't litter the filesystem with backup files
(setq backup-directory-alist '(("." . "~/.emacs.d/backups")))

Install Your First Packages

Set up use-package (built-in since Emacs 29) and install the essentials:

;; Set up package archives
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)

;; Vertico — better minibuffer completion
(use-package vertico
  :ensure t
  :init (vertico-mode))

;; Marginalia — helpful annotations in the minibuffer
(use-package marginalia
  :ensure t
  :init (marginalia-mode))

;; Magit — the best Git interface
(use-package magit
  :ensure t
  :bind ("C-x g" . magit-status))

What’s Next?

You now have a clean, modern Emacs with completion, Git integration, and a solid foundation. In the next article, we’ll cover the 10 packages every new Emacs user should install.