Xah Emacs Blog Archive 2013-04 to 2013-04

Emacswiki New Site Design

Looks like emacswiki had a new site design. For example: http://www.emacswiki.org/emacs/DiredPlus

the new seems to be a downgrade for me.

now it's black on gray. Parts are gray on gray. Less readable than before. [see Web Design: Say No to Grey Text on White Background]

The older logo is much better. It was a real logo, with elements of art. The new, is just plain letters. [see Purpose of Logo and Principle of Logo Design]

emacs community logo
emacs community logo, designed by Daniel Lundin

worst of all, the new site requires JavaScript. Without, you lose some rather significant CSS for readability. This is quite odd.

PS you can go back to the old.

but then, that means you must have cookies on.

Elisp: Search Documentation (Updated)

You can use apropos-variable and apropos-value to search.

am running ask emacs Tuesday, on g+ and twitter. Me at your service.

also, updated. Elisp: Get universal-argument

Emacs: Power of Icicles

lol. this is a gem.

Tim Pope,

In which Richard Stallman learns what “tabs” are and contemplates adding them to Emacs http://lists.gnu.org/archive/html/emacs-devel/2008-03/msg02254.html

keyboard station one thousand function keys 2012-08-10
master station: one thousand function keys

detail: Keyboard Master: One Thousand Function Keys

XML Nested Syntax vs Lisp Nested Syntax

updated. All the ways you can set keys. Emacs is all about keys. Set any command to any key you want. Set one key today! Emacs Keybinding Syntax Examples

emacs tabbar screenshot 2013-04-20
Emacs tabbar screenshot

updated. How to Set Emacs's User Interface. Thanks to Matthew L Fidler

Sunday Excursion. 2 hands pen-spinning, by yours truely. The keyboard at the bottom is the Truly Ergonomic Keyboard.

2 hands pen-spinning.

yesterday i wrote about a bug. Now there's solution. See: Emacs Bug: global-linum-mode Freeze Emacs on Big Image Files

new index page. All about Emacs Keybinding, Keyboard, Articles Index

mark5 heart keyboard jesse 2013-04-19
mark5 heart keyboard jesse . img source ©

more fancy keyboards

updated. How to Evaluate Emacs Lisp Code. thanks to jcs.

Emacs Bug: global-linum-mode Freeze Emacs on Big Image Files

Emacs: Xah CSS Mode

updated. Emacs: How to Bind Super Hyper Keys

ErgoEmacs Keybinding Movement Feature

Matt has done a lot to ErgoEmacs keybinding. I haven't kept up with the features, but i'll blog as i learn. Here's one.

When you use any of the cursor movement keys, you can keep pressing movement key without holding down the Alt. For example, on QWERTY layout, press 【Alt+j j】, it'll move cursor to the left twice. You can turn this off by putting this in your init:

