Autohotkey を使用すると、次のようにうまく機能します。
#IfWinActive ahk_class NotebookFrame
Enter::Send {blind}{shift down}{enter}{shift up}
Shift & Enter::Send {enter}
#IfWinActive
内部が変更された場合は、以下を使用して内部クラスを取得できます。
Return::
WinGetClass, class, A
MsgBox, The active window's class is "%class%".
return
このコードでうまくいくはずです。すぐに有効になります。
SetOptions[$FrontEnd,
FrontEndEventActions:>{{"MenuCommand", "HandleShiftReturn"} :>
FrontEndTokenExecute["Linebreak"], "ReturnKeyDown" :>
FrontEndTokenExecute["EvaluateCells"]}]
(MMA 11 を搭載した ArchLinux/MacOS_Sierra/Win10Server2016 でテスト済み。Ubuntu でも動作することを願っています)
MMA を開くたびに自動的に実行する場合は、コードを変更して、フロントエンド構成ファイル $UserBaseDirectory/FrontEnd/init.m
に挿入します。
そして、クバに感謝します。彼の答えの下にあるコメントは、私に多くのインスピレーションを与えました。彼のアイデアがなければ、私はこの答えを出すことができなかったでしょう.
最初の一手 KeyEventTranslations.tr
ファイルを $UserBaseDirectory
に インストールファイルを損傷しないように。 (新しいキーボード ショートカットを定義するためのキーの再バインド)
ファイルを開き、次の行を見つけます:
<ブロック引用>...
(*評価*)
...
Item[KeyEvent["Return", Modifiers -> {Shift}], "HandleShiftReturn"]
...
(*入力*)
Item[KeyEvent["リターン"], "改行"]
...
そしてスワップ"HandleShiftReturn"
"Linebreak"
で .
Windows で動作します。