สมุดบันทึก Jupyter / IPython: ทางลัดสำหรับ“ run all”?


119

มีทางลัดในการเรียกใช้เซลล์ทั้งหมดในโน้ตบุ๊ก IPython หรือไม่

และถ้าไม่เช่นนี้มีเหตุผลเฉพาะหรือไม่?


โปรดแจ้งให้เราทราบหากคุณพบวิธีการนี้ - จะมีประโยชน์อย่างยิ่ง !!!
makansij

8
สิ่งที่ใกล้เคียงที่สุดที่ฉันพบคือเข้าสู่โหมดคำสั่งโดยcommand+ shift+ Pจากนั้นพิมพ์run all cellsและกด Enter?
makansij

ไม่กดesc+ Hเพื่อแสดงแป้นพิมพ์ลัด ทางลัดมีการ จำกัด เนื่องจากตัวเลือกที่ จำกัด ซึ่งไม่รบกวนทางลัดของเบราว์เซอร์ที่มีอยู่
pylang

Ctrl+ shift+ pเปิดหน้าต่างการท่องเว็บแบบส่วนตัวใน Firefox ให้ฉัน!
Färid Alijani

2
ทำงานได้อย่างสมบูรณ์แบบกับ Anaconda ฉันคลิกวิธีใช้> แก้ไขแป้นพิมพ์ลัด> เรียกใช้เซลล์ทั้งหมดและเพิ่ม Shift-R (ตัวเลือกของฉัน)
Davidson Lima

คำตอบ:


78

สำหรับสมุดบันทึก jupyter รุ่นล่าสุด (เวอร์ชัน 5) คุณสามารถไปที่แท็บ 'help' ที่ด้านบนของโน้ตบุ๊กจากนั้นเลือกตัวเลือก "แก้ไขแป้นพิมพ์ลัด" และเพิ่มทางลัดที่กำหนดเองสำหรับฟังก์ชัน "เรียกใช้ทั้งหมด"


8
นี่คือคำตอบ! ขอบคุณมาก! อาจจะเป็นความคิดเห็นเล็ก ๆ น้อย ๆ สำหรับคนที่ "ตาบอด" เช่นฉัน: คุณต้องคลิกที่ "เพิ่มทางลัด" (ดูเหมือนเป็นสีเทา) จากนั้นพิมพ์ทางลัดที่คุณต้องการใช้อย่างแท้จริง
user3017048

ตั้งแต่ Jupyter 5.5 คุณสามารถไปที่ Kernel -> Restart and Run All การดำเนินการนี้จะเรียกใช้เซลล์ทั้งหมดจากบนลงล่าง
Chinmoy

5
คุณพิมพ์ทางลัดได้อย่างไร? ไม่มีอะไรทำงานสำหรับฉันเมื่อฉันพิมพ์
mathtick

@mathtick นี่เป็นช่วงเวลาที่ผ่านมา แต่คุณในหน้าต่างแก้ไขคุณจะเห็นลิงก์ "รายละเอียดการกำหนดแป้นพิมพ์ลัด" ซึ่งมีรายละเอียดวิธีการพิมพ์ทางลัดใหม่ โดยพื้นฐานแล้วคุณต้องพิมพ์คำสั่ง 'Cmd' แทนการกด 'Cmd'
exlo

1
@exlo ไม่มีลิงค์สีน้ำเงินในเบราว์เซอร์โอเปร่า .... แค่ช่องที่มีชื่อ "แก้ไขคำสั่งโหมดทางลัด" ปุ่มตกลงและไม่มีอะไรอื่น .....
adiro

51

มีทางลัดเมนูเพื่อเรียกใช้เซลล์ทั้งหมดในเซลล์> "เรียกใช้ทั้งหมด" นี้จะไม่ผูกพันกับแป้นพิมพ์ลัดโดย default- คุณจะต้องกำหนดของคุณเองที่มีผลผูกพันจากภายในโน้ตบุ๊คตามที่อธิบายไว้ที่นี่

