[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Emacs: Problems of the Scratch Buffer

From: Xah Lee
Subject: Emacs: Problems of the Scratch Buffer
Date: Wed, 18 Apr 2012 05:00:20 -0700 (PDT)
User-agent: G2/1.0

for entertainment purpose only.

〈Emacs: Problems of the Scratch Buffer〉


Emacs: Problems of the Scratch Buffer
 By Xah Lee, 2008-09, …, 2012-04-18

Here are reasons that the scratch buffer is not useful to most people:

 1.It is not useful for 99% of emacs users. If people wanted a scratch
pad, they can open a new document and not save it. This way is
familiar to all software users.
 2.The “*scratch*” “buffer” is designed for emacs lisp programers. (it
defaults to lisp-interaction-mode.) 99% of emacs users are not lisp
 3.The “*scratch*” “buffer” is a INTRUSIVE IDIOSYNCRASY. New users are
not familiar what it is. It is the first thing presented to users, and
it persists.

Scratch Buffer is Inconvenient

Here are reasons that a alternative to “*scratch*” “buffer” is more

 1.There is no easy, intuitive way to create multiple scratch buffers.
(it is done by calling switch-to-buffer 【Ctrl+x b】 then give a name
that is not one of existing buffers.)
 2.When the scratch buffer is closed, emacs does not prompt user to
save it. This easily causes data loss.
 3.A scratch pad can be very useful not just for temporary elisp code
but for any scratch notes or programing in other languages. (For
example, well known programer Stevey Yegg in his popular blog article
Effective Emacs↗, considers creating new temp buffer as a top 10 tip
in emacs productivity.)
 4.Emacs does not provide a user level function to create a new
buffer. It has menu 〖File▸Open file…〗 (a wrapper to the find-file
command), which immediately prompt user for a full file path. This is
annoying. Modern apps's New File command actually just create a new
untitled file without prompting, and prompt only when user wants to
save it. If user closes it, it prompts for saving.

Proposed Fix: Adding a “new-buffer” Command

I propose that emacs should add a command “new-buffer” with menu
〖File▸New〗. Once called, it should create a empty buffer titled
{untitled, untitled<2>, untitled<3>, …}.

 1.Users can now create multiple temp buffers easily, by just calling
“new-buffer”. No more work-around using “switch-to-buffer” method.
 2.Data lose is prevented because closing any unsaved buffer will
prompt for save.
 3.For lisp coders, new buffer can default to a lisp mode. Other
programers can default it to python mode, ruby mode, etc.

 1.No more redundant and mysterious “*scratch*” concept.
 2.The menu command “New” is a widely adopted standard among apps
across Mac, Windows, Linux.
 3.A “new-buffer” command completely cover the functionality of
emacs's “*scratch*” buffer.
 4.The name “untitled” is conventional, widely understood.


The above suggestion is implemented in ErgoEmacs Keybinding, where you
simply press 【Ctrl+n】 to create a new buffer.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]