我想知道是否有办法修改Jupyter Lab或Notebook的标签完整功能。例如,如果我输入“\ alpha”,然后按Tab键,我将在单元格中获得UTF-8字符“α”。
有没有办法可以自定义“[没有空格的字符串]”来制作一些特定的UTF-8字符或字符串?
e.g。 “\ implies”+ tab - > “⇒”
在我的编程生涯中我可以看到大量的用例,所以我想知道Jupyter(Lab或Notebook)是否能够修改一些设置(或加载文件)将字符串映射到选项卡的功能输出。或者你可以用它来实现这个想法吗?
谢谢!
答案 0 :(得分:2)
Jupyter是(基于)IPython并且它是完成引擎 - 我们可以利用它。
更新:您可以覆盖latex_symbols
dict以获得所需的行为:
from IPython.core.latex_symbols import latex_symbols
latex_symbols['\\implies'] = '⇒'
您应该能够以此示例为基础,使其适用于各种角色。
初步回答 /另一个解决方案:你可以挂钩到IPython完成者,虽然它不会完全按你的意愿工作:它不会替换文本,而只是附加一个特殊字符。这是一个例子:
from IPython import get_ipython
def implies_competer(ipython, event):
return ['⇒']
ipython = get_ipython()
ipython.set_hook('complete_command', implies_competer, re_key='.*implies')
然后按tab
,您将获得: