缺省时 UNIX 绑定不可用。
下列过程指定了:
DtEditor 附加工具应用程序的 EMACS 式样转换, 例如桌面文本编辑器 (dtpad) 和邮寄程序 (dtmail)
与这些转换冲突的 DtEditor 附加工具应用程序菜单 加速器的替代转换。
在文件 HomeDirectory/.Xdefaults 中添加下行:
#include "/usr/dt/app-defaults/language/UNIXbindings"
其中 language 是 LANG
环境变量的值。
重新启动会话。
将文件 /usr/dt/app-defaults/language/UNIXbindings 的内容插入 HomeDirectory/.Xdefaults 中。
在.Xdefaults 文件中编辑绑定。
完成后重新启动会话。
/usr/dt/app-defaults/language/UNIXbindings 文件提供的 绑定如下表所述。
当 UNIX 绑定启用时,"Delete"键删除前一个字符,而"Shift-Delete"键删除下一个字符。
表 17-1 列出和 UNIX 绑定冲突的菜单加速器和加速器文本的dtpad 复位。
表 17-1 dtpad 复位
菜单加速器和加速器文本 |
复位 |
---|---|
Dtpad*fileMenu.print.acceleratorText: |
|
Dtpad*fileMenu.print.accelerator: |
|
Dtpad*editMenu.undo.acceleratorText: |
Ctrl+_ |
Dtpad*editMenu.undo.accelerator: |
Ctrl<Key>_ |
Dtpad*editMenu.paste.acceleratorText: |
Shift+Insert |
Dtpad*editMenu.paste.accelerator: |
Shift<Key>osfInsert |
Dtpad*editMenu.findChange.acceleratorText: |
Ctrl+S |
Dtpad*editMenu.findChange.accelerator: |
Ctrl<Key>s |
表 17-2 列出和 UNIX 绑定冲突的菜单加速器和加速器文本的 dtmail 创作窗口的复位。
表 17-2 dtmail 创作窗口复位
菜单加速器和加速器文本 |
复位 |
---|---|
Dtmail*ComposeDialog*menubar*Edit.Undo.acceleratorText: |
Ctrl+_ |
Dtmail*ComposeDialog*menubar*Edit.Undo.accelerator: |
Ctrl<Key>_ |
Dtmail*ComposeDialog*menubar*Edit.Paste.acceleratorText: |
Shift+Insert |
Dtmail*ComposeDialog*menubar*Edit.Paste.accelerator: |
Shift<Key>osfInsert |
Dtmail*ComposeDialog*menubar*Edit.Find/Change.acceleratorText: |
Ctrl+S |
Dtmail*ComposeDialog*menubar*Edit.Find/Change.accelerator: |
Ctrl<Key>s |
下列转换提供(GNU 式样)EMACS 控制和元键绑定以及一些附加绑定。 在适当的时候,它们也允许"Shift"键和正常绑定进行组合使用,以便反转操作的方向。例如,"Ctrl+Shift+F" 键将使光标后移一个字符,而正常情况下, "Ctrl+F" 键 使光标前移一个字符。
附加绑定是:
Ctrl+comma-后移一个单词
Ctrl+Shift+comma-前移一个单词
Ctrl+period-前移一个单词
Ctrl+Shift+period-后移一个单词
Ctrl+Return-文件结尾
Ctrl+Shift+Return-文件开头
GNU EMACS 将 delete-previous-character(),而不是 delete-next-character() 绑定到"Delete"键。正常情况下,"Meta+F"是文件菜单的符号,所以将忽略 forward-word() 的绑定。使用另一绑定 来进行 forward-word(例如,Ctrl+period)。
表 17-3 列出 DtEditor.text 转换
表 17-3 DtEditor.text 转换
修饰符键 |
键 |
动作例程 |
---|---|---|
c ~s |
<Key>a: |
行开头()\n\ |
c s |
<Key>a: |
行结尾()\n\ |
c ~s |
<Key>b: |
向后一个字符()\n\ |
c s |
<Key>b: |
向前一个字符()\n\ |
c ~s |
<Key>b: |
向后一个字符()\n\ |
c s |
<Key>b: |
向后一个词()\n\ |
m ~s |
<Key>b: |
向后一个词()\n\ |
m s |
<Key>b: |
向前一个词()\n\ |
c ~s |
<Key>d: |
删除下一个字符()\n\ |
c s |
<Key>d: |
删除前一个字符()\n\ |
m ~s |
<Key>d: |
kill(删除)下一个词()\n\ |
m s |
<Key>d: |
kill(删除)前一个词()\n\ |
c ~s |
<Key>e: |
行结尾()\n\ |
c s |
<Key>e: |
行开头()\n\ |
c ~s |
<Key>f: |
向前一个字符()\n\ |
c s |
<Key>f: |
向后一个字符()\n\ |
m ~s |
<Key>f: |
向前一个词()\n\ |
m s |
<Key>f: |
向后一个词()\n\ |
c |
<Key>j: |
新行并缩进()\n\ |
c ~s |
<Key>k: |
kill(删)到行结尾()\n\ |
c s |
<Key>k: |
kill(删)到行开头()\n\ |
c |
<Key>l: |
重画显示()\n\ |
c |
<Key>m: |
新行()\n\ |
c s |
<Key>n: |
进程继续()\n\ |
c ~s |
<Key>n: |
进程关闭()\n\ |
c |
<Key>o: |
新行并备份()\n\ |
c ~s |
<Key>p: |
进程继续()\n\ |
c s |
<Key>p: |
进程关闭()\n\ |
c ~s |
<Key>u: |
kill(删)到行开头()\n\ |
c s |
<Key>u: |
kill(删)到行结尾()\n\ |
c ~s |
<Key>v: |
下一页()\n\ |
c s |
<Key>v: |
前一页()\n\ |
m ~s |
<Key>v: |
前一页()\n\ |
m s |
<Key>v: |
下一页()\n\ |
c |
<Key>w: |
kill(删除)选择部分()\n\ |
c ~s |
<Key>y: |
unkill(不删除)()\n\ |
m |
<Key>]: |
向前一段()\n\ |
m |
<Key>[: |
向后一段()\n\ |
c ~s |
<Key>comma: |
向后一词()\n\ |
c s |
<Key>comma: |
向前一词()\n\ |
m |
<Key>\\<: |
文件开头()\n\ |
c ~s |
<Key>period: |
向前一词()\n\ |
c s |
<Key>period: |
向后一词()\n\ |
m |
<Key>\\>: |
文件结尾()\n\ |
c ~s |
<Key>Return: |
文件结尾()\n\ |
c s |
<Key>Return: |
文件开头()\n\ |
~c ~s ~m ~a |
<Key>osfDelete: |
删除前一字符()\n\ |
~c s ~m ~a |
<Key>osfDelete: |
删除下一字符() |