;; turn off ErgoEmacs repeat move without holding Alt feature
(setq ergoemacs-repeat-movement-commands 'nil)

;; set ErgoEmacs repeat movement. Example, on QWERTY, once you press any of 【Alt+i】 or 【Alt+j】 or 【Alt+k】 or 【Alt+l】, then any i j k l key will move cursor, no need to hold Alt anymore. Type any other key automatically exit.
(setq ergoemacs-repeat-movement-commands 'all)

;; set ErgoEmacs repeat move without holding Alt, but one key afterward. Example, on QWERTY, 【Alt+j j】 will move left twice
(setq ergoemacs-repeat-movement-commands 'single)

You can read more about features, settings, on his repo at https://github.com/mlf176f2/ErgoEmacs/tree/master/ergoemacs/ergoemacs-keybindings

may be offensive. FSF Spread FUD on Microsoft

emacs lisp is so primitive. You have sort, but it can't sort vector, only list.

also, you can't have literals for hash.

and really lots primitive issues. Any of Perl, Python, Ruby, JavaScript, PHP, beats emacs lisp easily.

the only hope for this to improve is waiting for Guile Scheme Lisp to takeover Elisp. The talk has been on for perhaps a decade now. Last hopeful news i heard is about 2 years ago.

Emacs: Zippy the Pinhead

more update. Emacs: How to Make Ctrl+x Easier to Type on Dvorak Keyboard

updated. Computer Keyboard Design Flaws

for those of you who prefer running emacs in max/fullscreen. Emacs: Save Split Windows Configuration

for those of you who prefer multiple non-fullscreen windows. Emacs: Full-Screen vs Multiple Window

Emacs 24.3 Elisp Macro Speedup

emacs 24.3 made elisp code much faster. Quote:

** Emacs tries to macroexpand interpreted (non-compiled) files during load.

This can significantly speed up execution of non-byte-compiled code, but can also bump into previously unnoticed cyclic dependencies. These are generally harmless: they will simply cause the macro calls to be left for later expansion (as before), but will result in a warning (“Eager macro-expansion skipped due to cycle”) describing the cycle. You may wish to restructure your code so this does not happen.

Dmitry Gutov wrote a nice article that shows the speed increase: [• Emacs 24.3's Killer Feature: Eager Macro-Expansion By Dmitry Gutov. At http://dgutov.github.io/blog/2013/04/07/emacs-24-dot-3-s-killer-feature-eager-macro-expansion/ , Accessed on 2013-04-07 ]

It's a bit deep. If you code elisp, you should read it. If you don't code elisp, here's the gist:

via Andrew Hyatt

Emacs 24 Copy Directory Change

rewrote a previous article. Now on its own. This is useful for keyboard freaks only. Banish Key Chords. See also: Keyboard Shortcut Design: Repeatable vs Non-Repeatable Commands and Keys.

added this to my emacs. You type a comma, and a space is automatically added.

(global-set-key (kbd ",") (lambda() (interactive) (insert ", ")))

it'll take a while to get used to.

idea pilfered from [• Minimizing Keystrokes Required by Punctuation By Eric Crosson. At http://ericscrosson.wordpress.com/2013/04/05/minimizing-keystrokes-required-by-punctuation/ , Accessed on 2013-04-06 ]

warning: he's saying nice things about me.

in the name of uber efficiency: Emacs Keybinding Efficiency: Page Up/Down and Pigeon Hole Principle

worth repeating. Tips on Long Term Emacs Productivity

here's ErgoEmacs setup tutorial, by Sindikat: [• ErgoEmacs tutorial By Sindikat. At http://abstractnonsense.net/2013/ergoemacs-tutorial/ , Accessed on 2013-04-06 ]

new version of ErgoEmacs Keybinding is out again. I'm happy to report that the current maintainer Matthew L Fidler has adopted a idea i suggested. Now, “all” of chorded keys has a non-chorded replacement! You can press them by pressing ▤ Menu key first. Here's the current keys:

;; QWERTY used to indicate key position

("<menu> g" keyboard-quit "Quit")
("<menu> j" ergoemacs-ctl-c "Ctl-c")
("<menu> u" ergoemacs-ctl-c-unchorded "Ctl-c*")
("<menu> f" ergoemacs-ctl-x "Ctl-x")

("<menu> h" ergoemacs-ctl-h "Ctl-h")
("<menu> y" ergoemacs-ctl-h-unchorded "Ctl-h*")
("<menu> m" ergoemacs-ctl-c-ctl-c "C-c C-c")
("<menu> SPC" set-mark-command "Set Mark")

The keys are position based, and QWERTY layout is used to indicate their position. That means, doesn't matter whether you are using Dvorak, Colemak, Workman, Bépo, …, you can just look at the labels on your keyboard for the right key. The keys may not be final. But Matt is the maintainer now, so, you'd have to ask him, for suggestions or code push. Also, i haven't been keeping up my documentation of it. I hope to fix it down the road. Another new layout support is Persian standard layout, contributed by Shahin Azad. (it also supports Workman layout. and quite a few others now. You can see all layout supported in the menu 〖ErgoEmacs〗)

Matt also created a emacswiki page at http://www.emacswiki.org/emacs/ErgoemacsKeybindings, so you can post there, ask for help, or help make it better. (Matt says that don't use the emacswiki for question, because it's automatically generated from info file.)

for why about the non-chorded keys, you might get a good idea from my notes here: The Roadmap to Completely Replace Emacs's Key System, Part 2

i think this is really great, because for years i've been thinking how to resolve the cua-mode and emacs C-x issue. Now, i think this is the answer. The implementation is simple, and we don't need the complex hack of cua-mode anymore, and the traditional C-x are still there if one wanted, and the whole system is one step more efficient and ergonomic, even beats vi-like modes. (the main issue of vi's modal ways is that you need to constantly switch modes.)

there's a great page-break-lines-mode by Steve Purcell. It displays FORM FEED char (^L) by a horizontal line. The package is on MELPA. Alt+x list-packages to install. [see Emacs: How to Install Packages Using ELPA, MELPA]

After you install, you need to specify which major modes it should activate. Like this:

(setq page-break-lines-modes (quote (emacs-lisp-mode xah-elisp-mode compilation-mode fundamental-mode text-mode org-mode ruby-mode python-mode xah-html-mode html-mode nxml-mode)) )

this package is great because there are few others but interfere with whitespace-mode settings for some reason. [see Emacs: Make Whitespaces Visible]

updated. Emacs: Insert Parenthesis by Pair: electric-pair-mode

on its own page. Lisp Logo Latte Art

updated. Emacs: Use Alias for Fast M-x

the classic mechanical keyboard. IBM Model M keyboard, Unicomp