lyx_mirror/lib/bind/sciword.bind
Scott Kostyshak 3c84267d8d Implement move row/column in tabular inset
This patch implements 'move row' and 'move column' features for tabular.
The purpose is to provide a useful behavior in tabular that is
consistent with PARAGRAPH_MOVE_UP and PARAGRAPH_MOVE_DOWN so that the
user can, for example, do alt-<up> to move a row up. Alternatively,
icons for these features are also added to the table toolbar and
context menu.

If there is any selection, the feature is disabled. This is consistent
with how PARAGRAPH_MOVE_UP works in other contexts. Additionally, 'move
row' is disabled if there is a multi-row in the current or target row;
and 'move column' is disabled if there is a multi-column in the current
or target column.

'move row' moves only the left and right borders of a cell along with
the row. Similarly, 'move column' moves only the the top and bottom
borders.

Implementing similar functionality for other insets, such as arrays and
array environments, is on my TODO list.
2013-01-20 21:54:30 -05:00

246 lines
7.7 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 1
\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 q" "math-insert \theta"
\bind "C-g C-q" "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 v" "math-insert \upsilon"
\bind "C-g f" "math-insert \phi"
\bind "C-g c" "math-insert \chi"
\bind "C-g y" "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-Q" "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-V" "math-insert \Upsilon"
\bind "C-g S-F" "math-insert \Phi"
\bind "C-g S-Y" "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-l" "screen-recenter"
\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 "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-x" "cut"
\bind "C-z" "undo"
\bind "S-C-Z" "redo"
\bind "C-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 single"
# Bracket delimiters. Sciword mnemonic is to press Control-<bracket key>
\bind "C-9" "math-delim ( )"
\bind "S-C-parenleft" "math-delim ( )"
\bind "C-0" "math-delim ( )"
\bind "S-C-parenright" "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 | |"
\bind "S-C-braceleft" "math-delim { }"
\bind "S-C-braceright" "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-Down" "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 paragraph-move-up; inset-modify tabular move-row-up"
\bind "M-Down" "command-alternatives paragraph-move-down; inset-modify tabular move-row-down"
\bind "M-Right" "inset-modify tabular move-column-right"
\bind "M-Left" "inset-modify tabular 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 "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"