-*- coding: utf-8; mode: org -*- # when viewing this file in emacs, press 【Shift+Tab】 3 times to expand all headings. Note: When talking about key POSITION on keyboard, QWERTY is used, unless otherwise specified. For example, “Changed 【Alt+y】 to something”, that “y” means the key that is under the key 7 (which is Dvorak's “f”). But when talking about code, such as “remap 「M-r」 to something”, that means the letter r on whatever layout. * version 5.4.7, 2012-05-17 ** added 【F4】 for paste previous “yank-pop” * version 5.4.6, 2012-05-15 ** added commands to traverse brackets. “forward-open-bracket” 【Alt+→】 “backward-open-bracket” 【Alt+←】 “forward-close-bracket” 【Alt+↓】 “backward-close-bracket” 【Alt+↑】 Note: other minor modes may over-ride these keys. e.g. “org-mode”. ** added “forward-block”, “backward-block” These commands currently don't have a key. You may bind the keys for “forward-paragraph” and “backward-paragraph”. Call “describe-function” on “forward-block” for detail. ** added commands to select line, block text, string Added: “select-current-line” “select-current-block” Modified “select-text-in-quote” to also work on single quotes. e.g. 'some thing' * version 5.4.5, 2012-05-14 ** on Windows, now the 【Menu】 key does emacs's “execute-extended-command”, just like emacs on linux's default behavior. Rational: This is better than the 【Alt+a】. Because 【a】 is pinky, and it involves 2 keys. Now it's single key. Also, this makes it compatible with emacs on linux . ** interactive search (“isearch-forward”) is now QWERTY 【y】 , instead of 【;】. Rational: this is a highly frequently used command. 【;】 is on homerow, but by pinky. 【y】 is far, but by strong finger. Reaching for y may be a fraction of second slower, but more comfortable and healthy than using pinky. ** 【Ctrl+f】 is now interactive search (“isearch-forward”). (was “search-forward”) Feature incomplete. Need to add repeated 【Ctrl+f】 to invoke next match. ** added more than 10 additional keys starting with function keys. 【F1 1】 describe-function 【F1 2】 describe-variable 【F1 3】 describe-key 【F1 4】 describe-char 【F1 6】 lookup-all-dictionaries 【F1 7】 lookup-google 【F1 8】 lookup-wikipedia 【F1 9】 lookup-word-definition 【F1 0】 lookup-answers.com 【F1 [】 lookup-word-dict-org 【F1 ]】 lookup-wiktionary 【F1 `】 elisp-index-search 【F2】 ,cut 【F3】 ,copy; 【Ctrl+F3】 ,copy-all 【F4】 ,paste 【F5】 ,undo; 【Ctrl+F5】 ,redo 【F8】 ,ctl-x-map. Emacs's C-x prefix key. Rational: these are single key or single key sequence additonal keys. The copy, cut, paste, undo, ones are frequently used. Single key is good. The F8 is a additional key for emacs combo key C-x. The F1 key sequences adds many convenient or helpful commands. * version 5.4.4, 2012-05-12 ** added 【F1+m】 for “describe-major-mode” and 【F1+o】 for “where-is-old-binding”. Rationale: keep in sync with the 【F1】 = 【Ctrl+h】 equivalence. * version 5.4.3, 2012-04-29 ** Removed 【Ctrl+Shift+w】 for “delete-frame” (close current window). rationale: Close Current Window should really follow OS's key convention. Or, in ErgoEmacs, 【Alt+F4】 does it. This way, it's more standard. Less keys. On the Mac, current behavior is ok too. The reason for a 【Ctrl+Shift+w】 for closing window doesn't seem strong. ** If inside minibuffer, “close-current-buffer” now do do nothing. Fixed bug #92 http://code.google.com/p/ergoemacs/issues/detail?id=92 Previouly, it prompt if user want to save, etc. Thanks to dek1999@live.com * version 5.4.2, 2012-04-11 Fixed “open-in-external-app”. Before, on linux, emacs freezes until external app is closed. Thanks to Thanks to Ozan Erdem. * version 5.4.1, 2012-04-09 trivial changes. ** fixed a leaked variable “item” in 〔ergoemacs-unbind.el〕. ** updated 〔_INSTALL.txt〕. ** updated a few files that points to the dead 〔http://tecladobrasileiro.com.br/〕 to 〔http://xahlee.org/kbd/pt-nativo_keyboard_layout.html〕 * version 5.4.0, 2012-03-03 ** 2012-03-03 Added a command “open-in-external-app”. The key 【Ctrl+Shift+o】 is now bound to it, instead of “open-in-desktop”. ** 2011-11-22 GNU emacs's 【C-x d】 for “dired” is no longer unbound (it's available now). Originally, it's unbound because the thought was that 【Ctrl+o】 for “find-file” with a dir input is a good clean substitue. But now, i think in some situations, calling dired directly is necessary. For example, calling dired then give “~/emacs/*.html” to list all html files. If using “find-file”, it'll try to open all files. Now, since it's necessary to call “dired” directly sometimes, it's convenient to have a key. Since GNU Emacs already has 【C-x d】 for it, and this key doesn't conflict with ErgoEmacs, so we use it. Thanks to Joseph Buchignani 〔 http://www.cyborganize.org/clarity/software/emacs-org-mode-installation-configuration-and-tutorial/installing-and-using-ergoemacs-for-intermediate-emacs-users/ 〕 and Jon Snader 〔 http://irreal.org/blog/?p=365 〕. ** 2011-11-18 minor improvemnt on “toggle-letter-case”. Now better guess at initial state. * version 5.3.9, 2011-04-17 ** 2011-04-17 Fixed shift key selection with cua-mode r647 Fixed a bug http://code.google.com/p/ergoemacs/issues/detail?id=91 with a default GNU Emacs, when cua-mode is NOT turned on, load ergoemacs-mode and turn it on, then keys with Shift will also highlight text. This is because ergoemacs-fix-cua--pre-command-handler-1 tries to set symbols from cua-mode but they are not there. thanks to (zyangm...@gmail.com) for bug report. fixed by temp turning on cua-mode. ** 2011-03-22 Added a compatibility fix for auto-complete-mode Added a ergoemacs-auto-complete-mode-hook. http://code.google.com/p/ergoemacs/source/detail?r=638 Thanks to Renier (renierm@gmail.com) for code. http://groups.google.com/group/ergoemacs/msg/f5f9337e34b4eab3?hl=en ** 2010-11-18 added a hotkey 【Ctrl+Shift+t】 for open-last-closed r556 This key follows browser convention. But won't work in Terminal. ** 2010-12-10 copy/cut with no text selection will include the line ending. r578. Thanks to Max Arnold for bug report. * version 5.3.7, 2010-11-15 ** Added open-in-desktop command with key 【Ctrl+Shift+o】. ** Added open-last-closed command. ** More international layouts Added Danish layout. Thanks to Michael Budde Added ergoemacs-layout-pt-nativo.el. Thanks to Xavier Pinho You can see all supported layouts and their contributors in the directory 〔ergoemacs-keybindings〕. See also: 〈Dvorak, Maltron, Colemak, NEO, Bépo, Turkish-F, Keyboard Layouts Fight!〉 @ http://xahlee.org/kbd/dvorak_and_all_keyboard_layouts.html ** minor fixes *** 【Ctrl+Backspace】 for backward-kill-word This is a standard key together with 【Ctrl+Arrow】 and 【Ctrl+Del】. r477 Technically, removed the unbinding of 「」 *** Added ergoemacs-keyboard-quit-key to ergoemacs-layout-gb.el A bug fix. Thanks to Jorge Dias. * version 5.3.4, 2010-08-16 ** Added a Swedish layout Contributed by Kristian Hellquist. ** remapped split window keys for all layouts. OLD command new 【Alt+1】 delete-other-windows 【Alt+3】 【Alt+!】 delete-window 【Alt+0】 【Alt+2】 split-window-vertically 【Alt+4】 【Alt+@】 split-window-horizontally 【Alt+$】 Reason: the 1 and 2 keys are two of the most difficult to press keys on the top row. 3 and 4 are the best for left hand. 8 and 9 are the best for right hand. (this can be verified by looking at the original Dvorak layout for number keys) For emacs commands, according to command frequency statistics, the order are roughly this, from most used to least: delete-other-windows split-window-vertically delete-window split-window-horizontally therefore this change. For Xah Lee's personal experience in this, see: http://xahlee.org/emacs/vi_esc_syndrome.html Note that 【Alt+0】 for delete-window was in the original ErgoEmacs keybinding design for about a year, but got changed to 【Alt+Shift+1】 (【Alt+!】). The thinking was for some logical consistency with 【Alt+1】. My experience since is that logical consistency is bad for ergonomics advantage. Logical consistency is good at beginning for learning, but once muscle memory is developed, ergonomic efficiency is far more important, and will be used for years. * version 5.3.3, 2010-05-24 ** 【Ctrl+p】 now asks for confirmation before printing 【Ctrl+p】 will now ask user confirmation before printing the current buffer. This is to prevent unintentional printing. Old Emacs users tends to press 【Ctrl+p】 a lot because that used to be moving cursor up. See: http://code.google.com/p/ergoemacs/issues/detail?id=60 * version 5.3.2, 2010-05-22 ** Added United Kingdom layout (gb). Thanks to Jorge Dias (aka theturingmachine) http://code.google.com/p/ergoemacs/source/detail?r=371 http://groups.google.com/group/ergoemacs/browse_frm/thread/3e1b9326b6cc2cc4 ** Added United Kingdom Dvorak layout (gb-dv). Thanks to Phillip Wood http://code.google.com/p/ergoemacs/issues/detail?id=73 ** fixed keybinding conflict problem. You can now change bindings by David Capello. (and thanks to maddin) Added ergoemacs-hook-list variable, ergoemacs-add-hook function, and ergoemacs-global/local-set/unset-key functions and added advices for local/global-set/unset-key functions. http://code.google.com/p/ergoemacs/source/detail?r=369 http://code.google.com/p/ergoemacs/issues/detail?id=67#c3 ** Copy and Cut to copy/cut current line Added a feature so that copy/cut will get the current line if there's no text selection. * version 5.x.x Italian layout has been created, by By David Capello, with help by Francesco Biccari A colemak layout is added or sometimes before. The bulk of key mapping was helped by Ivan Haralamov (aka postivan), and vockets? * version 5, 2009-09-15 ** Changed into a minor mode, with support for many keyboard layouts By David Capello. This version is now a full featured minor mode. It supports 3 different keyboard layout: US QWERTY, US Dvorak, and “Spanish (Spain)” (aka “Spanish (International sort)”). Also supports a new command where-is-old-binding (with shortcut 【Ctrl+h o】). * version 4.3.13, 2009-08-28 ** improved shrink-whitespaces. Now, when called twice, it removes the remaining single space. Thanks to David Capello for the code. * version 4.3.12.2, 2009-08-15 ** Fixed a bug where delete-selection-mode might be turned off. Changed “(delete-selection-mode t)” to “(delete-selection-mode 1)”. * version 4.3.12.1, 2009-08-14 ** A minor implementation improvement. In one place, changed the use of functionp to fboundp for checking the existing of a emacs 23 feature recenter-top-bottom. Was using functionp because i forgot about fboundp. * version 4.3.12, 2009-08-13 ** 【Alt+p】 is now “recenter-top-bottom” for emacs 23 users. In emacs 22, it is “recenter”. * version 4.3.11, 2009-08-05 ** Added a hook to fix message-mode. * version 4.3.10, 2009-06-14 ** fixed a previous/next reversal for f11/f12 keys in rcirc-mode-hook. ** diff-mode uses some bindings in “M-‹key›” space. Fixed by adding a diff-mode-hook. (thanks to lwarxx) * version 4.3.9, 2009-06-14 ** unbind 「C-x 3」 (use 【Alt+@】 for split-window-horizontally) ** unbind 「C-M-%」 (use 【Alt+%】 for query-replace-regexp). ** unbind 「C-@」 (use 【Alt+Space】 for set-mark-command). ** unbind 「M-{」 (use 【Alt+u】 for backward-paragraph). ** unbind 「M-}」 (use 【Alt+o】 for forward-paragraph). Thanks to marciomazza * version 4.3.8, 2009-06-14 ** added 【Alt+7】 to select-text-in-quote. * version 4.3.7, 2009-05-27 ** ibuffer's 「M-s」 changed in emacs 23, such that 「M-s」 is now a prefix. For Dvorak users, 「M-s」 should be isearch. This is reclaimed to be isearch. For qwerty users, 「M-s」 should be other-window. Fixed. * version 4.3.6, 2009-05-26 ** dired's 「M-s」 changed in emacs 23, such that 「M-s」 is now a prefix. For Dvorak users, 「M-s」 should be isearch. This is reclaimed to be isearch. For qwerty users, 「M-s」 should be other-windox. Fixed. * version 4.3.5, 2009-05-10 ** experimental modification to shrink-whitespaces. * version 4.3.4, 2009-04-19 ** Added 【Alt+Shift+PageDown】 for forward-page (move cursor to the next ascii formfeed char (often displayed as ^L)). Same for PageDown key. * version 4.3.3, 2009-03-16 ** Added 【Ctrl+Shift+n】 for opening a new window (make-frame-command). Removed 「C-x 5 2」. Added 【Ctrl+Shift+w】 for closing window (delete-frame), removed 「C-x 5 0」. * version 4.3.2, 2009-03-11 ** Removed 「C-x o」 for other-window. (use 【Alt+s】 and 【Alt+Shift+s】 instead.) * version 4.3.1, 2009-03-04 ** A better implementation for making 「M-t」 call 「M-TAB」. So that, describe-key on M-t will show better documentation. * version 4.3.0, 2009-03-02 ** Added 【Alt+Shift+x】 for cut-all and 【Alt+Shift+c】 for copy-all. * version 4.2.4, 2009-03-01 ** Removed 【Ctrl+x Ctrl+w】 for write-file. Use 【Ctrl+Shift+s】. ** Fixed 【Ctrl+o】 for ibuffer to run find-file instead of ibuffer-visit-buffer-other-window-noselect. * version 4.2.3, 2009-03-01 ** fixed a dired binding so that 【Ctrl+o】 runs find-file instead of dired-display-file * version 4.2.2, 2009-03-01 ** Removed the default keybinding for split-window-vertically 【Ctrl+x 2】. Use 【Alt+2】 instead. ** The key 【Ctrl+x Ctrl+b】 is now ibuffer, instead of list-buffers. ** 【Ctrl+h m】 now calls describe-major-mode. * version 4.2.1, 2009-02-28 Changed the keybinding for previous-user-buffer from 【Ctrl+←】 to 【Ctrl+PageUp】. And previous-emacs-buffer from 【Ctrl+Shift+←】 to 【Ctrl+Shift+PageUp】. Similar for the “next” versions. Rationale: The 【Ctrl+Arrow】 are standard editing shortcuts commond in Windows, Mac, Linux. * version 4.2.0, 2009-02-27 Added 【Alt+t】 for keyword completion. Rationale: The default 「M-TAB」 is used by Windows, Mac, Linux, to switch apps. * version 4.1.8, 2009-02-15 Corrected the keybinding for Save As (write-file) * version 4.1.7, 2008-12-10 Made compact-uncompact-block to work on text selection if there's one. * version 4.1.6, 2008-12-09 ** Added select-text-in-quote * version 4.1.5, 2008-10-21 ** Added extend-selection by Nikolaj Schumacher. * version 4.1.4, 2008-10-20 ** Fixed close-current-buffer Sometimes when closing a buffer not associated with a file, it'll prompt whether to kill instead of whether to save. * version 4.1.3, 2008-10-18 ** Fixed minor bug in toggle-letter-case. It now works non-english letters such as éÉ and single letter word “a teapot” or words starting with a number “1st timer”. Thanks to Andreas Politz and Nikolaj Schumacher. ** next-frame-command is renamed to switch-to-next-frame. Similar for previous-frame-command. * version 4.1.2, 2008-10-16 ** Removed 【Ctrl+x h】 for mark-whole-buffer. (use 【Ctrl+a】 instead) ** Improved compact-uncompact-block and shrink-whitespaces. * version 4.1.1, 2008-10-07 ** Removed unfill-paragraph and unfill-region Because they are defined in ourcomments-util.el bundled with emacs 22, also because they are not used in this file now (compact-uncompact-block replaced most of their functionality). * version 4.1, 2008-10-06 ** Added keys for about 9 commands previous-user-buffer, next-user-buffer, next-frame-command, previous-frame-command, query-replace and query-replace-regexp, move-cursor-to-next-pane, move-cursor-to-previous-pane, split-window-horizontally, toggle-letter-case. Combined delete-blank-lines and just-one-space to shrink-whitespaces. ** Moved delete-window to be with delete-other-window. * version 4.0.1, 2008-09-23 ** Fixed 「C-o」 in dired mode. * version 4, 2008-09-21 ** Unbind almost all 【Meta+‹key›】 and 【Ctrl+‹key›】 space bindings. ** Added about 11 commands, such as next-user-buffer, close-current-buffer etc. * version 3.6, 2008-09-18 ** Reclaimed keybindings in text-mode. * version 3.5, 2008-09-16 ** Reclaimed keybindings in ibuffer. * version 3.4, 2008-09-06 ** Fixed key bindings in the Meta-‹key› space in about 10 modes. * version 3.3, 2008-09-05 ** Fixed cua-mode-hook by setting symbol property 'CUA to nil, so that a bunch of no-select-* functions kludge is no longer needed. Thanks to Lennart Borgman. * version 3.2, 2008-09-02 ** Moved cua fix functions to modern_operations.el. The functinos are: no-select-cua-scroll-down, no-select-cua-scroll-up, no-select-backward-paragraph, no-select-forward-paragraph, no-select-beginning-of-buffer, no-select-end-of-buffer, no-select-move-end-of-line. * version 3.1, 2008-09-02 ** Added just-one-space, delete-blank-lines. ** Added fill-paragraph, unfill-paragraph. ** Added comment-dwim. * version 3, 2008-08-31 ** Added isearch. ** Added redo, kill-line-backward, shell-command. ** Added bug fix for cua-mode. Now, commands with Shift keys won't go into a selection mode. * version 2, 2008-08-29 ** Somewhat major change. Positions for undo, cut, copy, paste, paste previous, has been moved. ** Added delete-char, delete-backward-char, kill-word, backward-kill-word. ** Removed the now redundant binding of kill-word and backward-kill-word using the backspace key. ** Removed the other-frame binding. * version 1.1, 2007-12-18 ** changed keycode to consistently use kbd syntax. ** Fixed a scroll-up and scroll-down mixup. * version 1.0, 2007-08-01 ** first version, by Xah Lee