WOWEE v0.3.3

[James Dyer] : Jul 05, 2024 : 793 words
emacs linux 🏷️ wowee emacs 2024


More tinkering and enhancements to some AutoHotKey scripts with WOWEE to allow some emacs keybindings throughout the realm of Windows.

WOWEE is a set of AutoHotKey scripts designed to bring Emacs-like commands and keybindings to the Windows operating system. Based on the concept of EWOW (Emacs Way of Operating Windows), WOWEE allows you to use Emacs-style navigation and commands throughout your Windows environment.

I have this on github : https://github.com/captainflasmr/wowee

As I have been playing ergo for a little while with Emacs I decided to bring in some of this functionality, for example some common ergo keybindings.

Ergonomic keyboard layout options

Additional AHK files that can be run in parallel with the main wowee.ahk file if you would prefer some extra ergonomic mappings.

For example it is common to map the Caps Lock key to the Control key to avoid the dreaded Emacs pinky, which can be performed by running up :

wowee--caps_to_ctrl.ahk

I prefer to map the right hand Alt key to the Control key by running:

wowee--ralt_to_ctrl.ahk

Both can also be run if desired!

Whats New

Version 0.3.3 <2024-07-01 Mon>

A little support for Notepad++:

  • isearch
  • comment line

Version 0.3.2 <2024-07-01 Mon>

Separated individual ergonomic key-mappings as thus:

  • wowee–caps_to_ctrl.ahk
  • wowee–ralt_to_ctrl.ahk

These are extra files that can be run in addition to the main wowee.ahk for some common ergonomic keyboard Emacs mappings.

Version 0.3.1 <2024-06-30 Sun>

This commit has added windows, frames support

  • kill frame (C-x c)
  • split window vertically (C-x 3)
  • maximize window (C-x 1)
  • next window (C-x o)
  • suspend frame (C-z)
  • reorganisation of kanban
  • reorganisation of commands.ahk to better group

kanban

This kanban board is keeping track of those original EWOW functions.

The IGNORE column includes functions that I am definitely not going to implement.

The EXTRA section are additional commands that I am adding.

There is a prefix type indicator for each command referring to the specific type:

(C) - Core Emacs commands (VS) - Visual Studio specific (VC) - VSCode specific (N++) - NotePad++ specific (E) - Extra

and any command with an asterisk is an unconventional Emacs keybinding which will probably get fixed sometime in the future!

TODO DOING DONE IGNORE
(C) REGION COMMANDS (VS) VISUAL STUDIO (C) MOTION COMMANDS (C) JUMPING AROUND COMMANDS
- (C) mark_word - (VS) recenter_line (C-l) - (C) forward_char (C-f) - (C) scroll_left
- (C) yank_pop - (VS) indent_line (C-i) - (C) backward_char (C-b) - (C) scroll_right
- (C) kill_region (VC) VSCODE - (C) forward_word (M-f) (C) NEWLINE AND INDENT COMMANDS
- (C) delete_backward_char - (VC) isearch_backwards (C-r) - (C) backward_word (M-b) - (C) open_line
- (C) kill_word - (VC) isearch_forwards (C-s) - (C) next_line (C-n) (C) EDIT COMMANDS
- (C) kill_whole_line - (VC) comment_line (C-;) - (C) previous_line (C-p) - (C) transpose_chars
(C) NEWLINE AND INDENT COMMANDS - (VC) recenter_line (C-l) (C) JUMPING AROUND COMMANDS - (C) transpose_words
- (C) newline (N++) NOTEPAD++ - (C) scroll_down (C-v) - (C) transpose_lines
- (C) delete_indentation (E) PROGRAM SPECIFIC PRESETS - (C) scroll_up (M-v) (C) CASE CONVERSION COMMANDS
(C) EDIT COMMANDS (E) ERGO PRESET SELECTION - (C) move_beginning_of_line (C-a) - (C) upcase_region
- (C) redo - (C) move_end_of_line (C-e) - (C) downcase_region
- (C) query_replace - (C) beginning_of_buffer (M-<) - (C) upcase_word
- (C) overwrite_mode - (C) end_of_buffer (M->) - (C) downcase_word
- (E) isearch-yank-word-or-char - (C) goto_line (M-g g) - (C) capitalize_word
(C) INSERT PAIRS COMMANDS (C) REGION COMMANDS (C) MACRO RECORDING COMMANDS
- (C) insert_parentheses - (E) mark_whole_line (M-s ,) (C) ADD IGNORE FRAMES
- (C) insert_comment - (C) mark_whole_buffer (C-x h) (C) ADD MOUSE EVENTS
- (C) indent_new_comment_line - (C) kill_ring_save (M-w)
(C) OTHER COMMANDS - (C) yank (C-y)
- (C) shell - (C) delete_char (C-d)
- (C) shell_command - (C) backward_kill_word (M-BKSP)
- (C) facemenu - (C) kill_line (C-k)
- (C) help (C) NEWLINE AND INDENT COMMANDS
(C) SYSTEM COMMANDS - (C) indent_for_tab_command (C-i)
- (C) ignore (C) EDIT COMMANDS
- (C) repeat - (C) undo_only (C-/)
(C) UNIVERSAL ARGUMENT COMMANDS - (C) search_forward (C-s)
(C) FILES COMMANDS - (C) search_backward (C-r)
- (C) write_file (C) SYSTEM COMMANDS
- (C) find_file - (C) set_mark_command (C-SPC)
- (C) dired - (C) set_c-x_command (C-x)
(C) WINDOWS FRAMES COMMANDS - (C) keyboard_quit (C-g)
- (C) delete_window (C) FILES COMMANDS
- (C) split_window - (*C) save_buffer (C-x s)
- (C) previous_window (C) WINDOWS FRAMES COMMANDS
(C) ADD HOOKS - (*C) kill_frame (C-x c)
(C) ADD GENERIC GOTO LINE - (C) next_window (C-x o)
(C) ADD KILL RING - (C) suspend_frame (C-z)
(VC) VSCODE (C) ADD C-X (C-x)
- (VC) indent_line (C-i) (VS) VISUAL STUDIO
- (VS) isearch_backwards (C-r)
- (VS) isearch_forwards (C-s)
- (VS) comment_line (C-;)
- (VS) split window vert (C-x 3)
(N++) NOTEPAD++
- (N++) isearch_backwards (C-r)
- (N++) isearch_forwards (C-s)
- (N++) comment_line (C-;)