lyx_mirror/lib/bind/emacs.bind
Jean-Marc Lasgouttes ff1ddf6251 Fixup 71623b88: change semantics of "delete" LFUNs again
Instead of specifying "force" to disable the deletion protection
mechanism, invert the default so that "confirm" is needed to activate
it. The idea is to keep the lfun reasonable for scripting and add a
special argument for interactive use.

Document in release notes.

Update LFUN.lyx documentation

Update bind files.

Add conversion step to prefs2prefs_lfun.py.
2022-12-04 21:13:51 +01:00

288 lines
10 KiB
Plaintext

# -*- text -*-
# file emacs.bind
# This file is part of LyX, the document processor.
# Licence details can be found in the file COPYING.
# author Lars Gullik Bjønnes
# author Jean-Marc Lasgouttes
# author Angus Leeming
# author John Levon
# author Allan Rae
# author Jürgen Spitzmüller
# author Andrew Zabolotny
# Full author contact details are available in file CREDITS.
# This is the EMACS flavour bind file, based on the bindings found
# in the Emacs editor.
#
#
# DO NOT CHANGE THIS DEFAULT BINDING FILE! It will be replaced
# with every new install of LyX and your changes will be lost.
# Instead, customize a copy of this file placed in
# ~/.lyx/bind/emacs.bind
#
# Happy tuning!
Format 5
\bind "C-~S-at" "mark-on"
\bind "C-a" "line-begin"
\bind "C-b" "char-backward"
#bind "C-c" "------" // used as users prefix
\bind "C-d" "char-delete-forward confirm"
\bind "C-e" "line-end"
\bind "C-f" "char-forward"
\bind "C-g" "cancel"
# help in emacs
\bind "C-h" "specialchar-insert hyphenation"
\bind "C-M-minus" "specialchar-insert nobreakdash"
\bind "C-i" "space-insert hfill"
\bind "C-j" "paragraph-break"
\bind "C-k" "line-delete-forward"
\bind "C-l" "screen-recenter"
\bind "C-m" "mark-toggle"
\bind "C-n" "down"
\bind "C-o" "inset-toggle"
# facemenu-menu in emacs
\bind "M-o" "inset-settings"
\bind "C-p" "up"
# this is "quoted-insert" a total different meaning from "quote-insert"
\bind "C-q" "self-insert \""
#bind "C-r" "------"
\bind "C-s" "dialog-show findreplace"
\bind "C-S-s" "dialog-show findreplaceadv"
\bind "M-~S-percent" "dialog-show findreplaceadv"
\bind "C-t" "chars-transpose"
# universal argument in emacs
\bind "C-u" "font-underline"
# better name would be "scroll-up" as in emacs
\bind "C-v" "screen-down"
\bind "C-w" "cut"
#bind "C-x" "------"
\bind "C-y" "paste"
#should be "lyx-iconify"
#bind "C-z" "------"
\bind "C-~S-slash" "undo"
\bind "C-~S-underscore" "undo"
\bind "~S-M-quotedbl" "quote-insert inner"
\bind "~S-C-quotedbl" "quote-insert outer auto plain"
\bind "C-x a" "buffer-auto-save"
#\bind "C-x b" "buffer-previous"
\bind "C-x d" "buffer-new"
\bind "C-x g" "buffer-view ps"
\bind "C-x k" "buffer-close"
\bind "C-x p" "buffer-view dvi"
\bind "C-x r" "buffer-update dvi"
# Should have been "buffer-write-some"
# \bind "C-x s" "buffer-write"
\bind "C-x t" "buffer-update dvi"
\bind "C-x u" "undo"
\bind "C-x v h" "dialog-show vclog"
\bind "C-x v v" "vc-check-in"
\bind "C-x v u" "vc-revert"
\bind "C-x v c" "vc-undo-last"
\bind "C-x v i" "vc-register"
\bind "C-x bracketleft" "screen-up"
\bind "C-x bracketright" "screen-down"
\bind "C-x C-a" "buffer-auto-save"
\bind "C-x C-b" "menu-open view"
\bind "C-x C-c" "lyx-quit"
\bind "C-x C-d" "buffer-new"
\bind "C-x C-f" "file-open"
\bind "C-x C-g" "buffer-view ps"
\bind "C-x C-p" "buffer-view dvi"
\bind "C-x C-q" "buffer-toggle-read-only"
#\bind "C-x C-r" "buffer-update dvi"
\bind "C-x C-s" "buffer-write"
\bind "C-x C-t" "buffer-update dvi"
\bind "C-Next" "buffer-next"
\bind "C-Prior" "buffer-previous"
\bind "S-F7" "thesaurus-entry"
\bind "S-F8" "dialog-show spellchecker"
\bind "C-x 0" "view-close"
# Window commands
\bind "C-x 5 2" "window-new"
\bind "C-x 5 0" "window-close"
# this is "upcase-region" in emacs
#\bind "C-x C-u" "undo"
\bind "C-x C-w" "buffer-write-as"
#bind "C-1" "------"
#bind "C-2" "------"
#bind "C-3" "------"
#bind "C-4" "------"
#bind "C-5" "------"
#bind "C-6" "------"
#bind "C-7" "------"
#bind "C-8" "------"
#bind "C-9" "------"
#bind "C-0" "------"
#bind "F1" "help" # Not yet implemented!
#bind "C-F1" "help-context" # Not yet implemented!
\bind "F2" "buffer-write force"
#\bind "F3" "file-open"
#bind "F4" "------"
#bind "F5" "------"
#bind "F6" "------"
#bind "F7" "------"
#bind "F8" "------"
#bind "F9" "------"
#bind "F10" "------"
\bind "M-x" "command-execute"
\bind "C-M-o" "dialog-show toc"
\bind "M-equal" "buffer-zoom-in"
\bind "M-plus" "buffer-zoom-in"
\bind "M-minus" "buffer-zoom-out"
#
# Motion group
#
\bind "M-Up" "command-alternatives outline-up; paragraph-move-up; tabular-feature move-row-up"
\bind "M-Down" "command-alternatives outline-down; paragraph-move-down; tabular-feature move-row-down"
\bind "M-Right" "tabular-feature move-column-right"
\bind "M-Left" "tabular-feature move-column-left"
\bind "C-Right" "word-right"
\bind "C-Left" "word-left"
\bind "C-Up" "paragraph-up"
\bind "C-Down" "paragraph-down"
\bind "Home" "buffer-begin"
\bind "End" "buffer-end"
\bind "M-~S-less" "buffer-begin"
\bind "M-~S-greater" "buffer-end"
\bind "C-~S-greater" "label-goto"
\bind "C-~S-less" "bookmark-goto 0"
\bind "C-~S-1" "bookmark-goto 1"
\bind "C-~S-2" "bookmark-goto 2"
\bind "C-~S-3" "bookmark-goto 3"
\bind "C-~S-4" "bookmark-goto 4"
\bind "C-~S-5" "bookmark-goto 5"
\bind "C-~S-6" "bookmark-goto 6"
\bind "C-~S-7" "bookmark-goto 7"
\bind "C-~S-8" "bookmark-goto 8"
\bind "C-~S-9" "bookmark-goto 9"
\bind "C-M-~S-1" "bookmark-save 1"
\bind "C-M-~S-2" "bookmark-save 2"
\bind "C-M-~S-3" "bookmark-save 3"
\bind "C-M-~S-4" "bookmark-save 4"
\bind "C-M-~S-5" "bookmark-save 5"
\bind "C-M-~S-6" "bookmark-save 6"
\bind "C-M-~S-7" "bookmark-save 7"
\bind "C-M-~S-8" "bookmark-save 8"
\bind "C-M-~S-9" "bookmark-save 9"
# The below are xemacs bindings
#\bind "Home" "line-begin"
#\bind "End" "line-end"
#\bind "C-Home" "buffer-begin"
#\bind "C-End" "buffer-end"
#
# Motion + select group
#
\bind "S-Right" "char-right-select"
\bind "S-Left" "char-left-select"
\bind "S-C-F" "char-forward-select"
\bind "S-C-B" "char-backward-select"
\bind "S-Up" "up-select"
\bind "S-Down" "down-select"
\bind "S-C-Right" "word-right-select"
\bind "S-C-Left" "word-left-select"
\bind "S-C-A" "line-begin-select"
\bind "S-C-E" "line-end-select"
\bind "S-C-Up" "paragraph-up-select"
\bind "S-C-Down" "paragraph-down-select"
\bind "S-Home" "buffer-begin-select"
\bind "S-End" "buffer-end-select"
\bind "S-Prior" "screen-up-select"
\bind "S-Next" "screen-down-select"
\bind "S-C-Home" "buffer-begin-select"
\bind "S-C-End" "buffer-end-select"
#
# Edit group
#
\bind "C-Delete" "word-delete-forward confirm"
\bind "M-d" "word-delete-forward confirm"
\bind "C-BackSpace" "word-delete-backward confirm"
\bind "M-Return" "paragraph-break inverse"
\bind "C-Return" "newline-insert newline"
\bind "C-S-Return" "newline-insert linebreak"
\bind "M-S-Right" "depth-increment"
\bind "M-S-Left" "depth-decrement"
\bind "C-S-L" "specialchar-insert ligature-break"
\bind "C-space" "command-alternatives math-space ; space-insert protected"
\bind "nobreakspace" "space-insert protected"
\bind "C-M-space" "space-insert normal"
\bind "S-C-space" "space-insert thin"
\bind "M-~S-slash" "specialchar-insert slash"
\bind "C-period" "specialchar-insert end-of-sentence"
\bind "M-period" "specialchar-insert dots"
\bind "M-w" "copy"
\bind "Escape" "meta-prefix"
\bind "M-u" "word-upcase partial"
\bind "M-l" "word-lowcase partial"
# This conflicts with the character menu.
#bind "M-c" "word-capitalize partial"
# Numeric keypad (if Shift+KP_XXX does not switch the NumLock state)
\bind "S-KP_Right" "char-right-select"
\bind "S-KP_Left" "char-left-select"
\bind "S-KP_Up" "up-select"
\bind "S-KP_Down" "down-select"
\bind "S-C-KP_Right" "word-right-select"
\bind "S-C-KP_Left" "word-left-select"
\bind "S-C-KP_Up" "paragraph-up-select"
\bind "S-C-KP_Down" "paragraph-down-select"
\bind "S-KP_Home" "line-begin-select"
\bind "S-KP_End" "line-end-select"
\bind "S-KP_Prior" "screen-up-select"
\bind "S-KP_Next" "screen-down-select"
\bind "S-C-KP_Home" "buffer-begin-select"
\bind "S-C-KP_End" "buffer-end-select"
\bind "S-C-KP_Prior" "buffer-move-previous"
\bind "S-C-KP_Next" "buffer-move-next"
\bind "C-x h" "command-sequence buffer-begin ; buffer-end-select" # select all
\bind "M-h" "inset-select-all"
\bind "C-KP_Insert" "copy"
\bind "S-KP_Insert" "paste"
\bind "S-KP_Delete" "cut"
# Include menu and math bindings
\bind_file menus.bind
\bind_file math.bind
\bind_file latinkeys.bind
\bind_file cyrkeys.bind
\bind_file greekkeys.bind
# the following bindings have to be adapted w.r.t. menus.bind
\bind "M-c Down" "word-lowcase partial"
\bind "M-c Up" "word-upcase partial"
\bind "M-c Right" "word-capitalize partial"