在python模式下,有一个名为py execute region的函数,它将突出显示的代码区域发送到python缓冲区进行计算。求值后,光标在Python缓冲区中,但我希望它保留在脚本缓冲区中,以便可以继续生成更多代码。我写了一个简单的建议函数:
(defadvice py-execute-region
(after py-execute-region-other-window activate)
""" After execution, return cursor to script buffer """
(other-window 1)
)
但这根本没用。我尝试过其他变体,比如使用'around'而不是'after';将一个变量设置为脚本缓冲区名称,然后弹出缓冲区到该缓冲区等等。没有成功!我想知道这其中的机制对某人来说是否显而易见。。。谢谢!在
你那里的东西对我很好。它应该自动激活,所以不需要单独激活。但是,您确实需要取消激活并重新激活通知才能使更改生效:
1)定义和激活建议
2)它做不到你想要的,所以改变建议
3)停用:(ad deactivate'py execute region)
4)重新激活:(ad activate'py execute region)
第4步应该使用您在第2步中所做的更改。或者,您可以在步骤2中更改代码,然后在步骤4中重新计算代码(假设设置了activate标志)。在
在这种情况下,解决方案似乎是
^{1}$使用around advice将函数包装到
^{1}$save-window-excursion
,这将恢复上一个窗口 命令完成后的配置。在但是请记住,如果Python缓冲区尚未显示, 命令完成后,它仍将被隐藏。为了弥补这一点, 您可以在 结束:
^{pr2}$另外,确保不要在elisp中使用
"""triple quotes"""
。我不 你觉得他们有用。在相关问题 更多 >
编程相关推荐