From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.help Subject: Re: Learning "my emacs" from the start (was: Generating a listing of all symbols) Date: Sun, 20 Apr 2014 11:06:23 +0300 Message-ID: <83lhv0fmrk.fsf@gnu.org> References: <3defe928-5d2e-4d3b-bc26-f595f275f840@googlegroups.com> NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1397981230 22004 80.91.229.3 (20 Apr 2014 08:07:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 20 Apr 2014 08:07:10 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Apr 20 10:07:03 2014 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WbmmF-0002zr-1M for geh-help-gnu-emacs@m.gmane.org; Sun, 20 Apr 2014 10:07:03 +0200 Original-Received: from localhost ([::1]:44725 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WbmmE-00020e-Bc for geh-help-gnu-emacs@m.gmane.org; Sun, 20 Apr 2014 04:07:02 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46014) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wbmlx-00020X-Ib for help-gnu-emacs@gnu.org; Sun, 20 Apr 2014 04:06:53 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wbmlq-0005jN-2m for help-gnu-emacs@gnu.org; Sun, 20 Apr 2014 04:06:45 -0400 Original-Received: from mtaout21.012.net.il ([80.179.55.169]:58124) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wbmlp-0005h5-Qy for help-gnu-emacs@gnu.org; Sun, 20 Apr 2014 04:06:38 -0400 Original-Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0N4B00J00KQN7A00@a-mtaout21.012.net.il> for help-gnu-emacs@gnu.org; Sun, 20 Apr 2014 11:06:36 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N4B00J3OL701FA0@a-mtaout21.012.net.il> for help-gnu-emacs@gnu.org; Sun, 20 Apr 2014 11:06:36 +0300 (IDT) In-reply-to: <3defe928-5d2e-4d3b-bc26-f595f275f840@googlegroups.com> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.169 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:97251 Archived-At: > Date: Sat, 19 Apr 2014 13:10:22 -0700 (PDT) > From: Hans BKK > > > There's no one right way to learn Emacs. But, I think the way you're > > choosing is a lot of work. > > > > You can start off using it for everyday editing, that's what I did and > > what lots of people do. I expect you've done the tutorial and learned > > the keybindings, that's very useful. Then read a bit of the manual > > and the internet resources occasionally and learn more. > > > > You only really need to looks for customizations, enable non-default > > packages, etc. when you run into a problem or you feel something is > > inefficient. Why change the standard behaviour if it's not a problem? > > > I am learning customization before ordinary usage in editing very intentionally; emacs' value as a portable lifetime meta-OS dev/org/comms platform is far more important to me than its comparatively trivial role as an editor. Almost no one uses Emacs as merely an editor. I think most, if not all, of those who write in this forum are like you: they use Emacs for much more than just editing text. Therefore, the suggestions you get here is not limited to editing. You are well advised to take those suggestions under consideration, even if you don't agree with them eventually. Don't dismiss them too quickly: they have a very large number of combined man-years of experience behind them. > The whole point to me of bothering with the learning curve [1] of a complex platform like emacs is to create my own highly-customized version, and the keybindings seems (again, to me) to be a logical place to start, ideally before getting sucked into the vanilla-emacs shift-Alt-Ctrl-Super-Meta-Cmd (IMO sorry-but-insane ancient-legacy) default keybindings for routine navigation and editing usage. There are emulation packages (like cua-mode) that do that for you. No need to roll out your own bindings (which might not work well, because some CUA shortcuts conflict with very important Emacs keybindings, which you don't want to break). In any case, the above is exactly in line with what you were advised: start Emacs in its default configuration, then identify your special needs that aren't satisfied by that (Emacs by default already supports several CUA standard keys), then try looking for an optional bundled package which already does what you want, and only of all of the above fails, proceed to rolling your own. > I will of course leave many hundreds of commands alone, especially for the more obscure and complex, less frequently used modes and packages not worth taking the time to customize. Alas, there's no practical way of discovering which is which. If you intended to go over all of the commands provided by Emacs, then that's impractical, as there are too many of them, even if you restrict yourself to the default configuration. IOW, the way you intend to take is much longer and less efficient than what was suggested to you. > Ideally my emacs will be keystroke-compatible with the de-facto standard bindings for the most-used editing-basic functions, as followed by most other mainstream editors released in recent decades, so my 5-y.o. kid and grandmother could juat sit down and use it. Again, if you turn on cua-mode, you will have most, if not all, of what your kid and grandmother need. No need to take this philosophy farther than it needs to go. As soon as you start talking about features that are not text editing, there are no de-facto standards for most keybindings, so you either adopt what Emacs provides, or come up with yet another incompatible set of bindings. One significant advantage of using the standard Emacs bindings is that your muscle memory will still be applicable when you need to work on someone else's machine, or even explain to someone else how to solve a problem in their Emacs. This isn't something to dismiss easily in the long run. Happy hacking!