Python相当于ignoreboth:erasedups

时间:2017-02-21 15:12:18

标签: python readline

我通过Anaconda在Mac Sierra上运行iPython(Jupyter),通过iTerm运行$SHELL=bash - 如果我错过任何有用的设置细节,请告诉我。

我喜欢$HISTCONTROL的{​​{1}}方面,提及here。总结一下这个答案:当遍历历史记录(也就是点击向上箭头)时,删除重复的条目会很有帮助,这样就不会多次滚过同一个命令,这可以通过bash完成。

Python解释器(或iPython,特别是)中是否有相应的内容?我安装了$HISTCONTROL=ignoreboth:erasedups,感觉这是一个很好的起点,但是没有任何东西突然解决问题,而且我认为这是在某个地方建造的。

1 个答案:

答案 0 :(得分:0)

通过对IPython的一些深入研究,筛选出解读不当和/或弃用的文档,我拼凑了一个似乎工作得很好的解决方案,但我确信它不是最优的,原因有很多,即:

  • 每次在IPython中运行一行时,它在func someFunc() { becomeFirstResponder() var menu = UIMenuController.shared var deleteItem = UIMenuItem(title: "Delete me", action: #selector(ViewController.deleteLine)) menu.menuItems = [deleteItem] menu.setTargetRect(CGRect(x: 0.0, y: 0.0, width: 20, height: 20), in: self) menu.setMenuVisible(true, animated: true) } func deleteLine() { //Do something here } override var canBecomeFirstResponder: Bool { return true } override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool { // You need to only return true for the actions you want, otherwise you get the whole range of // iOS actions. You can see this by just removing the if statement here. if action == #selector(ViewController.deleteLine) { return true } return false } 数据库上运行GROUP BY查询
  • 不需要清理/协调数据库表 - 我只修改history,但忽略historyoutput_history

我将以下内容放在sessions内的文件中(我将其命名为dedupe_history.py,但名称无关紧要):

$HOME/.ipython/profile_default/startup