5

再会,

这个问题来自关于aborting evaluation of the full sequence of inputs的问题。

我认为可以通过重新定义FrontEndEventActions两个事件来实现所需的行为:("EvaluateCells"或按Shift+ Enter)和按Alt+ .。它应该是这样的:

SetOptions[$FrontEndSession, 
 FrontEndEventActions -> {"EvaluateCells" :> Last$PreRead, 
   {{"Alt", "."} :> AbortAllNextInputs}}]

或者

SetOptions[$FrontEndSession, 
 FrontEndEventActions -> {{{"ShiftKey", "ReturnKeyDown"} :> Last$PreRead}
   {{"Alt", "."} :> AbortAllNextInputs}}]

其中AbortAllNextInputsLast$PreRead定义如下:

AbortAllNextInputs := AbortProtect[
   $new$PreRead = True;
   last$PreRead = ToString[Definition[$PreRead], InputForm];
   ClearAll[$PreRead];
   $PreRead := # &] /; ! TrueQ[$new$PreRead]
Last$PreRead :=
 $PreRead := AbortProtect[
    $new$PreRead = False;
    ClearAll[$PreRead];
    If[last$PreRead === "Null", #, 
     ToExpression[last$PreRead]; $PreRead@#]
    ] &

但我无法FrontEndEventActions工作。谁能帮我?

4

1 回答 1

1

我相信您需要修改此处此处引用的 KeyEventTranslations.tr 。

于 2011-04-15T11:15:28.463 回答