vi 基本概要文件

vi 基本概要文件包含 vi 用户应当熟悉的缺省键指定。

下面列出的某些键和鼠标事件设置在运行编辑器的环境(工作站配置、操作系统、Java 支持以及封装的编辑器应用程序等)中可能不可用。当前编辑器视图中的键和鼠标设置的集合还可以通过编辑器应用程序、活动文档解析器和起作用的编辑器扩展进行扩展和修改。

键设置

vi 基本概要文件处于活动状态时,编辑器不将 keyAction 参数用于文本区域中的键指定。而是激活编辑器的 vi 键处理程序。下面是编辑器的 vi 键处理程序识别的 vi 命令列表。

命令 描述

$ 将光标移至当前行的末尾。
% 将光标移至与当前光标位置处的圆括号、方括号或花括号配对的圆括号、方括号或花括号处。
[n]& 将上一个替换命令重复 n 次。
'x 将光标移至带有 x 所指示的标记的行的首字符处。
'' 将光标移至执行上一光标跳转命令之前光标所在的行的首字符处。
[n]+ 将光标移至后面第 n 行上的首字符处。
[n], 按相反方向将上一个 fFtT 命令重复 n 次。
[n]- 将光标移至前面第 n 行上的首字符处。
`x 将光标移至由 x 指示的标记处。
`` 将光标移至执行上一光标跳转命令之前光标所在的位置。
["buffer][n]. 将上一更改命令重复 n 次。如果上一更改命令使用缓冲区,则使用指定的缓冲区。  
/string 搜索 string
:abbreviate abbreviation string 设置缩写。
:edit [name] 如果文档不包含任何未保存的更改,则重新装入该文档。如果指定 name,则将更改文档的名称并装入新文件。
:edit! [name] 无条件地重新装入当前文档。如果指定 name,则将更改文档的名称并装入新文件。
:lpex command 将命令作为 LPEX 编辑器命令发出。
:quit 如果文档不包含任何未保存的更改,则关闭该文档。如果编辑器应用程序未定义 quit 命令,则不关闭文档。
:quit! 无条件地关闭该文档。如果编辑器应用程序未定义 quit 命令,则不关闭文档。
:substitute/string1/string2/[g] string1 替换为 string2。 如果指定可选参数 g,则将 string1 的所有实例都替换为 string2
:unabbreviate abbreviation 除去指定的缩写。
:w [name] 如果文档包含任何未保存的更改,则保存文档。如果指定 name,则将使用指定的名称来保存文档。
:w! [name] 无条件地保存该文档。如果指定 name,则将使用指定的名称来保存文档。
:wq 保存并退出文档。如果编辑器应用程序未定义 quit 命令,则不关闭文档。
[n]; 重复上一个 fFtT 命令 n 次。
[n]<< 取消缩进 n 行。
[n]>> 缩进 n 行。
?string 在文档中向后搜索 string
@buffer 在指定的缓冲区中发出命令。
@@ 重新发出上一个缓冲区命令。
^ 将光标移至行的首字符处。
[n]_ 将光标移至后面第(n-1)行上的首字符处。
[n]| 将光标移至由 n 指定的列。如果未指定 n,则将光标移至第 1 列。 
[n]~ 切换 n 个字符的大小写。
0 将光标移至当前行的第一列。
[n]a 在当前光标位置之后插入 n 次。
[n]A 在当前行末尾插入 n 次。
[n]b 将光标移至前面第 n 个词的开头。
[n]B 将光标移至前面第 n 个词的开头。
["buffer]c$ 替换从当前光标位置到当前行末尾的文本。将删除的文本存储在指定的缓冲区中。 
["buffer]c^ 替换从当前光标位置到当前行开头的文本。将删除的文本存储在指定的缓冲区中。 
["buffer][n]cc 替换 n 行。将删除的文本存储在指定的缓冲区中。 
["buffer][n]cw 替换 n 个词。将删除的文本存储在指定的缓冲区中。 
["buffer]C 替换从当前光标位置到当前行末尾的文本。将删除的文本存储在指定的缓冲区中。 
["buffer]d$ 删除从当前光标位置到当前行末尾的文本。将删除的文本存储在指定的缓冲区中。 
["buffer]d^ 删除从当前光标位置到当前行开头的文本。将删除的文本存储在指定的缓冲区中。 
["buffer][n]dd 删除 n 行。将删除的文本存储在指定的缓冲区中。 
["buffer][n]dw 删除 n 个词。将删除的文本存储在指定的缓冲区中。 
["buffer]D 删除从当前光标位置到当前行末尾的文本。将删除的文本存储在指定的缓冲区中。 
[n]e 将光标移至后面第 n 个词的末尾。
[n]E 将光标移至后面第 n 个词的末尾。
[n]fc 将光标移至字符 c 的第 n 个实例的右边。
[n]Fc 将光标移至字符 c 的第 n 个实例的左边。
[n]G 将光标移至由 n 指示的行的首字符。如果未指定 n,则假定是文档中的最后一行。 
[n]h 将光标移至左边第 n 个字符处。
[n]H 将光标移至从窗口顶部算起的第 n 行的首字符处。
[n]i 在当前光标位置处插入 n 次。
[n]I 在当前行开头插入 n 次。
[n]j 将光标向下移动 n 行。
[n]J n 行连接至当前行。
[n]k 将光标向上移动 n 行。
[n]l 将光标移至右边第 n 个字符处。
[n]L 将光标移至从窗口底部算起的第 n 行的首字符处。
mx 在当前光标位置处设置标记 x
M 将光标移至位于窗口中央的行的首字符处。
[n]n 将上一搜索命令重复 n 次。
[n]N 反方向重复上一搜索命令 n 次。
[n]o 在当前行之后的新行中插入 n 次。
[n]O 在当前行之前的新行中插入 n 次。
["buffer]p 粘贴 在当前光标位置之后从指定的缓冲区进行。
["buffer]P 粘贴 在当前光标位置处从指定的缓冲区进行。
[n]rc 用指定的字符 c 替换 n 个字符。
[n]R 在当前光标位置处替换 n 次。
[n]s 替换 n 个字符。
["buffer][n]S 替换 n 行。将删除的文本存储在指定的缓冲区中。 
[n]tc 将光标移至字符 c 的第 n 个实例的右边之前的那一列。
[n]Tc 将光标移至字符 c 的第 n 个实例的左边之后的那一列。
u 撤销上一更改。如果上一个命令是 u,则恢复上一个更改。
[n]w 将光标移至后面第 n 个词。
[n]W 将光标移至后面第 n 个词。
["buffer][n]x 删除 n 个字符并将删除的文本存储在指定的缓冲区中。
["buffer][n]X 删除当前光标位置之前的 n 个字符并将删除的文本存储在指定的缓冲区中。
["buffer]y$ 将从当前光标位置到当前行末尾的文本复制到指定的缓冲区中。
["buffer]y^ 将从当前光标位置到当前行开头的文本复制到指定的缓冲区中。
["buffer][n]yy n 行复制到指定的缓冲区中。
["buffer][n]Y n 行复制到指定的缓冲区中。
["buffer]yw 将从当前光标位置到词末尾的文本复制到指定的缓冲区中。
[n]z^M 将当前行滚动至窗口顶部。如果指定了 n,则将文档中的第 n 行滚动至窗口顶部。 
[n]z- 将当前行滚动至窗口底部。如果指定了 n,则将文档中的第 n 行滚动至窗口底部。 
[n]z. 将当前行滚动至窗口中央。如果指定了 n,则将文档中的第 n 行滚动至窗口中央。 
[n]^B 向后滚动 n 页。
[n]^D 向前滚动 n 行。如果未指定 n,则向前滚动半页。如果有可能的话,将光标放在同一文本行上。
[n]^E 向前滚动 n 行。如果有可能的话,将光标放在同一文本行上。
[n]^F 向前滚动 n 页。
[n]^H 将光标移至左边第 n 个字符处。
[n]^J 将光标向下移动 n 行。
[n]^M 将光标移至后面第 n 行上的首字符处。
[n]^N 将光标向下移动 n 行。
[n]^P 将光标向上移动 n 行。
[n]^U 向后滚动 n 行。如果未指定 n,则向后滚动半页。如果有可能的话,将光标放在同一文本行上。
[n]^Y 向后滚动 n 行。如果有可能的话,将光标放在同一文本行上。

注意,在上表中:

当编辑器处于插入替换方式时,vi 键处理程序能够识别下列特殊键:
描述

^H 退格删除上一个字符。
^V 不将下一个键解释为特殊键。
^W 退格删除上一个词。
^[ 结束插入替换方式。
Esc 结束插入替换方式。

如果光标不在文本区域,正常键设置将仍然适用。以下列示的键设置显示键定义(例如“a-d.c”)和编辑器操作(例如“blockDelete”)。有关如何定义键的完整参考,请参阅 keyAction 参数。

a-d.c Alt+D blockDelete
a-f7.c Alt+F7 blockShiftLeft
a-f8.c Alt+F8 blockShiftRight
a-i.c Alt+I blockLowerCase
a-k.c Alt+K blockUpperCase
a-pageDown.c Alt+Page Down findBlockEnd
a-pageUp.c Alt+Page Up findBlockStart
a-q.c Alt+Q findQuickMark
a-u.c Alt+U blockUnmark
c-a.c Ctrl+A blockMarkAll
c-backSpace.c Ctrl+退格键 deleteLine
c-end.c Ctrl+End bottom
c-enter.c Ctrl+Enter openLine
c-f.c Ctrl+F find
c-home.c Ctrl+Home top
c-j.c Ctrl+J findLastChange
c-l.c Ctrl+L locateLine
c-m.c Ctrl+M match
c-n.c Ctrl+N findNext
c-numpadEnter.c.secondary Ctrl+数字小键盘 Enter openLine
c-p.c Ctrl+P print
c-pageDown.c Ctrl+Page Down pageRight
c-pageUp.c Ctrl+Page Up pageLeft
c-s-f.c Ctrl+Shift+F findAndReplace
c-s-l.c Ctrl+Shift+L locateSequenceLine
c-s-m.c Ctrl+Shift+M findMatch
c-s-n.c Ctrl+Shift+N compareNext
c-s-p.c Ctrl+Shift+P comparePrevious
c-s-r.c Ctrl+Shift+R compareRefresh
c-s-u.c.secondary Ctrl+Shift+U comparePrevious
c-s.c Ctrl+S save
c-t.c Ctrl+T scrollTop
c-u.c Ctrl+U findUp
c-w.c Ctrl+W showAll
f1.c F1 help
pageDown.c Page Down pageDown
pageUp.c Page Up pageUp

鼠标事件设置

下面列示的鼠标事件设置被划分为鼠标事件和操作对。第一个字符串(例如“1-a-dragged”)指示鼠标事件,第二个字符串指示操作(例如“blockMarkToMouse”)。有关如何定义鼠标事件的信息,请参阅 mouseAction 参数。

1-a-dragged blockMarkToMouse
1-a-pressed.1 cursorToMouse
1-a-pressed.2 blockMarkRectangleAtMouse
1-c-a-pressed.1 blockUnmark
1-c-a-s-pressed.1 blockUnmark
1-c-dragged blockMarkToMouse
1-c-pressed.1 cursorToMouse
1-c-pressed.2 blockMarkElementAtMouse
1-c-s-pressed.1 expandHideAtMouse
1-dragged blockMarkToMouse
1-pressed.1 cursorToMouse
1-pressed.2 blockMarkWordAtMouse
1-s-dragged blockMarkToMouse
1-s-pressed.1 blockMarkToMouse
2-c-s-pressed.1 expandHideAtMouse
3-c-s-pressed.1 expandHideAtMouse
3-pressed.1 popupAtMouse
a-dragged blockMarkToMouse
a-pressed.1 cursorToMouse
a-pressed.2 blockMarkRectangleAtMouse
c-a-pressed.1 blockUnmark
c-a-s-pressed.1 blockUnmark
c-dragged blockMarkToMouse
c-pressed.1 cursorToMouse
c-pressed.2 blockMarkElementAtMouse
dragged blockMarkToMouse
pressed.1 cursorToMouse
pressed.2 blockMarkWordAtMouse
s-dragged blockMarkToMouse
s-pressed.1 blockMarkToMouse
1-a-dragged.p blockMarkToMouse
1-a-pressed.1.p cursorToMouse
1-a-pressed.2.p blockMarkRectangleAtMouse
1-c-a-pressed.1.p blockUnmark
1-c-a-s-pressed.1.p blockUnmark
1-c-dragged.p blockMarkToMouse
1-c-pressed.1.p cursorToMouse
1-c-pressed.2.p blockMarkElementAtMouse
1-c-s-pressed.1.p expandHideAtMouse
1-dragged.p blockMarkToMouse
1-pressed.1.p cursorToMouse
1-pressed.2.p blockMarkWordAtMouse
1-s-dragged.p blockMarkToMouse
1-s-pressed.1.p blockMarkToMouse
2-c-s-pressed.1.p expandHideAtMouse
3-c-s-pressed.1.p expandHideAtMouse
3-pressed.1.p popupAtMouse
a-dragged.p blockMarkToMouse
a-pressed.1.p cursorToMouse
a-pressed.2.p blockMarkRectangleAtMouse
c-a-pressed.1.p blockUnmark
c-a-s-pressed.1.p blockUnmark
c-dragged.p blockMarkToMouse
c-pressed.1.p cursorToMouse
c-pressed.2.p blockMarkElementAtMouse
dragged.p blockMarkToMouse
pressed.1.p cursorToMouse
pressed.2.p blockMarkWordAtMouse
s-dragged.p blockMarkToMouse
s-pressed.1.p blockMarkToMouse
1-a-dragged.e blockMarkToMouse
1-a-pressed.1.e cursorToMouse
1-a-pressed.2.e blockMarkRectangleAtMouse
1-c-a-pressed.1.e blockUnmark
1-c-a-s-pressed.1.e blockUnmark
1-c-dragged.e blockMarkToMouse
1-c-pressed.1.e cursorToMouse
1-c-pressed.2.e blockMarkElementAtMouse
1-c-s-pressed.1.e expandHideAtMouse
1-dragged.e blockMarkToMouse
1-pressed.1.e expandHideAtMouse
1-pressed.2.e expandHideAtMouse
1-pressed.3.e expandHideAtMouse
1-s-dragged.e blockMarkToMouse
1-s-pressed.1.e blockMarkToMouse
2-c-s-pressed.1.e expandHideAtMouse
3-c-s-pressed.1.e expandHideAtMouse
3-pressed.1.e popupAtMouse
a-dragged.e blockMarkToMouse
a-pressed.1.e cursorToMouse
a-pressed.2.e blockMarkRectangleAtMouse
c-a-pressed.1.e blockUnmark
c-a-s-pressed.1.e blockUnmark
c-dragged.e blockMarkToMouse
c-pressed.1.e cursorToMouse
c-pressed.2.e blockMarkElementAtMouse
dragged.e blockMarkToMouse
pressed.1.e expandHideAtMouse
pressed.2.e expandHideAtMouse
pressed.3.e expandHideAtMouse
s-dragged.e blockMarkToMouse
s-pressed.1.e blockMarkToMouse

相关概念
编辑器命令、操作和参数
编辑器概要文件

相关参考
缺省编辑器命令
编辑器参数
keyAction 参数
mouseAction 参数