Jupyter / IPython-Notizbücher: Verknüpfung für "Alle ausführen"?

117

Gibt es eine Verknüpfung zum Ausführen aller Zellen in einem IPython-Notizbuch?

Und wenn nicht, hat dies einen bestimmten Grund?

user3017048
quelle
Bitte lassen Sie mich wissen, wenn Sie einen Weg gefunden haben, dies zu tun - es wäre äußerst nützlich !!!
Makansij
8
Das nächste, was ich finden konnte, war, mit command+ shift+ in den Befehlsmodus zu wechseln Pund dann die run all cellsEingabetaste einzugeben und zu drücken.
Makansij
Drücken Sie esc+ H, um Tastaturkürzel anzuzeigen. Verknüpfungen werden aufgrund begrenzter Optionen, die vorhandene Browserverknüpfungen nicht beeinträchtigen, sparsam.
Pylang
Ctrl+ shift+ pÖffnet mir ein eigenes Browser - Fenster in Firefox up!
Färid Alijani
2
Perfekt mit Anaconda zusammenarbeiten. Ich klickte auf Hilfe> Tastaturkürzel bearbeiten> Alle Zellen ausführen und fügte Shift-R hinzu (meine Wahl).
Davidson Lima

Antworten:

77

Für das neueste Jupyter-Notizbuch (Version 5) können Sie auf die Registerkarte "Hilfe" oben im Notizbuch gehen und dann die Option "Tastaturkürzel bearbeiten" auswählen und Ihre eigene benutzerdefinierte Verknüpfung für die Funktion "Alle ausführen" hinzufügen.

Arindam
quelle
8
Das ist die Antwort! Vielen Dank! Vielleicht ein kleiner Kommentar für diejenigen, die ein bisschen "blind" sind wie ich: Sie müssen auf "Verknüpfung hinzufügen" klicken (scheint ausgegraut zu sein) und dann buchstäblich die Verknüpfung eingeben, die Sie verwenden möchten.
user3017048
Ab Jupyter 5.5 können Sie zu Kernel -> Neu starten und Alle ausführen gehen. Dadurch werden alle Zellen von oben nach unten ausgeführt.
Chinmoy
5
Wie tippst du eigentlich die Verknüpfung ein? Beim Tippen funktioniert nichts für mich.
Mathtick
@mathtick, das ist schon eine Weile her, aber im Bearbeitungsfenster sehen Sie einen Link "Details zum Definieren von Tastaturkürzeln", der beschreibt, wie Sie neue Tastenkombinationen eingeben. Im Wesentlichen müssen Sie für den Befehl 'Cmd' eingeben, anstatt 'Cmd' zu drücken.
Exlo
1
@exlo Kein blauer Link im Opernbrowser .... nur eine Box mit dem Titel "Verknüpfungen zum Bearbeiten des Befehlsmodus", einer OK-Schaltfläche und sonst nichts .....
adiro
51

Es gibt eine Menüverknüpfung zum Ausführen aller Zellen unter Zelle> "Alle ausführen". Dies ist standardmäßig nicht an eine Tastenkombination gebunden. Sie müssen Ihre eigene benutzerdefinierte Bindung im Notebook definieren, wie hier beschrieben .

Um beispielsweise eine Tastaturbindung hinzuzufügen, mit der Sie alle Zellen in einem Notizbuch ausführen können, können Sie diese in eine Zelle einfügen:

%%javascript

Jupyter.keyboard_manager.command_shortcuts.add_shortcut('r', {
    help : 'run all cells',
    help_index : 'zz',
    handler : function (event) {
        IPython.notebook.execute_all_cells();
        return false;
    }}
);

Wenn Sie diesen Code in einem iPython-Notizbuch ausführen, sollten Sie feststellen, dass Sie jetzt über eine Tastaturbindung verfügen, mit der alle Zellen ausgeführt werden können (in diesem Fall drücken Sie Strg-M gefolgt von r).

emunsing
quelle
1
Fügen Sie diesen Code zum ~/.jupyter/custom/custom.jsNotizbuch hinzu und starten Sie es neu. Die Verknüpfung ist immer für alle Notizbücher verfügbar.
Stason
Gibt es eine Möglichkeit, "ab dieser Zelle" zu rennen?
Minh Nghĩa
34

Einfachste Lösung:

Esc, Ctrl- A, Shift- Enter.

Vitor Abella
quelle
1
Einfache und unkomplizierte Lösung, ohne sich mit Jupyter herumzuschlagen.
Sagarr
1
auf dem Mac: Esc, Befehl-A, Umschalt-Eingabe. Funktioniert in JupyterLab, nicht in Jupyter Notebook.
Joseph Sheedy
6

Ich habe versucht, dies in Jupyter Lab zu tun, daher dachte ich, es könnte nützlich sein, die Antwort hier zu posten. Sie finden die Verknüpfungen in den Einstellungen und fügen auch Ihre eigenen hinzu. Eine vollständige Liste der möglichen Verknüpfungen finden Sie hier .

Zum Beispiel habe ich meine eigene Verknüpfung hinzugefügt, um alle Zellen auszuführen. Wählen Sie in Jupyter Lab unter Einstellungen> Erweiterte Einstellungen Tastaturkürzel aus und fügen Sie den folgenden Code zu 'Benutzerüberschreibungen' hinzu:

{
    "notebook:run-all-cells": {
      "command": "notebook:run-all-cells",
      "keys": [
        "Shift Backspace"
      ],
      "selector": ".jp-Notebook.jp-mod-editMode"
    }
}

Hier werden mit Umschalt + Rücktaste alle Zellen im Notizbuch ausgeführt.

lstodd
quelle
Zu beachten ist, dass Shift-BackSpacedies im UI-Dialogfeld "Tastaturkürzel bearbeiten" für den Befehl Ihrer Wahl gleichwertig eingegeben werden kann, um das gleiche Ergebnis zu erzielen.
Matanster
5

Jupyter Lab 1.0.4:

  1. Gehen Sie im oberen Menü zu: Settings->Advanced Settings Editor->Keyboard Shortcuts

  2. Fügen Sie diesen Code in das User PreferencesFenster ein:

{
    "shortcuts": [
        {
            "command": "runmenu:run-all",
            "keys": [
                "R",
                "R"
            ],
            "selector": "[data-jp-kernel-user]:focus"
        }
    ]
}
  1. Speichern (oben rechts im user-preferencesFenster)

Dies wird sofort wirksam. Hier werden bei zwei aufeinanderfolgenden 'R'-Drücken alle Zellen ausgeführt (genau wie bei zwei' 0 'für den Kernel-Neustart). Hat system defaultsinsbesondere leere Vorlagen für alle Menübefehle, einschließlich dieses Codes (Suche nach run-all). Das selectorwurde kopiert kernelmenu:restart, um das Drucken rinnerhalb von Zellen zu ermöglichen . Dieses system defaultsKopieren und Einfügen kann auf jeden Befehl verallgemeinert werden.

Ran Feldesh
quelle
4

Ab 5.5 können Sie ausführen Kernel > Restart and Run All

lisp-ceo
quelle
Genauer