Menggunakan Autohotkey berikut berfungsi dengan baik.
#IfWinActive ahk_class NotebookFrame
Enter::Send {blind}{shift down}{enter}{shift up}
Shift & Enter::Send {enter}
#IfWinActive
Jika internal pernah diubah, Anda dapat menggunakan yang berikut ini untuk mendapatkan kelas internal.
Return::
WinGetClass, class, A
MsgBox, The active window's class is "%class%".
return
Sepotong kode ini harus melakukan triknya. Ini segera berlaku.
SetOptions[$FrontEnd,
FrontEndEventActions:>{{"MenuCommand", "HandleShiftReturn"} :>
FrontEndTokenExecute["Linebreak"], "ReturnKeyDown" :>
FrontEndTokenExecute["EvaluateCells"]}]
(Diuji di ArchLinux/MacOS_Sierra/Win10Server2016 dengan MMA 11. Mudah-mudahan ini juga berfungsi di Ubuntu)
Jika Anda ingin menjalankannya secara otomatis setiap kali Anda membuka MMA, Anda dapat mengubah kode dan memasukkannya ke file konfigurasi frontend $UserBaseDirectory/FrontEnd/init.m
Dan banyak terima kasih kepada Kuba. Komentar di bawah jawabannya sangat menginspirasi saya. Tanpa idenya saya tidak akan bisa menghasilkan jawaban ini.
Langkah pertama KeyEventTranslations.tr
file ke $UserBaseDirectory
Anda agar tidak merusak file instalasi. (Mengikat ulang tombol untuk menentukan pintasan keyboard baru)
Buka file dan temukan baris tersebut:
...
(*Evaluasi*)
...
Item[KeyEvent["Return", Pengubah -> {Shift}], "HandleShiftReturn"]
...
(*Masukan*)
Item[KeyEvent["Return"], "Linebreak"]
...
dan tukar "HandleShiftReturn"
dengan "Linebreak"
.
Bekerja di Windows.