From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Xah Lee Newsgroups: gmane.emacs.help Subject: new version for emacs ergonomic keybinding Date: Mon, 22 Sep 2008 04:36:42 -0700 (PDT) Organization: http://groups.google.com Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1222083721 7650 80.91.229.12 (22 Sep 2008 11:42:01 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Sep 2008 11:42:01 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Sep 22 13:42:58 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 1Khjod-00053l-K4 for geh-help-gnu-emacs@m.gmane.org; Mon, 22 Sep 2008 13:42:55 +0200 Original-Received: from localhost ([127.0.0.1]:45260 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Khjnb-00008W-W5 for geh-help-gnu-emacs@m.gmane.org; Mon, 22 Sep 2008 07:41:52 -0400 Original-Path: news.stanford.edu!newsfeed.stanford.edu!postnews.google.com!n33g2000pri.googlegroups.com!not-for-mail Original-Newsgroups: gnu.emacs.help,comp.emacs,comp.lang.lisp Original-Lines: 106 Original-NNTP-Posting-Host: 24.6.185.159 Original-X-Trace: posting.google.com 1222083403 10105 127.0.0.1 (22 Sep 2008 11:36:43 GMT) Original-X-Complaints-To: groups-abuse@google.com Original-NNTP-Posting-Date: Mon, 22 Sep 2008 11:36:43 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: n33g2000pri.googlegroups.com; posting-host=24.6.185.159; posting-account=qPxGtQkAAADb6PWdLGiWVucht1ZDR6fn User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; en) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.2 Safari/525.22, gzip(gfe), gzip(gfe) Original-Xref: news.stanford.edu gnu.emacs.help:162546 comp.emacs:97093 comp.lang.lisp:252764 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:57888 Archived-At: My ergonomic system now has a new version: http://xahlee.org/emacs/ergonomic_emacs_keybinding.html The keybinding is designed in 2007-07, and the elisp began more as a experimental code, so that it is easy for emacs hacker to try it out and mod it to their own likings. I did not see it to be a complete, self-contained, elisp package. Over the past year, in searching for the most efficient operation with emacs, i've done a lot more work on this, especially during the past 2 months. With my increased elisp knowledge in the past years, now, the code is more of a complete system that any emacs user can simply download and try it out, without having to know any elisp. The improvements in the past month are: =E2=80=A2 The elisp code for the ergomap is now more designed for one brainless install and have it work, as opposed to for elisp coders who wants to experiment. =E2=80=A2 Ctrl+=E2=80=B9key=E2=80=BA space keys are now removed, so use= rs don't have to fiddle with elisp code when they want to kick the habit. =E2=80=A2 Fixed compability for all major programing lang modes and standard emacs special modes (e.g. minibuffer, shell, info, dired, cua- mode, ...). (thanks to Lennart Borgman for suggestion on how to fix cua-mode, and thanks to Alan Mackenzie for suggesting (kill-line 0) for kill-line- backward) --------------- per a recent thread, esp input from Alan Mackenzie and Nikolaj Schumacher, i've now some work in the past week, so that the separate file modern_operations.el which contained several convenient functions and standard keybindings is now part of the ergonomic keybinding code. (so that, you just download one single elisp file and all should work) --------------- in a summarized description: =E2=80=A2 all most frequently used editing commands such as cursor moving a= nd copy/paste etc are mapped to Alt+=E2=80=B9key=E2=80=BA according to typing = ease. =E2=80=A2 none-editing related but frequently used commands such as New, Op= en, Close, Sav, Save As, Print now has the standard Ctrl+=E2=80=B9key=E2=80=BA = shortcuts. (This is added this week, and was not originally part of the ergonomic keybinding design, since the original design only focused on text editing related commands and only uses the Meta+=E2=80=B9key=E2=80=BA space= . But After using the design for over a year, and since most Ctrl+=E2=80=B9key=E2=80=BA= space is empty now, it seems natural to add these common needed and universal compatible commands and shortcuts in.) =E2=80=A2 over the past year in my study on emacs ergonomics and user interface, i have come to realiz few problems of emacs. In particular, there's no fitting elisp command in emacs that corresponds to the standard and very useful New, Close operations. These as a side effect, also fixed emacs's =E2=80=9C*scratch*=E2=80=9D buffer problem as de= tailed in http://xahlee.org/emacs/modernization_scratch_buffer.html ----------------- When adopting a new keybinding, such as this or Qwerty to Dvorak, it is often very frustrating in the beginning because the frequent correction of muscle memory. In working with this ergomap, often i do experiment on some new binding placements with some new text transformation commands so work flow is slowed down as often i pressed the wrong key by muscle memory or have to pause and think what's the command or key to use now. If you try this ergomap for 2 weeks, full time in your daily coding, i'm pretty sure you'll never look back on emacs default. Now with the standard command/keys New, Open, Close, Sav, Save As, Print, now it makes emacs compatible with modern UI as well as being most efficient keybinding you'll find in any app. ------------------- To do: =E2=80=A2 perhaps make this into a minor mode. =E2=80=A2 make it customizable thru emacs customization system. =E2=80=A2 possibly merge the dvorak and qwerty files into just one single l= isp file, and let user use customization to choose what keyboard layout they are on. =E2=80=A2 some new text transformation commands in consideration ... slight= ly complex to detail at the moment. Xah =E2=88=91 http://xahlee.org/ =E2=98=84