Emacs: List Buffers

By Xah Lee. Date: . Last updated: .

This page is a tutorial on managing buffers in emacs.

In emacs, every file is shown in a “buffer”. (You can think of “buffer” as opened file or tabbed window without the tab.)

2 most useful commands for buffer are:

  1. list-buffersCtrl+x Ctrl+b
  2. switch-to-bufferCtrl+x b

Try them now.

Close a Buffer

To close a buffer, use:

kill-bufferCtrl+x k】 → close the current buffer.

List Buffers: ibuffer

The command ibuffer is a improved version of list-buffers. It colors the files by type.

emacs ibuffer 2015-10-13
A screenshot of ibuffer mode.

To make ibuffer as default, put the following in your init file:

(defalias 'list-buffers 'ibuffer) ; make ibuffer default

Select the code and Alt+x eval-region. Now, Alt+x list-buffers.

Batch Operation on Buffers

You can do operation in batch to the marked ones. Example:

emacs ibuffer operate 2015-04-09
Emacs ibuffer “Operate” menu.
emacs ibuffer mark 2015-04-09
Emacs ibuffer “Mark” menu.

Alt+x describe-mode to see a full list of ibuffer commands.

Here's most useful ibuffer commands.

KeyPurpose
mMark
uUnmark
* uMark unsaved
SSave marked buffer
DClose marked buffers

In ibuffer, the key sequence 【* u S D】 will save all unsaved files and close them. This is particularly useful after you've done a find replace on hundreds of files with dired-do-query-replace-regexp. [see Emacs: Find Replace Text in Directory]

Buffer Switching: ido-mode

Emacs: Switch Buffer

Emacs Quick Start

  1. Where to Download?
  2. Emacs First Day
  3. Basic Emacs Keys
  4. Basic Tips
  5. Less-known Tips
  6. Fun with Emacs
  7. Emacs on Windows
  8. Build Emacs on Linux
  9. Build Emacs from git

Manage Windows

  1. Split Windows
  2. Restore Split Windows
  3. Make Buffer Flow Side-by-Side

File

  1. Emacs Bookmark
  2. Open Recently Opened
  3. Open File Fast
  4. Open Last Closed File
  5. Open File Path Under Cursor
  6. Copy File Path

Buffer

  1. List Buffers
  2. Switch Buffer
  3. Ido Mode
  4. New Empty Buffer
  5. Next/Previous User Buffer

Dired

  1. File Manager, dired
  2. Batch Rename Files
  3. Dired Sort File by Time, Size
  4. Rename File, Space to Hyphen/Lowline

On Current File

  1. Run Current File
  2. Delete Current File
  3. Backup Current File
  4. Convert File Line Ending
  5. Open File in External App

Find Replace

  1. Search Text in Buffer
  2. isearch Current Word
  3. Isearch Whitespace Regex
  4. Highlight Text in Buffer
  5. List Delete Highlight Sort Lines
  6. Search Text in Directory
  7. Find Replace in Buffer
  8. Find Replace in Directory
  9. xah-find.el, Find Replace in Pure Elisp
  10. Regex Tutorial

Copy/Paste

  1. Copy/Paste and kill-ring History
  2. Copy/Cut Current Line If No Selection
  3. Copy/Cut All or Selection
  4. Paste or Paste Previous
  5. Show kill-ring
  6. Copy to Register
  7. 1 Key to Copy/Paste from Register
  8. Copy Append
  9. Sync Copy/Paste Clipboards with Linux X11

Unicode

  1. Unicode Basics
  2. Unicode Tutorial
  3. Emacs File Encoding FAQ
  4. Best Unicode Fonts for Programer
  5. Elisp: Unicode Escape Sequence
  6. Xah Math Input Mode
  7. Xah Unicode Browser Mode

Font

  1. Font Setup
  2. Proportional Font
  3. Cycle Fonts by Command
  4. Set Line Spacing

Whitespace

  1. Clean Empty Lines
  2. Delete Trailing Whitespace
  3. Delete Whitespace around Cursor
  4. Tabs, Space, Indentation Setup
  5. Newline Representation ^M ^J ^L
  6. Make Whitespaces Visible

Rectangle Edit

  1. Edit Column Text, Rectangle Commands
  2. Insert Alphabets A to Z
  3. Copy Rectangle Region to kill-ring
  4. Align Text
  5. picture-mode, ASCII Diagram

Line Wrap

  1. Hard Wrap Lines
  2. Toggle Line Wrap
  3. Reformat Lines for Source Code
  4. Visual Line Mode, Wrap Lines
  5. Novel Reading Mode
  6. toggle-word-wrap

Shell

  1. Run Shell in Emacs
  2. Why Run Shell in Emacs?
  3. Difference between shell, term, eshell
  4. eshell
  5. View Linux man Page

View Things

  1. Spell Checking
  2. View Info Page
  3. View Image File
  4. View Image Thumbnails
  5. Eww Web Browser

Working with Brackets

  1. Highlight Brackets ()[]{}
  2. Auto Brackets Pair
  3. Insert Brackets by Pair
  4. Delete Brackets ()[]{} by Pair
  5. Move Cursor to Bracket/Quote
  6. Change Brackets/Quotes

Enhanced Editing

  1. Select Line, between Quotes, Extend Selection
  2. Move Cursor to Beginning of Line/Paragraph
  3. Move Cursor by Text Block
  4. Move Cursor to Punctuation
  5. Delete Text Block
  6. Toggle Comment Current Line
  7. Insert Date Time

Org Mode

  1. Org Mode Markup Cheatsheet
  2. org-mode Tutorial
  3. Source Code Markup
  4. Org Mode for Todo
  5. Org Mode Customization
  6. Elisp: Parse Org Mode

HTML

  1. Emacs HTML Tips
  2. Insert HTML Tag
  3. Add Paragraph Tags
  4. Color CSS Color Values
  5. URL to Link, Simple
  6. URL to Link, with Date
  7. Link to Dead Link
  8. Citation to Link
  9. Word to Wikipedia Link
  10. Wikipedia URL to Link
  11. Amazon URL to Link
  12. Google Map URL to Link 🌐
  13. Chinese Char to Ref Link
  14. Image Path to Link
  15. Extract URL
  16. URL Percent Decode/Encode
  17. Replace HTML Entities
  18. Lines to List
  19. Lines to Table
  20. Color Source Code
  21. update-title
  22. CSS Compressor
  23. Markup Function Names
  24. Make Ruby Annotation
  25. Move Image File
  26. Xah HTML Mode

Emacs Efficiency

  1. Keyboard Macro
  2. Completion
  3. Abbrev Mode
  4. Interactive Abbrev
  5. Use Alias for Fast M-x
  6. Jump to Previous Mark
  7. Repeat Last Prompted Command
  8. Effective Windows Management
  9. Tips on Long Term Emacs Productivity

Misc

  1. Using magit for git
  2. Emergency vi
  3. Command to Open Menu
  4. Edit Tables
  5. Emacs Chinese Input
  6. GUI vs Terminal

If you have a question, put $5 at patreon and message me.
Or Buy Xah Emacs Tutorial
Or buy a nice keyboard: Best Keyboards for Emacs

Emacs

Emacs Lisp

Misc