5

美好的一天,如何重新定義FrontEndEventActions?

這個問題來自aborting evaluation of the full sequence of inputs的問題。

我想,這大概是可以通過重新定義FrontEndEventActions兩個事件來實現所需的行爲:"EvaluateCells"(或按下Shift鍵+輸入)和按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]; [email protected]#] 
    ] & 

但我不能讓FrontEndEventActions工作。誰能幫我?

回答

1

我相信你需要修改KeyEventTranslations.tr作爲參考herehere

+0

我在這個方法上創建了[另一個問題](http://stackoverflow.com/questions/5676911/)。我認爲這些方法都非常有價值,必須分開。 – 2011-04-15 12:46:36