In der IPython Notebook-Umgebung können benutzerdefinierte Tastaturkurzbefehle mithilfe der IPython Javascript-API definiert werden. Mit Hilfe der %%javascript
Magie kann man ein Javascript in IPython interaktive Konsole wie folgt schreiben (Beispiel here beschrieben):Benutzerdefiniertes Tastaturkürzel für IPython Notebook, um die aktuelle Zeile im Bearbeitungsmodus zu duplizieren
%%javascript
IPython.keyboard_manager.command_shortcuts.add_shortcut('r', {
help : 'run cell',
help_index : 'zz',
handler : function (event) {
IPython.notebook.execute_cell();
return false;
}}
);
Ich mag würde ein Javascript schreiben, die eine Verknüpfung während Bearbeitungsmodus erstellt, die Ctrl-Alt- bindet Bis zur Aktion 'Dupliziere aktuelle Zeile' --- das heißt, den Cursor zum Anfang der aktuellen Zeile bewegen, die Zeile auswählen, die Zeile kopieren, zurückgeben, einfügen. Im Wesentlichen möchte ich die Tastenkombination von Eclipse oder Strg-d in Notepad ++ oder C-a C-SPACE C-n M-w C-y in Emacs emulieren. Die JavaScript-Datei wird in Form der folgenden Möglichkeiten:
%%javascript
IPython.keyboard_manager.edit_shortcuts.add_shortcut('ctrl-alt-down', {
help : 'run cell',
help_index : 'zz',
handler : function (event) {
[Code that duplicates the line];
return false;
}}
);
obwohl meine Versuche deuten darauf hin, ‚ctrl-alt-down‘ ist der falsche Weg, um die Abkürzung Sequenz darzustellen, und ich kann keine Dokumentation für die keyboard_manager
finden .
Ich würde lieber nicht mit einer (z. B.) AutoHotKey-Lösung gehen, da ich diese Verknüpfung auf den Bearbeitungsmodus von IPython Notebook beschränken möchte.