通常,我的工作流程涉及在IPython shell中进行数据清理/修改.自从IPython 5.0版本以及终端界面的所有重大升级以来,这已经变得特别精彩.所以,假设我试图修改一些非结构化数据:
In [11]: for i, (num, header, txt) in enumerate(data):
...: header = [e.strip() for e in header.strip().split('\n')]
...: header[4] = header[4].strip(',').split(',')
...: data[i] = (num, header, txt)
...:
Run Code Online (Sandbox Code Playgroud)
太棒了,它有效!但现在,我真的想在编辑器中将其添加到脚本中.如果我从终端复制并粘贴,我会捕获左边的所有垃圾.我可以在编辑器中轻松地清理它,但如果我可以直接将代码从终端直接复制到我的剪贴板而不触摸鼠标而且不需要抓取额外的东西,这将是很棒的.在IPython中有这样的功能吗?
我在Mac OS 10.5上使用ipython和python 2.5.1(我实际上想使用ipython for 2.6.1,但它似乎不可用?)
我通过easy_install安装了ipython.它工作但缺少gnu readline(用ctrl-R很好地搜索命令行历史记录等)
我找到了一篇博文和其他消息来源说这可以解决
sudo easy_install -f http://ipython.scipy.org/dist/ readline
但是,这会导致构建错误readline.c,尤其是未声明的函数,例如rl_compentry_func_t和rl_catch_signals.
有没有人见过这些错误?还有另一种方法可以使用readline安装ipython吗?
我想为我的终端提供类似vim的导航,所以我补充说:
set editing-mode vi
set keymap vi
Run Code Online (Sandbox Code Playgroud)
.inputrc基于此我的文件.editing-mode vi添加vi导航.做了keymap vi什么,为什么需要它?
据我所知,因为IPython的5.0.0采用了新的输入库(prompt_toolkit)不再默认为.inputrc文件(*nix中)指定的编辑模式.必须在Ipython配置文件配置文件中设置此选项(请参阅/sf/answers/2683095831/).
我的问题是:在配置文件配置文件中设置了vi-mode,如何指定特定的键绑定?例如,我喜欢用'jk'来逃避.
我想知道如何在Jupyter控制台中使用类似vi的键绑定-不仅与ipython一起使用,而且与任何内核一起使用。
先前的答案表明这对于ipython是可能的。因此,也许有一些标志或配置文件可以在其中指定。Jupyter似乎不具有与ipython相同的功能,ipython profile并且提供与ipython中相同的标记变量不起作用。