CodeMirror 命令

命令是编辑器上不带参数调用的动作。他们主要用于绑定到快捷键上。命令通过向CodeMirror.commands添加属性来定义。CodeMirror定义了一些常用的命令,他们大多数都被绑定到了快捷键上。命令属性的值必须是带一个参数(编辑器实例)的函数。

下面是一些绑定到快捷键的命令

为了方便用户自己定义或使用插件,这些命令并没有全部包含在核心库中。命令也可以通过编辑器实例的方法execCommand来调用。

selectAllCtrl-A (PC), Cmd-A (Mac)
选择编辑器的全部内容。

singleSelectionEsc
如果当前是多个选择,那么此命令会取消选择除了主选择(primary selection)外的选择。

killLineCtrl-K (Mac)
Emacs式的清除行。用于删除行内光标后的内容。如果只包含空白字符,行尾的新行(应该是指换行 字符)也会被删除。

deleteLineCtrl-D (PC), Cmd-D (Mac)
删除光标所在整行,包括行尾的新行。

delLineLeft
删除行内光标前的内容。

delWrappedLineLeftCmd-Backspace (Mac)
删除光标所在可见行左边到光标处的部分。(这里是针对在行内有换行显示的情况,也就是说可能不是一行全部处理,而是只处理行的一部分)

delWrappedLineRightCmd-Delete (Mac)
删除光标所在可见行光标处到右边的部分。(同上)

undoCtrl-Z (PC), Cmd-Z (Mac)
撤消最后一次更改。

redoCtrl-Y (PC), Shift-Cmd-Z (Mac), Cmd-Y (Mac)
重做最后一次撤消更改。

undoSelectionCtrl-U (PC), Cmd-U (Mac)
撤消最后一次选择的更改,如果没有选择更改,那么就撤消最后一次文本更改。

redoSelectionAlt-U (PC), Shift-Cmd-U (Mac)
重做最后一次选择的更改,如果没有选择更改,那么就重做最后一次文本更改。

goDocStartCtrl-Home (PC), Cmd-Up (Mac), Cmd-Home (Mac)
移动光标到文档开始处。

goDocEndCtrl-End (PC), Cmd-End (Mac), Cmd-Down (Mac)
移动光标到文档结束处。

goLineStartAlt-Left (PC), Ctrl-A (Mac)
移动光标到行开始处。

goLineStartSmartHome
移动光标到行文字开始处,如果光标已经在那,那么就移动到行的真正开始处。

goLineEndAlt-Right (PC), Ctrl-E (Mac)
移动光标到行结束处。

goLineRightCmd-Right (Mac)
移动光标到可见行右边。

goLineLeftCmd-Left (Mac)
移动光标到可见行左边。如果行内有换行,那么可能不会移动到行开始处。

goLineLeftSmart
移动光标到行文字开始处,如果光标已经在那,那么就移动到行的真正开始处。结合goLineStartgoLineLeft理解。

goLineUpUp, Ctrl-P (Mac)
移动光标到上一行。

goLineDownDown, Ctrl-N (Mac)
移动光标到下一行。

goPageUpPageUp, Shift-Ctrl-V (Mac)
移动光标到上一屏,(每次)向上滚动相同距离。

goPageDownPageUp, Ctrl-V (Mac)
移动光标到下一屏,(每次)向下滚动相同距离。

goCharLeftLeft, Ctrl-B (Mac)
光标向左移动一个字符,如果在光标行首,那么移动到前一行。

goCharRightRight, Ctrl-F (Mac)
光标向右移动一个字符,如果在光标行尾,那么移动到后一行。

goColumnLeft
光标向左移动一个字符,但是不会超过行边界。

goColumnRight
光标向右移动一个字符,但是不会超过行边界。

goWordLeftAlt-B (Mac)
光标移动到前一个词开始处。

goWordRightAlt-F (Mac)
光标移动到后一个词结束处。

goGroupLeftCtrl-Left (PC), Alt-Left (Mac)
移动光标到光标前的组的左边。组是词的扩展,扩展到标点符号,新行或者是多个空白字符。

goGroupRightCtrl-Right (PC), Alt-Right (Mac)
移动光标到光标后的组的右边。组是词的扩展,扩展到标点符号,新行或者是多个空白字符。

delCharBeforeShift-Backspace, Ctrl-H (Mac)
删除光标前的一个字符。

delCharAfterDelete, Ctrl-D (Mac)
删除光标后的一个字符。

delWordBeforeAlt-Backspace (Mac)
删除光标前的一个词。

delWordAfterAlt-D (Mac)
删除光标后的一个词。

delGroupBeforeCtrl-Backspace (PC), Alt-Backspace (Mac)
删除光标前的一个组。

delGroupAfterCtrl-Delete (PC), Ctrl-Alt-Backspace (Mac), Alt-Delete (Mac)
删除光标后的一个组。

indentAutoShift-Tab
自动缩进当前行或选中行。

indentMoreCtrl-] (PC), Cmd-] (Mac)
缩进当前行或选中行一个缩进单位。

indentLessCtrl-[ (PC), Cmd-[ (Mac)
反缩进当前行或选中行一个缩进单位。(移除一个缩进单元)

insertTab
在光标处插入Tab字符。

insertSoftTab
在光标处插入与Tab字符等宽的空格字符。

defaultTabTab
如果有选中行,则缩进一个缩进单位;如果没有选择行,则插入一个Tab字符。

transposeCharsCtrl-T (Mac)
交换光标前后的字符。

newlineAndIndentEnter
插入新行并且自动缩进。

toggleOverwriteInsert
反转overwrite标志。

saveCtrl-S (PC), Cmd-S (Mac)
只存在快捷键中,核心库未定义。这是为了给用户编码提供一个简单的方法来定义保存命令。

findCtrl-F (PC), Cmd-F (Mac)
查找。

findNextCtrl-G (PC), Cmd-G (Mac)
向前查找。

findPrevShift-Ctrl-G (PC), Shift-Cmd-G (Mac)
向后查找。

replaceShift-Ctrl-F (PC), Cmd-Alt-F (Mac)
替换。

replaceAllShift-Ctrl-R (PC), Shift-Cmd-Alt-F (Mac)
全部替换。
未在核心库定义,但是在search addon中定义了。