Skip to content

Instantly share code, notes, and snippets.

@seungjin
Last active May 3, 2025 23:31
Show Gist options
  • Save seungjin/fed3ed19da5366e10fef496132e9e680 to your computer and use it in GitHub Desktop.
Save seungjin/fed3ed19da5366e10fef496132e9e680 to your computer and use it in GitHub Desktop.
Helix editor's config.toml for Emacs flavor
[keys.normal]
# Emacs flavor:
# Base: https://www.cs.colostate.edu/helpdocs/emacs.html
# Cursor/Screen Movement Commands
C-a = "goto_line_start"
C-e = "goto_line_end"
C-f = "move_char_right" # forward-char
C-b = "move_char_left" # backward-char
C-n = "move_line_down"# next-line
C-p = "move_line_up" # previous-line
C-v = "page_down"
A-v = "page_up"
"A-<" = "goto_file_start"
"A->" = "goto_file_end"
A-f = "move_next_word_start"
A-b = "move_prev_word_start"
A-m = "goto_first_nonwhitespace"
# Copy and Delete Commands
C-d = "delete_selection"
A-d = "delete_word_forward"
C-k = "kill_to_line_end"
"C-space" = "select_mode"
C-w = ["yank_to_clipboard", "delete_selection"]
C-y = "paste_clipboard_after"
A-w = "yank_to_clipboard"
# Search Commands
C-s = "search"
C-r = "extend_search_next"
# Window and Buffer Commands
"C-right" = ":buffer-next"
"C-left" = ":buffer-previous"
"C-o" = "@<space>ww"
# Exiting Emacs, Fixing Mistakes and Other Important Stuff
#C-g = # MISSING!
C-7 = "undo"
"C-_" = "undo"
# Others
A-x = "command_mode"
"A-;" = "toggle_comments"
# End of Emacs flavor
[keys.select]
# Emacs flavor:
# Base: https://www.cs.colostate.edu/helpdocs/emacs.htmli
# Cursor/Screen Movement Commands
C-a = "goto_line_start"
C-e = "goto_line_end"
C-f = "move_char_right" # forward-char
C-b = "move_char_left" # backward-char
C-n = "move_line_down"# next-line
C-p = "move_line_up" # previous-line
C-v = "page_down"
A-v = "page_up"
"A-<" = "goto_file_start"
"A->" = "goto_file_end"
A-f = "move_next_word_start"
A-b = "move_prev_word_start"
A-m = "goto_first_nonwhitespace"
# Copy and Delete Commands
C-d = "delete_selection"
A-d = "delete_word_forward"
C-k = "kill_to_line_end"
"C-space" = "exit_select_mode"
C-w = ["yank_to_clipboard", "delete_selection"]
C-y = "paste_clipboard_after"
A-w = "yank_to_clipboard"
# Search Commands
C-s = "search"
C-r = "extend_search_next"
# Window and Buffer Commands
"C-right" = ":buffer-next"
"C-left" = ":buffer-previous"
"C-o" = "@<space>ww"
# Exiting Emacs, Fixing Mistakes and Other Important Stuff
#C-g = # MISSING!
C-7 = "undo"
"C-_" = "undo"
# Others
A-x = "command_mode"
"A-;" = "toggle_comments"
# End of Emacs flavor
[keys.insert]
# Emacs flavor:
# Base: https://www.cs.colostate.edu/helpdocs/emacs.htmli
# Cursor/Screen Movement Commands
C-a = "goto_line_start"
C-e = "goto_line_end"
C-f = "move_char_right" # forward-char
C-b = "move_char_left" # backward-char
C-n = "move_line_down"# next-line
C-p = "move_line_up" # previous-line
C-v = "page_down"
A-v = "page_up"
"A-<" = "goto_file_start"
"A->" = "goto_file_end"
A-f = "move_next_word_start"
A-b = "move_prev_word_start"
A-m = "goto_first_nonwhitespace"
# Copy and Delete Commands
C-d = "delete_selection"
A-d = "delete_word_forward"
C-k = "kill_to_line_end"
"C-space" = "select_mode"
C-w = ["yank_to_clipboard", "delete_selection"]
C-y = "paste_clipboard_after"
A-w = "yank_to_clipboard"
# Search Commands
C-s = "search"
C-r = "extend_search_next"
# Window and Buffer Commands
"C-right" = ":buffer-next"
"C-left" = ":buffer-previous"
# Exiting Emacs, Fixing Mistakes and Other Important Stuff
C-g = "normal_mode" # Switching to Normal_mode from Insert_mode can behave like ESC!
C-7 = "undo"
"C-_" = "undo"
# Others
A-x = "command_mode"
"A-;" = "toggle_comments"
# End of Emacs flavor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment