- More Emacs is a NetBeans module for emacs users.
- NetBeans provides the emacs like key bindings. But emacs users require more emacs like key bindings. More emacs plugin provides more emacs like key bindings.
- JDK 1.8 or higher required.
- Only for mac user: see the settings for meta key.
- For NetBeans 8.1, it can be installed from the plugin manager of IDE.
- Open "Tools/Plugins" dialog.
- Open "Available Plugins" tab, select "MoreEmacs", then press "Install" button.
- Open "Tools/Options" dialog, and open Keymap tab, select "MoreEmacs".
Of cause, you can install manually.
- Download the nbm file from NetBeans Plugin Portal.
- Open Tools/Plugins dialog.
- Open Downloaded tab, press "Add Plugin...", select the nbm file, press "Install".
- Open "Tools/Options" dialog, and open Keymap tab, select "MoreEmacs".
- The following lists are major key bindings of more emacs.
- 'rebind' means the rebind of NetBeans implementation.
- 'nb emacs' means the binding of NetBeans Emacs bidings.
- The complete editor bindings definition of MoreEmacs.
- For mac user, both option key and command key are assigned to meta key.
| function | binding | description |
|---|---|---|
| C-space | MoreEmacs set-mark | mark current posision |
| C-x C-x | MoreEmacs exchange-point-and-mark | |
| C-w | MoreEmacs kill-region | cut region to clipboard |
| M-w | MoreEmacs kill-ring-save | copy region to clipboard |
| C-y | paste-from-clipboard | nb emacs |
| C-x u | undo | nb emacs |
| C-/ | undo | nb emacs |
| M-/ | completion-show | rebind |
| C-M-/ | all-completion-show | rebind |
| C-f | caret-forward | nb emacs |
| C-b | caret-backward | nb emacs |
| MS-, | caret-begin | nb emacs |
| MS-. | caret-begin | nb emacs |
| C-a | caret-line-first-column | nb emacs |
| C-e | caret-begin | nb emacs |
| C-p | caret-up | nb emacs |
| C-n | caret-down | nb emacs |
| C-v | page-down | nb emacs |
| M-v | page-up | nb emacs |
| C-l | adjust-window-center | rebind |
| C-k | cut-to-line-end | nb emacs |
| C-d | delete-next | nb emacs |
| DEL | delete-next | nb emacs |
| C-h | delete-previous | rebind |
| BS | delete-previous | rebind |
| M-|MoreEmacs delete-horizontal-space | ||
| M-f | MoreEmacs forward-word | |
| M-b | MoreEmacs backward-word | |
| M-d | MoreEmacs kill-word | |
| M-BS | MoreEmacs backward-kill-word | |
| M-c | MoreEmacs capitalize-word | |
| M-u | MoreEmacs upcase-word | |
| M-l | MoreEmacs downcase-word | |
| C-c C-c | MoreEmacs toggle-comment-region | toggles comment |
| C-i | MoreEmacs indent-line | |
| TAB | MoreEmacs indent-line | |
| C-q TAB | insert-tab | nb emacs |
| C-j | insert-break | rebind |
| C-m | MoreEmacs new-line | |
| C-o | split-line | rebind |
| C-x r k | MoreEmacs kill-rectangle | |
| C-x r y | MoreEmacs yank-rectangle | |
| C-s | find | nb emacs |
| C-r | find | rebind |
| M-s | find-next | nb emacs |
| M-r | find-previous | nb emacs |
| MS-5 | replace | nb emacs |
| C-g | MoreEmacs keyboard-quit | dispatch escape key down/up events internally. |
| C-t | MoreEmacs transpose-chars | Sorry, the display may get corrupted. |
| M-t | MoreEmacs transpose-words | |
| MS-f | fix-imports | nb emacs |
| M-S-r | in-place-refactoring | rebind |
| function | binding | description |
|---|---|---|
| C-x C-s | SaveAction | nb emacs |
| C-x C-f | OpenFileAction | nb emacs |
| C-x 1 | MaximizeWindowAction | nb emacs |
| C-x k | CloseWindowAction | nb emacs |
| C-x 0 | CloseWindowAction | rebind |
| C-x C-c | CloseAllDocumentsAction | rebind. This is my preference. |
- The supplementary characters are supported. All characters are treated as code point.
- East Asian Width is supported. In the column calculation of rectangle operation, the width of ambiguous characters are 2 for CJK languages and 1 for other languages.
- MoreEmacs assigns both commnad key and option key to meta key in the editor bindings.
- To use option key as meta key, the following settings are required.
- Edit NetBeans configuration file as follows:
- Open
/Applications/NetBeans/NetBeansNBVERSION.app/Contents/Resources/NetBeans/etc/netbeans.confby text editor. - Add
-J-Dnetbeans.editor.keymap.compatible=trueat end of value ofnetbeans_default_optionsparameter. (see following diff result) - Restart NetBeans.
- Open
> diff -U0 "/Applications/NetBeans/NetBeans 8.1.app/Contents/Resources/NetBeans/etc/netbeans.conf"{.orig,}
--- /Applications/NetBeans/NetBeans 8.1.app/Contents/Resources/NetBeans/etc/netbeans.conf.orig 2015-12-19 10:21:02.000000000 +0900
+++ /Applications/NetBeans/NetBeans 8.1.app/Contents/Resources/NetBeans/etc/netbeans.conf 2015-12-20 16:58:06.000000000 +0900
@@ -46 +46 @@
-netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true"
+netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dnetbeans.editor.keymap.compatible=true"
- 2015/12/18
- v1.0.0 release
- 2015/12/15
- changed C-r to find
- added M-S-r as in-place-refactoring
- 2015/12/12
- Prepareing the first release.
