From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.help Subject: Re: Beginning Hobbyist Programmer Question Date: Fri, 18 Jan 2008 23:22:07 +0000 Message-ID: <20080118232207.GB2634@muc.de> References: <44129c70-807a-4ef0-bc4f-e299caf5e334@k39g2000hsf.googlegroups.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1200697947 14118 80.91.229.12 (18 Jan 2008 23:12:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 18 Jan 2008 23:12:27 +0000 (UTC) Cc: help-gnu-emacs@gnu.org To: signups17@gmail.com Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Jan 19 00:12:45 2008 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JG0O7-00080D-25 for geh-help-gnu-emacs@m.gmane.org; Sat, 19 Jan 2008 00:12:39 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JG0Nh-0005Ug-UN for geh-help-gnu-emacs@m.gmane.org; Fri, 18 Jan 2008 18:12:13 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JG0NQ-0005Ub-5L for help-gnu-emacs@gnu.org; Fri, 18 Jan 2008 18:11:56 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JG0NP-0005UP-JM for help-gnu-emacs@gnu.org; Fri, 18 Jan 2008 18:11:55 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JG0NP-0005UM-FC for help-gnu-emacs@gnu.org; Fri, 18 Jan 2008 18:11:55 -0500 Original-Received: from colin.muc.de ([193.149.48.1] helo=mail.muc.de) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JG0NP-0004su-3k for help-gnu-emacs@gnu.org; Fri, 18 Jan 2008 18:11:55 -0500 Original-Received: (qmail 63745 invoked by uid 3782); 18 Jan 2008 23:11:53 -0000 Original-Received: from acm.muc.de (p57AF7D13.dip.t-dialin.net [87.175.125.19]) by colin2.muc.de (tmda-ofmipd) with ESMTP; Sat, 19 Jan 2008 00:11:50 +0100 Original-Received: (qmail 6385 invoked by uid 1000); 18 Jan 2008 23:22:07 -0000 Content-Disposition: inline In-Reply-To: <44129c70-807a-4ef0-bc4f-e299caf5e334@k39g2000hsf.googlegroups.com> User-Agent: Mutt/1.5.9i X-Delivery-Agent: TMDA/1.1.5 (Fettercairn) X-Primary-Address: acm@muc.de X-detected-kernel: by monty-python.gnu.org: FreeBSD 4.6-4.9 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:50814 Archived-At: Hi, signups! On Thu, Jan 17, 2008 at 02:04:46PM -0800, signups17@gmail.com wrote: [ .... ] > As I get more and more into programming, I get the sense that "real" > programmers use emacs or vi, or some other editor that from my > perspective, seems arcane and impenetrable compared to something simple > like IDLE that comes with Python, or Scite, for example. > Can anyone provide a cogent explanation for why I should take the time > to climb that learning curve? What are the benefits, as you see them? Unlike somebody else here, I think that's a perfectly reasonable way to put your question. Learning Emacs takes a _lot_ of time, so you want to know before you put in the time what you'll get out of it. In short, Emacs is just _NICE_. It lets you do what you want, whilst not getting in the way. And you can customize it to do what you want, how you want. As an example of this niceness, compare how you would do searching in Rotmed[*] compared with Emacs. Rotmed: (i) ; A nasty dialogue box is splatted over your text so that you can't see it any more. (ii) You type in the string, character by character, you want to search for. You'll probably make a mistake, since you can't see the string covered by the D-Box; but you won't yet know you've made the mistake. (iii) You hit ; You get a "String not found". (iv) You can't scroll your main text, because the D-Box is a so-called "modal" D-Box. You can curse, though. (v) You correct the text in the D-Box, and go back to (iii). (vi) Eventually you'll find the string. But it's not the occurrence you're looking for. (vii) You hit (or whatever) to go to further occurrences. You hit too often though, and want to go back. Damn! (viii) You type -u (or whatever) to reverse search direction. (ix) You type again. (x) You're there. So you have to type to get rid of that horrible dialog box. Phew!! Don't want to do this too often! Emacs: (i) : The minibuffer (bottom line of your screen) is now ready to accept your search string. You can see your own text. (ii) As you type in the string, character by character, the cursor moves to where it finds the "string so far". As soon as you make a mistake, Emacs beeps, because it doesn't find that string. (iii) You type to get rid of that erroneous character, then carry on from (ii) again. (iv) At any time during searching, you can scroll your main text up and down. (v) You hit to go on to further occurrences. (vi) You hit too often though, and want to go back. No probs! (vii) You hit to cancel out the superfluous . (viii) You're there! Carry on editing! So slick, you do it almost subconsciously! At this point, Emacs hasn't forgotten where you started the search; you can jump back there with . There's a _lot_ more to searching than I can say here. For example, you search just the same way in _ANY_ context; for example in lists of buffers, in indexes, anything. Most Rotmeds don't do this, for whatever reason. [ .... ] > Thanks in advance. [*] "Run of the mill editor" -- Alan Mackenzie (Nuremberg, Germany).