lyx_mirror/lib/bind/sciword.bind
Jean-Marc Lasgouttes 6c20e5db7d Add ScrollType BOTTOM and TOGGLE for BufferView::scrollToCursor()
BOTTOM shows the paragraph containing the cursor at the bottom of the
work area.

TOGGLE does CENTER, then TOP, BOTTOM and finally cycles to CENTER.
This is a feature copied from emacs's C-l binding.

Add new argument "caret" to lfun "scroll" that can be used like
  scroll caret center

Change the keys (either C-l, M-l or F5) bound to screen-recenter to
"scroll caret toggle".

As an experiment, change paragraph-goto to use this scrolling method.
This can be tested when going to a heading in the outline pane.
2024-09-06 12:21:42 +02:00

270 lines
8.5 KiB
Plaintext

# -*- text -*-
# file sciword.bind
# This file is part of LyX, the document processor.
# Licence details can be found in the file COPYING.
# author Serge Winitzki
# Full author contact details are available in file CREDITS.
# LyX keyboard definitions similar to those of Scientific Word.
#\bind "C-b" "font-bold"
# Copy, paste, etc.: more familiar keys
Format 5
\bind "C-c" "copy"
# Display equation toggle: type it in a displayed equation to convert it
# back to an inline equation
# Sciword mnemonic.
\bind "C-d" "math-display"
#\bind "C-e" "------"
# Sciword mnemonic.
\bind "C-f" "math-insert \frac"
# Since the toggles don't work in 1.2.0, let's define all letters.
# lowercase math Greek
\bind "C-g a" "math-insert \alpha"
\bind "C-g b" "math-insert \beta"
\bind "C-g g" "math-insert \gamma"
\bind "C-g d" "math-insert \delta"
\bind "C-g e" "math-insert \varepsilon"
\bind "C-g C-e" "math-insert \epsilon"
\bind "C-g z" "math-insert \zeta"
\bind "C-g h" "math-insert \eta"
\bind "C-g y" "math-insert \theta"
\bind "C-g S-z" "math-insert \vartheta"
\bind "C-g i" "math-insert \iota"
\bind "C-g k" "math-insert \kappa"
\bind "C-g l" "math-insert \lambda"
\bind "C-g m" "math-insert \mu"
\bind "C-g n" "math-insert \nu"
\bind "C-g x" "math-insert \xi"
\bind "C-g p" "math-insert \pi"
\bind "C-g C-p" "math-insert \varpi"
\bind "C-g r" "math-insert \rho"
\bind "C-g s" "math-insert \sigma"
\bind "C-g C-s" "math-insert \varsigma"
\bind "C-g t" "math-insert \tau"
\bind "C-g u" "math-insert \upsilon"
\bind "C-g f" "math-insert \phi"
\bind "C-g q" "math-insert \chi"
\bind "C-g c" "math-insert \psi"
\bind "C-g w" "math-insert \omega"
# uppercase math Greek
\bind "C-g S-G" "math-insert \Gamma"
\bind "C-g S-D" "math-insert \Delta"
\bind "C-g S-Y" "math-insert \Theta"
\bind "C-g S-L" "math-insert \Lambda"
\bind "C-g S-X" "math-insert \Xi"
\bind "C-g S-P" "math-insert \Pi"
\bind "C-g S-S" "math-insert \Sigma"
\bind "C-g S-U" "math-insert \Upsilon"
\bind "C-g S-F" "math-insert \Phi"
\bind "C-g S-C" "math-insert \Psi"
\bind "C-g S-W" "math-insert \Omega"
# Do we need this?
#\bind "C-h" "specialchar-insert hyphenation"
# Sciword mnemonic.
\bind "C-i" "math-insert \int"
#\bind "C-j" "------"
\bind "C-k" "line-delete-forward"
\bind "C-j" "scroll caret toggle"
\bind "C-S-I" "info-insert"
# Toggle: in text mode, switch to math, and vice versa. Also C-t.
\bind "C-m" "math-mode"
\bind "Insert" "math-mode"
\bind "C-n" "math-number-toggle"
\bind "S-C-N" "math-number-line-toggle"
\bind "C-o" "file-open"
# Insert a quote character. Do I need this?
# Probably, since we need a way to get a raw quote
\bind "C-q" "self-insert \""
# Sciword mnemonic.
\bind "C-r" "math-insert \sqrt"
\bind "S-C-R" "math-insert \root"
# This combination is now a gateway to math symbols (C-s ...)
#\bind "C-s" "------"
# Sciword mnemonic for going between text and math modes.
\bind "C-t" "math-mode"
\bind "C-u" "font-underline"
\bind "C-v" "paste"
\bind "C-S-v" "clipboard-paste"
\bind "C-M-v" "primary-selection-paste"
\bind "C-w" "buffer-close"
\bind "C-n" "buffer-new"
\bind "C-x" "cut"
\bind "C-z" "undo"
\bind "S-C-Z" "redo"
\bind "C-a" "inset-select-all"
\bind "C-M-a" "command-sequence buffer-begin ; buffer-end-select" # select all
# This combination makes an umlaut accent now.
#\bind "S-C-quotedbl" "quote-insert"
\bind "S-M-quotedbl" "quote-insert inner"
# Bracket delimiters. Sciword mnemonic is to press Control-<bracket key>
# On U.S. keyboard with Windows Ctrl+Shift definition must refer to
# unshifted character -- Fixed by Michael
\bind "C-9" "math-delim ( )"
\bind "S-C-parenleft" "math-delim ( )"
\bind "S-C-9" "math-delim ( )"
\bind "C-0" "math-delim ( )"
\bind "S-C-parenright" "math-delim ( )"
\bind "S-C-0" "math-delim ( )"
\bind "C-bracketleft" "math-delim [ ]"
\bind "C-bracketright" "math-delim [ ]"
\bind "C-S-less" "math-delim langle rangle"
\bind "C-S-greater" "math-delim langle rangle"
# The bar bracket: on some keyboards, e.g. British, the bar character is
# bound to an Alt-something and on some wayward Unices to "brokenbar".
\bind "C-S-bar" "math-delim | |"
\bind "C-S-brokenbar" "math-delim | |"
\bind "C-M-bar" "math-delim | |"
# On U.S. keyboard with Windows Ctrl+Shift definition must refer to
# unshifted character -- Fixed by Michael
\bind "S-C-braceleft" "math-delim { }"
\bind "S-C-braceright" "math-delim { }"
\bind "S-C-bracketleft" "math-delim { }"
\bind "S-C-bracketright" "math-delim { }"
# Accents by Sciword mnemonics. Mostly press Ctrl-<accent key>
# e.g. Ctrl-. for overdot, Ctrl-' for acute accent, Ctrl-~ for tilde etc.
# Some of them work only in math mode
\bind "C-period" "accent-dot"
\bind "C-comma" "math-insert \dot"
\bind "S-C-colon" "math-insert \ddot"
\bind "C-quoteleft" "accent-grave"
\bind "S-C-asciitilde" "accent-tilde"
\bind "S-C-quotedbl" "accent-umlaut"
\bind "C-apostrophe" "accent-acute"
\bind "S-C-asciicircum" "accent-circumflex"
# accent-vector has been changed?
#\bind "C-equal" "accent-vector"
# Why is it not "accent-bar"?
\bind "C-minus" "math-insert \bar"
# What is "accent-underbar"?
#\bind "S-C-underscore" "accent-underbar"
# Function keys.
#\bind "F1" "help" # Not yet implemented!
#\bind "C-F1" "help-context" # Not yet implemented!
\bind "F2" "buffer-write"
\bind "S-F2" "buffer-export latex"
\bind "F3" "dialog-show findreplace"
\bind "C-F4" "buffer-close"
\bind "M-F4" "lyx-quit"
# F4 to F8 are used to switch fonts. Sciword mnemonic.
\bind "F4" "font-default"
\bind "F5" "font-bold"
\bind "F6" "font-emph"
\bind "F7" "font-typewriter"
\bind "F8" "font-noun"
# F9 bound below as meta-prefix (useful e.g. if the keyboard doesn't have a working ALT).
#\bind "F9" "------"
#\bind "F10" "------"
# Sciword mnemonics for math editing:
\bind "M-apostrophe" "math-insert \prime"
\bind "C-Up" "math-superscript"
\bind "C-h" "math-superscript"
\bind "C-3" "math-superscript"
\bind "C-Down" "math-subscript"
\bind "C-l" "math-subscript"
\bind "C-4" "math-subscript"
\bind "C-s d" "math-insert \partial"
\bind "C-s e" "math-insert \sum"
\bind "C-s p" "math-insert \prod"
\bind "C-s i" "math-insert \infty"
\bind "C-s x" "math-insert \times"
\bind "C-s m" "math-matrix 3 3"
\bind "C-s v" "math-matrix 1 2"
# My own embellishments for symbols I use often.
#I'd like to combine math-insert ^ and math-insert prime, but don't know how.
\bind "C-s apostrophe" "command-sequence math-superscript; math-insert \prime;"
\bind "C-s S-plus" "math-insert \dagger"
\bind "C-s equal" "math-insert \equiv"
\bind "M-equal" "math-insert \approx"
\bind "M-minus" "math-insert \sim"
\bind "C-minus" "math-insert \rightarrow"
# here is how to make a vector accent:
\bind "C-equals" "math-insert \overrightarrow"
\bind "S-M-less" "math-insert \leq"
\bind "S-M-greater" "math-insert \geq"
\bind "C-s S-less" "math-insert \ll"
\bind "C-s S-greater" "math-insert \gg"
# usual bindings
\bind_file math.bind
\bind_file menus.bind
\bind_file latinkeys.bind
\bind_file cyrkeys.bind
\bind_file greekkeys.bind
\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 "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 "C-KP_Right" "word-right"
\bind "C-KP_Left" "word-left"
\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-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"
\bind "M-x" "command-execute"
\bind "C-M-c" "buffer-view"
# custom commands imported from cua.bind by Michael
\bind "C-space" "command-alternatives math-space ; space-insert protected"
\bind "C-Return" "newline-insert newline"
\bind "C-S-Return" "newline-insert linebreak"