||
ChemDraw的快捷键是在hotkeys.xml文件中定义的,通常放在ChemDraw Items目录下。这个文件在ChemDraw的帮助中没有充分讲清楚(之前我也有篇博文讲这个,但为了讲清楚XML和DTD的概念,过于复杂,效果不太好),为了方便使用,通过实验,我找出了一些选项的意义,补充了一些注释以方便查看,修订如下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE Objects SYSTEM "hotkeys.dtd"> <Objects> <Object type="Atom"> <!-- 以下描述选中对象为原子时,所规定的快捷键命令 --> <Commands> <!-- 这里除了描述,其它都不能修改或增删。 --> <Command id="LABELTEXT" description="设置原子的文本标签"/> <Command id="SPROUT" description="给原子增加键"/> <Command id="CHARGE" description="改变原子的电荷数"/> <Command id="FREE_SITE" description="增/减原子的自由位点数"/> <Command id="UPTO_SITE" description="增/减原子的最大取代基数"/> <Command id="EXACT_SITE" description="增/减原子的取代基数"/> <Command id="ATOMNUMBER" description="显示或隐藏原子编号"/> <Command id="ATTACHMENTPOINT" description="设置连接位点的数值"/> </Commands> <Hotkeys> <!-- 注意,同一个对象的Hotkeys组内的快捷键不能重复,否则会有命令被覆盖了而不能正常执行。 value值除了LABELTEXT命令中可以比较随意,在其它命令中都只能选自已经定义的值,不能随意选。--> <!-- LABELTEXT命令比较简单,当选中原子时,按下key指定的键,则当前原子变成value指定的键,注意是key区分大小写的 --> <Hotkey key="a" command="LABELTEXT" value="A" description=""/> <Hotkey key="A" command="LABELTEXT" value="Ac" description=""/> <Hotkey key="b" command="LABELTEXT" value="B" description=""/> <Hotkey key="B" command="LABELTEXT" value="Br" description=""/> <Hotkey key="c" command="LABELTEXT" value="C" description=""/> <Hotkey key="C" command="LABELTEXT" value="CN" description="输入大写的C来输入氰基"/> <Hotkey key="d" command="LABELTEXT" value="D" description=""/> <Hotkey key="e" command="LABELTEXT" value="Et" description=""/> <Hotkey key="E" command="LABELTEXT" value="EC" description="大写E定义为自定义标签EC"/> <Hotkey key="f" command="LABELTEXT" value="F" description=""/> <Hotkey key="F" command="LABELTEXT" value="CF3" description="大写F定义为标签 三氟甲基"/> <Hotkey key="h" command="LABELTEXT" value="H" description=""/> <Hotkey key="i" command="LABELTEXT" value="I" description=""/> <Hotkey key="k" command="LABELTEXT" value="K+" description=""/> <Hotkey key="l" command="LABELTEXT" value="Li+" description=""/> <Hotkey key="m" command="LABELTEXT" value="Me" description=""/> <Hotkey key="M" command="LABELTEXT" value="OMe" description="大写M -->甲氧基OMe"/> <Hotkey key="n" command="LABELTEXT" value="N" description=""/> <Hotkey key="N" command="LABELTEXT" value="Na+" description=""/> <Hotkey key="o" command="LABELTEXT" value="O" description=""/> <Hotkey key="p" command="LABELTEXT" value="P" description=""/> <Hotkey key="P" command="LABELTEXT" value="Ph" description=""/> <Hotkey key="q" command="LABELTEXT" value="Q" description=""/> <Hotkey key="r" command="LABELTEXT" value="R" description=""/> <Hotkey key="s" command="LABELTEXT" value="S" description=""/> <Hotkey key="S" command="LABELTEXT" value="Si" description="AtomLabeling"/> <Hotkey key="t" command="LABELTEXT" value="Tf" description="Tf,三氟甲基磺酰基"/> <Hotkey key="T" command="LABELTEXT" value="TMS" description="TMS 三甲基硅基"/> <Hotkey key="x" command="LABELTEXT" value="X" description="原子标签"/> <Hotkey key="6" command="LABELTEXT" value="Ph" description="原子标签: Ph"/> <!-- SPROUT命令下 Value不同值对应的操作: key 指定在选中原子时,按下这个键调用以下Value对应的操作。区分大小写的。 ?输入一个符号并伸出这个符号形成的基团, 很灵活的。 0 伸出一根单键 1 伸出一根单键 2 伸出=O 3 伸出一个苯基 4 伸出实心楔形键 5 伸出虚线楔形键 6 构建环己烷(当前原子为环上一点) 7 构建环戊烷(当前原子为环上一点) 8 伸出一根双键,末端为碳 9 伸出二根单键 10 伸出一个炔基 11 构建环丙烷(当前原子为环上一点) 12 构建环丁烷(当前原子为环上节点) 13 伸出一虚一实的楔形单键(共二根) 14 当前原子变成S,并伸出两根=O(很适合画砜基或硫酸酯) 15 ~更高 尚未定义 --> <Hotkey key="?" command="SPROUT" value="?" description=""/> <Hotkey key="1" command="SPROUT" value="1" description=""/> <Hotkey key="2" command="SPROUT" value="9" description=""/> <Hotkey key="3" command="SPROUT" value="14" description=""/> <Hotkey key="4" command="SPROUT" value="3" description=""/> <Hotkey key="-" command="CHARGE" value="-" description="减少原子的电荷"/> <Hotkey key="=" command="CHARGE" value="+" description="加号不方便,改为=号"/> <Hotkey key="." command="ATTACHMENTPOINT" value="True" description="增加连接位点"/> </Hotkeys> </Object> <!-- ------------------------- 我是分隔线------------------------- --> <Object type="Bond"> <!-- 以下描述选中对象为原子时,所规定的快捷键命令 --> <Commands> <Command id="BONDORDER" description="Sets the Bond Order"/> <Command id="BONDDISPLAY" description="Sets the Bond Display"/> <Command id="BONDPOSITION" description="Sets the Position of Bonds"/> <Command id="BONDDOUBLEPOSITION" description="Sets the Alignment for Double Bonds"/> <Command id="FUSERING" description="Fuses a ring to a bond"/> </Commands> <Hotkeys> <Hotkey key="f" command="BONDPOSITION" value="FRONT" description="键显示在前面"/> <Hotkey key="l" command="BONDDOUBLEPOSITION" value="LEFT" description="双键左对齐"/> <Hotkey key="r" command="BONDDOUBLEPOSITION" value="RIGHT" description="双键右对齐"/> <Hotkey key="c" command="BONDDOUBLEPOSITION" value="CENTER" description="双键居中对齐"/> <!-- BONDORDER 命令最简单,将选中的键设置单键/双键/叁键 --> <Hotkey key="1" command="BONDORDER" value="1" description="设为单键"/> <Hotkey key="2" command="BONDORDER" value="2" description="设为双键"/> <Hotkey key="3" command="BONDORDER" value="3" description="设为叁键"/> <!-- FUSERING命令比较好记,value指定的数字为 1 并上茂环(环戊二烯) 2 并上苯环 3~8 并上与数字相当的多元环 (注意设置3时可能与设置叁键的快捷键冲突,建议用其它字母指令并3元环). 9~10 并上椅式环已烷(两者方向稍有差异) 11~ 未定义 --> <Hotkey key="4" command="FUSERING" value="4" description="Fuse 4 membered ring"/> <Hotkey key="5" command="FUSERING" value="5" description="Fuse 5 membered ring"/> <Hotkey key="6" command="FUSERING" value="6" description="Fuse 6 membered ring"/> <Hotkey key="7" command="FUSERING" value="7" description="Fuse 7 membered ring"/> <Hotkey key="8" command="FUSERING" value="8" description="Fuse 8 membered ring"/> <Hotkey key="a" command="FUSERING" value="2" description=""/> <Hotkey key="z" command="FUSERING" value="12" description=""/> <!-- 设置键的不同展示形式,如虚线键、波浪键等 --> <Hotkey key="d" command="BONDDISPLAY" value="DASHED" description="Display a Bond as Dashed"/> <Hotkey key="D" command="BONDDISPLAY" value="TAUTOMERIC" description="Display a Bond as DoubleDashed"/> <Hotkey key="H" command="BONDDISPLAY" value="HASHED" description="Display a Bond as Hashed"/> <Hotkey key="h" command="BONDDISPLAY" value="HASHEDWEDGED" description="Display a Bond as HashWedged"/> <Hotkey key="W" command="BONDDISPLAY" value="HASHEDWEDGED" description="Display a Bond as HashWedged"/> <Hotkey key="B" command="BONDDISPLAY" value="DOUBLEBOLD" description="Display a Bond as Bold"/> <Hotkey key="b" command="BONDDISPLAY" value="BOLD" description="Display a Bond as Bold"/> <Hotkey key="w" command="BONDDISPLAY" value="WEDGED" description="Display a Bond as Wedged"/> <Hotkey key="y" command="BONDDISPLAY" value="WAVY" description="Display a Bond as Wavy"/> </Hotkeys> </Object> <!-- ------------------------- 我是分隔线------------------------- --> <Object type="Generic"> <!--通用对象,指未选择键或原子时的情况 --> <Commands> <Command id="DIALOG" description="Display a Dialog"/> <Command id="TOOLMODE" description="Changes the Current Tool"/> </Commands> <Hotkeys> <!-- 调出对话框命令DIALOG,value直接指定了对应的对话框,比较简单。 --> <Hotkey key="\" command="DIALOG" value="CHOOSENICKNAME" description="调出别名定义"/> <Hotkey key="w" command="TOOLMODE" value="SNAKINGCHAIN" description="w形象代表蛇形链"/> <Hotkey key="d" command="TOOLMODE" value="SOLIDBOND" description="d代表启用单实线键"/> <Hotkey key="5" command="TOOLMODE" value="CYCLOPENTANE" description="5启用环戊烷"/> <Hotkey key="6" command="TOOLMODE" value="CYCLOHEXANE" description="6启用环已烷"/> <Hotkey key="p" command="TOOLMODE" value="BENZENE" description="p代表Phenyl, 启用苯环"/> <Hotkey key="e" command="TOOLMODE" value="ERASER" description="e代表Eraser,启用橡皮擦"/> <Hotkey key="l" command="TOOLMODE" value="LASSO" description="L代表Lasso,启用套索"/> <Hotkey key="m" command="TOOLMODE" value="MARQUEE" description="M代表Marquee,启用框选"/> <Hotkey key="j" command="TOOLMODE" value="ARROW" description="J代表Jiantou,表示启用箭头"/> <Hotkey key="/" command="DIALOG" value="PROPERTIES" description="Displays the Properties Dialog"/> </Hotkeys> </Object> </Objects>
图片版(in oxygen xml editor)
其中比较重要的是选中原子时的快捷键操作,特别是SPROUT命令的选项比较多,帮助文档中没有做太多的说明,而且之前还被重新定义过功能,估计是官方还不太想固定下来。
源文件如下,供自己备用。如果你也希望如法炮制,请注意XML文件的格式要求很严,特别是标签的完整性和规范性,一般修改保存后就可以生效,甚至都不需要重新启动ChemDraw. 如果发现保存后没有效果,请检查是不是XML格式被破坏,或是快捷键冲突了。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2025-3-20 17:03
Powered by ScienceNet.cn
Copyright © 2007-2025 中国科学报社