ตัวอย่างเช่นหากต้องการเพิ่มการเชื่อมแป้นพิมพ์ที่ช่วยให้คุณเรียกใช้เซลล์ทั้งหมดในสมุดบันทึกคุณสามารถแทรกสิ่งนี้ในเซลล์:

%%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;
    }}
);

หากคุณเรียกใช้รหัสนี้จากในสมุดบันทึก iPython คุณจะพบว่าตอนนี้คุณมีการผูกแป้นพิมพ์เพื่อเรียกใช้เซลล์ทั้งหมด (ในกรณีนี้ให้กด ctrl-M ตามด้วย r)


1
เพิ่มรหัสนี้~/.jupyter/custom/custom.jsและรีสตาร์ทโน้ตบุ๊กและทางลัดจะพร้อมใช้งานสำหรับโน้ตบุ๊กทุกเครื่องเสมอ
stason

มีวิธีเรียกใช้ "จากเซลล์นี้เป็นต้นไป" หรือไม่?
Minh Ngh Na

34

ทางออกที่ง่ายที่สุด:

Esc, Ctrl- A, Shift- Enter.


1
วิธีแก้ปัญหาที่ง่ายและตรงไปตรงมาโดยไม่ต้องยุ่งกับ jupyter
sagarr

1
บน Mac: Esc, command-A, Shift-Enter ทำงานใน JupyterLab ไม่ใช่สมุดบันทึก Jupyter
Joseph Sheedy

6

ฉันพยายามทำสิ่งนี้ใน Jupyter Lab ดังนั้นจึงคิดว่าการโพสต์คำตอบที่นี่อาจมีประโยชน์ คุณสามารถค้นหาทางลัดในการตั้งค่าและเพิ่มของคุณเองซึ่งรายการทางลัดที่เป็นไปได้ทั้งหมดสามารถพบได้ที่นี่ที่นี่

ตัวอย่างเช่นฉันเพิ่มทางลัดของตัวเองเพื่อเรียกใช้เซลล์ทั้งหมด ใน Jupyter Lab ภายใต้การตั้งค่า> การตั้งค่าขั้นสูงเลือกแป้นพิมพ์ลัดจากนั้นเพิ่มรหัสต่อไปนี้ใน 'การแทนที่ผู้ใช้':

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

ที่นี่ Shift + Backspace จะเรียกใช้เซลล์ทั้งหมดในสมุดบันทึก


โปรดทราบว่าShift-BackSpaceในทำนองเดียวกันสามารถป้อนในกล่องโต้ตอบ UI "แก้ไขแป้นพิมพ์ลัด" สำหรับคำสั่งที่คุณเลือกเพื่อให้ได้ผลลัพธ์เดียวกัน
matanster

5

Jupyter Lab 1.0.4:

  1. ในเมนูด้านบนไปที่: Settings->Advanced Settings Editor->Keyboard Shortcuts

  2. วางรหัสนี้ในUser Preferencesหน้าต่าง:

{
    "shortcuts": [
        {
            "command": "runmenu:run-all",
            "keys": [
                "R",
                "R"
            ],
            "selector": "[data-jp-kernel-user]:focus"
        }
    ]
}
  1. บันทึก (ด้านบนขวาของuser-preferencesหน้าต่าง)

สิ่งนี้จะมีผลทันที ที่นี่การกด 'R' สองครั้งติดต่อกันจะรันเซลล์ทั้งหมด (เช่นเดียวกับ '0' สองครั้งสำหรับการรีสตาร์ทเคอร์เนล) โดยเฉพาะอย่างยิ่งsystem defaultsมีเทมเพลตว่างสำหรับคำสั่งเมนูทั้งหมดรวมถึงรหัสนี้ (ค้นหาrun-all) selectorถูกคัดลอกมาจากkernelmenu:restartการอนุญาตให้พิมพ์rภายในเซลล์ การsystem defaultsคัดลอกวางนี้สามารถกำหนดให้เป็นคำสั่งทั่วไปได้


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.