5

良い一日、

この質問は、入力の完全なシーケンスの評価を中止することに関する質問から来ています。

FrontEndEventActions2つのイベント"EvaluateCells"(または+を押す)とShift+を押すことを再定義することで、目的の動作を実現できる可能性が高いと思います。次のようになります。EnterAlt.

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

また

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

ここAbortAllNextInputsで、およびLast$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

hereおよびhere で参照されている KeyEventTranslations.tr を変更する必要があると思います。

于 2011-04-15T11:15:28.463 に答える