lyx_mirror/lib/bind/xemacs.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

367 lines
13 KiB
Plaintext

# -*- text -*-
# file xemacs.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 Dekel Tsur
# author Jürgen Vigna
# author Andrew Zabolotny
# Full author contact details are available in file CREDITS.
# This is the XEMACS flavour bind file, based on the bindings found
# in the XEmacs editor. It has many bindings identical to the
# Emacs binding file although there are a few significant changes.
#
#
# 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/xemacs.bind
#
# Happy tuning!
Format 5
\bind "C-~S-at" "mark-on"
\bind "C-a" "line-begin"
\bind "C-b" "char-backward"
#bind "C-c" "------" # see end of file
\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" "------"
\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"
\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"
# should be "chars-transpose" (swaps two chars)
#bind "C-t" "------"
# universal argument in emacs
\bind "C-u" "font-underline"
# better name would be "scroll-up" as in emacs
\bind "C-v" "screen-down"
\bind "M-v" "screen-up"
\bind "C-w" "cut"
#bind "C-x" "------"
\bind "C-y" "paste"
#should be "lyx-iconify"
#bind "C-z" "------" # see end of file
\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"
# not currently supported
#\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 w" "buffer-write-as"
\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" # list all buffers
\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-l" "word-lowcase" # downcase-region!
\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-x C-u" "word-upcase" # upcase-region!
\bind "C-x C-w" "buffer-write-as"
\bind "C-Next" "buffer-next"
\bind "C-Prior" "buffer-previous"
#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"
#
# 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 "M-bracketleft" "paragraph-up"
\bind "M-bracketright" "paragraph-down"
\bind "Home" "line-begin"
\bind "End" "line-end"
\bind "C-Home" "buffer-begin"
\bind "C-End" "buffer-end"
\bind "M-~S-less" "buffer-begin"
\bind "M-~S-greater" "buffer-end"
\bind "Prior" "screen-up"
\bind "Next" "screen-down"
# A bit like autoindent in c-mode
\bind "Tab" "depth-increment"
\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"
#
# 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-Up" "paragraph-up-select"
\bind "S-C-Down" "paragraph-down-select"
\bind "S-Home" "line-begin-select"
\bind "S-End" "line-end-select"
\bind "S-C-A" "line-begin-select"
\bind "S-C-E" "line-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 "M-Delete" "word-delete-backward confirm"
\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 "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" "buffer-move-previous"
\bind "S-KP_Next" "buffer-move-next"
\bind "S-C-KP_Home" "buffer-begin-select"
\bind "S-C-KP_End" "buffer-end-select"
\bind "S-C-KP_Prior" "buffer-begin-select"
\bind "S-C-KP_Next" "buffer-end-select"
\bind "C-KP_Insert" "copy"
\bind "S-KP_Insert" "paste"
\bind "S-KP_Delete" "cut"
## Trying to incorporate the best of AucTeX and HM--HTML modes
##
# "C-z" is used in HM--HTML-mode for paragraph styles so try to support
# similar here.
##
\bind "C-c C-l" "dialog-show latexlog" # show warning log
\bind "C-c C-v" "buffer-chktex" # validate
\bind "C-z space" "drop-layouts-choice"
\bind "C-z 1" "layout Title"
\bind "C-z 2" "layout Section"
\bind "C-z 3" "layout Subsection"
\bind "C-z 4" "layout Subsubsection"
\bind "C-z 5" "layout Paragraph"
\bind "C-z 6" "layout Subparagraph"
\bind "C-z a" "layout Author" # address!!
\bind "C-z S-A" "layout Abstract"
\bind "C-z c" "layout LyX-Code"
\bind "C-z b" "font-bold"
\bind "C-z d" "layout Description"
\bind "C-z S-D" "layout Date"
\bind "C-z e" "font-emph"
\bind "C-z i" "layout Itemize" # smart-insert-item!!
\bind "C-z o" "font-emph" # italic!
\bind "C-z q" "layout Quote"
\bind "C-z s" "font-bold" # strong!
\bind "C-c t" "font-sans" # typewriter!
\bind "C-c v" "font-roman" # variable!
\bind "C-z S-V" "layout Verbatim"
\bind "C-z l d" "layout Description"
\bind "C-z l t" "layout Description"
\bind "C-z l o" "layout Enumerate" # numbered list
\bind "C-z l l" "layout Itemize" # bulleted list
\bind "C-z l u" "layout Itemize" # bulleted list
#
## End HM--HTML Mode
##
## Start AucTeX
#
#\bind "C-u C-c C-f" "layout-character"
\bind "C-c C-f C-b" "font-bold"
\bind "C-c C-f C-c" "font-noun"
\bind "C-c C-f C-e" "font-emph"
\bind "C-c C-f C-i" "font-emph" #italic
\bind "C-c C-f C-s" "font-emph" #slanted
\bind "C-c C-f C-f" "font-sans"
\bind "C-c C-f C-r" "font-roman"
\bind "C-c C-f C-t" "font-typewriter" #typewriter
\bind "C-c ~S-asciitilde" "math-mode"
\bind "C-c C-s 0" "layout Standard"
\bind "C-c C-s 1" "layout Chapter"
\bind "C-c C-s 2" "layout Section"
\bind "C-c C-s 3" "layout Subsection"
\bind "C-c C-s 4" "layout Subsubsection"
\bind "C-c C-s 5" "layout Paragraph"
\bind "C-c C-s 6" "layout Subparagraph"
\bind "C-c C-e a" "layout Abstract"
\bind "C-c C-e d" "layout Description"
\bind "C-c C-e e" "layout Enumerate"
\bind "C-c C-e i" "layout Itemize"
\bind "C-c C-e l" "layout Labeling"
\bind "C-c C-e m" "math-display" # should this be math-mode?
\bind "C-c C-e q" "layout Quote"
\bind "C-c C-e S-q" "layout Quotation"
\bind "C-c C-e v" "layout Quote"
\bind "C-c C-e f" "dialog-show-new-inset graphics" ## should be figure-float
\bind "C-c C-e t" "tabular-insert" ## should be table-float
\bind "C-c percent" "layout Comment"
\bind "C-c Return" "paragraph-break inverse"
#
## End AucTeX
#
## Start TeX mode, some overlap with AucTeX mode
#
\bind "C-c C-b" "buffer-update dvi"
\bind "C-c C-r" "buffer-update dvi" # tex region
#
## End TeX mode
#
################################
# 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"