Python3.7.0 Shell添加清屏快捷键的实现示例


Posted in Python onMarch 23, 2020

1、找到python的安装目录在python (版本号)\lib\idlelib目录下

Python3.7.0 Shell添加清屏快捷键的实现示例

添加Clearwindow.py文件

源代码如下:

class ClearWindow:
  menudefs = [
    ('options', [None,
           ('Clear Shell Window', '<<clear-window>>'),
           ]), ]
 
  def __init__(self, editwin):
    self.editwin = editwin
    self.text = self.editwin.text
    self.text.bind("<<clear-window>>", self.clear_window2)
 
    self.text.bind("<<undo>>", self.undo_event) # add="+" doesn't work
 
  def undo_event(self, event):
    text = self.text
 
    text.mark_set("iomark2", "iomark")
    text.mark_set("insert2", "insert")
    self.editwin.undo.undo_event(event)
 
    # fix iomark and insert
    text.mark_set("iomark", "iomark2")
    text.mark_set("insert", "insert2")
    text.mark_unset("iomark2")
    text.mark_unset("insert2")
 
  def clear_window2(self, event): # Alternative method
    # work around the ModifiedUndoDelegator
    text = self.text
    text.undo_block_start()
    text.mark_set("iomark2", "iomark")
    text.mark_set("iomark", 1.0)
    text.delete(1.0, "iomark2 linestart")
    text.mark_set("iomark", "iomark2")
    text.mark_unset("iomark2")
    text.undo_block_stop()
    if self.text.compare('insert', '<', 'iomark'):
      self.text.mark_set('insert', 'end-1c')
    self.editwin.set_line_and_column()
 
  def clear_window(self, event):
    # remove undo delegator
    undo = self.editwin.undo
    self.editwin.per.removefilter(undo)
 
    # clear the window, but preserve current command
    self.text.delete(1.0, "iomark linestart")
    if self.text.compare('insert', '<', 'iomark'):
      self.text.mark_set('insert', 'end-1c')
    self.editwin.set_line_and_column()
 
    # restore undo delegator
    self.editwin.per.insertfilter(undo)

2、继续在当前目录下(python (版本号)\lib\idlelib)打开编辑config-extensions.def(IDLE扩展配置文件)

Python3.7.0 Shell添加清屏快捷键的实现示例

在原文件下添加如下代码:

[ClearWindow]
enable=1
enable_editor=0
enable_shell=1
[ClearWindow_cfgBindings]
clear-window=<Control-Key-w>

3、重新启动IDLE,点击Options,可看到:

Python3.7.0 Shell添加清屏快捷键的实现示例

输入一些代码

Python3.7.0 Shell添加清屏快捷键的实现示例

Ctrl+w

Python3.7.0 Shell添加清屏快捷键的实现示例

即可完成清屏!!!!到此这篇关于Python3.7.0 Shell添加清屏快捷键的实现示例的文章就介绍到这了,更多相关Python Shell添加清屏内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python 中的divmod数字处理函数浅析
Oct 17 Python
Python数据可视化正态分布简单分析及实现代码
Dec 04 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
Feb 26 Python
Django之无名分组和有名分组的实现
Apr 16 Python
django框架使用orm实现批量更新数据的方法
Jun 21 Python
Python箱型图绘制与特征值获取过程解析
Oct 22 Python
wxPython实现文本框基础组件
Nov 18 Python
Python基础之字符串常见操作经典实例详解
Feb 26 Python
django列表筛选功能的实现代码
Mar 27 Python
Manjaro、pip、conda更换国内源的方法
Nov 17 Python
Python基于mediainfo批量重命名图片文件
Dec 29 Python
python基础入门之普通操作与函数(三)
Jun 13 Python
Python面向对象程序设计之继承、多态原理与用法详解
Mar 23 #Python
python实现图像拼接功能
Mar 23 #Python
Python猴子补丁Monkey Patch用法实例解析
Mar 23 #Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
Mar 23 #Python
Python3 pickle对象串行化代码实例解析
Mar 23 #Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
Mar 23 #Python
Python3 shelve对象持久存储原理详解
Mar 23 #Python
You might like
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
PHP类型约束用法示例
2016/09/28 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
jQuery Tools tab(幻灯片)
2012/07/14 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
javascript中callee与caller的区别分析
2015/04/20 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
JavaScript实现横向滑出的多级菜单效果
2015/10/09 Javascript
12种JavaScript常用的MVC框架比较分析
2015/11/16 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
AngularJS指令与指令之间的交互功能示例
2016/12/14 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
微信小程序实现带缩略图轮播效果
2018/11/04 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
[01:15:16]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第一场 1月26日
2021/03/11 DOTA
python数据结构学习之实现线性表的顺序
2018/09/28 Python
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
python字典的遍历3种方法详解
2019/08/10 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
Python 字典中的所有方法及用法
2020/06/10 Python
必须要使用游标的SQL语句有那些
2012/05/07 面试题
办公室岗位职责
2014/02/12 职场文书
实习单位评语
2014/04/26 职场文书
天猫活动策划方案
2014/08/21 职场文书
大学生社会服务心得体会
2016/01/22 职场文书
安全生产协议书
2016/03/22 职场文书
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js