如何在Spyder中添加新行和键盘快捷键

How to add quot;new linequot; keyboard shortcuts in spyder(如何在Spyder中添加新行和键盘快捷键)
本文介绍了如何在Spyder中添加新行和键盘快捷键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在使用其他编辑器时,大多数都有关于";换行符&的功能。 例如,Sublime文本,使用

Ctrl+Enter

无论光标是否在行尾,都可以直接输入新行。 检查完有关Spyder的所有设置后,对此一无所知。

因此,我想用

添加有关";新行";的新功能

Ctrl+Enter

要在没有光标的情况下输入新行,需要移动到尾部

你有什么想法和我分享吗?谢谢。

推荐答案

我只是一个Spyder用户,但是您可以自己添加这样的功能。为此,您需要修改文件codeeditor.py,该文件在Windows中位于spyderlibwidgetssourcecodecodeeditor.py下。

警告:在修改codeeditor.py文件之前对其进行备份。

您需要做的是修改从第2129行(在My Spyder 2.3.1中)开始的keyPressEvent函数。

您将看到第一个条件之一负责按Enter/Return键:第2139行,if key in (Qt.Key_Enter, Qt.Key_Return):

选项ctrl+Enter已被采用...因此,在不过多地修改选项的情况下,我将在这里为ctrl+shift+Enter添加一个选项,该选项是免费使用的。这样可以吗?

因此,您要做的是在选项if not shift and not ctrl:之后添加另一个按下Shift和Ctrl的选项;即,在我的示例中,我将在第2153行添加此选项,缩进以匹配if not shift and not ctrl:行:

elif shift and ctrl: # Insert newline functionality
    cursor = self.textCursor() 
    startpos = cursor.position() # Remember where the cursor is
    self.stdkey_end(False, False) # Go to the end of the line
    self.insert_text(self.get_line_separator()) # Add a newline
    cursor.setPosition(startpos) # Go back to the initial position
    self.setTextCursor(cursor)
现在关闭Spyder,然后重新打开它。在编辑器中尝试ctrl+shift+enter组合,您应该会如您所愿,在所在行的正下方得到一个新行。

如果您不介意重新绑定或删除您自己的Spyder副本中的"Run cell"功能,您甚至可以玩玩并将此代码置于elif ctrl:条件下,然后您将拥有与Sublime Text中一样的ctrl+enter绑定。

这篇关于如何在Spyder中添加新行和键盘快捷键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)