Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jupyter notebook 访问Jupyter笔记本菜单栏的快捷键/组合键_Jupyter Notebook_Keyboard Shortcuts - Fatal编程技术网

Jupyter notebook 访问Jupyter笔记本菜单栏的快捷键/组合键

Jupyter notebook 访问Jupyter笔记本菜单栏的快捷键/组合键,jupyter-notebook,keyboard-shortcuts,Jupyter Notebook,Keyboard Shortcuts,只要可能,我更喜欢键盘的便利性和速度,而不是使用触摸板/鼠标。是否有使用键盘访问Jupyter菜单栏的方法。例如,编辑菜单: 在Linux上,对于Edit | Delete cells,我们可以访问一个顶级项目,如Alt-E | D。在macos上,这是一个令人头痛的问题,但仍然有可能:|E | D 有没有办法在Jupyter上实现这一点?所以你想绑定自定义键盘快捷键 告诉您使用JavaScript API,文档就在这里 因此,在中最终会出现类似的情况(方便的是,所有菜单的第一个字符都是不同的

只要可能,我更喜欢键盘的便利性和速度,而不是使用触摸板/鼠标。是否有使用键盘访问Jupyter菜单栏的方法。例如,
编辑
菜单:

在Linux上,对于
Edit | Delete cells
,我们可以访问一个顶级项目,如
Alt-E | D
。在macos上,这是一个令人头痛的问题,但仍然有可能:
|E | D


有没有办法在Jupyter上实现这一点?

所以你想绑定自定义键盘快捷键

告诉您使用JavaScript API,文档就在这里

因此,在中最终会出现类似的情况(方便的是,所有菜单的第一个字符都是不同的)

for(让id为[“filelink”、“editlink”、“viewlink”、“insertlink”、“celllink”、“kernellink”]){
常量元素=document.getElementById(id)
const actionName=Jupyter.notebook.keyboard_manager.actions.register(函数(env){element.click()},
`打开菜单-${id[0]}`,“自定义”)
const shortcut='alt-'+id[0]
Jupyter.键盘管理器.命令快捷方式.添加快捷方式(快捷方式,actionName)
Jupyter.键盘管理器.编辑快捷方式.添加快捷方式(快捷方式,actionName)
}
此代码将Alt+E绑定到单击“编辑”菜单

它相当依赖于版本(因为它取决于菜单上链接的ID)——这在Jupyter notebook版本6.1.6上进行了测试

如果使用for循环生成快捷方式(如上面的代码),则手动注册操作(并为它们指定不同的名称)而不是
add\u快捷方式(快捷方式,处理程序)
,这一点非常重要,因为否则处理程序会自动注册,而这一切都是一样的。没有人能帮你

如果您还想使用Enter键选择菜单,则必须执行更多操作,因为默认情况下,它必须进入编辑模式:

{
键盘管理器。命令快捷键。添加快捷键(“回车”,函数(env){
常量元素=document.activeElement
if(element.getAttribute(“角色”)=“menuitem”)
元素。单击()
否则{
环境笔记本。编辑_模式();
//或者:
//环境笔记本。键盘管理器。操作。调用(“jupyter笔记本:进入编辑模式”)
}
})
}

如果您想为其他两个菜单添加快捷方式,请再修改一点,因为它们没有方便的ID。

作为一种解决方法,您仍然可以在“编辑键盘快捷方式”菜单中绑定每个命令。是的,但据我所知,我没有四个菜单x N个菜单项的内存(或兴趣),jupyter不支持这一点,所以这是最好的方式;然而,在他们的网站上有可能出现一个问题。