【发布时间】:2015-05-28 11:45:10
【问题描述】:
在 IPython Notebook 环境中,可以使用 IPython Javascript API 定义自定义键盘快捷键。使用%%javascript 魔法,可以在IPython 的交互式控制台中编写如下的javascript(示例描述here):
%%javascript
IPython.keyboard_manager.command_shortcuts.add_shortcut('r', {
help : 'run cell',
help_index : 'zz',
handler : function (event) {
IPython.notebook.execute_cell();
return false;
}}
);
我想写一个 javascript,在编辑模式下创建一个快捷方式,将 Ctrl-Alt-Down 绑定到“复制当前行”的操作——即将光标移动到当前行的开头,选择行,复制行,返回,粘贴。本质上,我想模拟 Eclipse 的键盘快捷键,或 Notepad++ 中的 Ctrl-d,或 Emacs 中的 C-a C-SPACE C-n M-w C-y。 javascript 文件将采用以下形式:
%%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;
}}
);
虽然我的尝试表明“ctrl-alt-down”是表示快捷方式序列的不正确方式,但我找不到keyboard_manager 的任何文档。
我不想使用(例如)AutoHotKey 解决方案,因为我想将此快捷方式限制为 IPython Notebook 的编辑模式。
【问题讨论】:
标签: javascript keyboard-shortcuts ipython-notebook