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

359 lines
12 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 1
\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"
\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 single"
\bind "~S-C-quotedbl" "self-insert \""
\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"
#\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 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 "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"
\bind "C-Delete" "word-delete-forward"
\bind "M-d" "word-delete-forward"
\bind "C-BackSpace" "word-delete-backward"
\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 space-insert protected ; math-space"
\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"
# 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-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 List"
\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-p" "dialog-show print"
\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