- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Emacs 上安装了“elpy/jedi”。并使用 DJJ 提供的定制我现在可以使用 C-c C-RET
将单独的行发送到 python 解释器。下面是自定义
(defun my-python-line ()
(interactive)
(save-excursion
(setq the_script_buffer (format (buffer-name)))
(end-of-line)
(kill-region (point) (progn (back-to-indentation) (point)))
;(setq the_py_buffer (format "*Python[%s]*" (buffer-file-name)))
(setq the_py_buffer "*Python*")
(switch-to-buffer-other-window the_py_buffer)
(goto-char (buffer-end 1))
(yank)
(comint-send-input)
(switch-to-buffer-other-window the_script_buffer)
(yank)
)
(next-line)
)
(eval-after-load "elpy"
'(define-key elpy-mode-map (kbd "C-c <C-return>") 'my-python-line))
上面的代码片段与 DDJ 建议的大部分相同,只是做了一些小的修改,比如将光标移动到下一行和快捷方式。
我想修改行为,以便将光标所在位置到遇到新行的所有行发送到 python 解释器。并且光标位置应该移动到空换行符。这将模仿 Spyder 的行为。
更新 1 因此,在使用以下代码更新我的 .emacs 之后。当我执行像 M-x beginning-of-line
这样的单独语句时,我可以获得期望的结果。 , M-x push-mark
...
但是当我使用键盘快捷键时 C-c <C-return>
它以某种方式评估整个缓冲区。
(defun forward-block (&optional φn)
(interactive "p")
(let ((φn (if (null φn) 1 φn)))
(search-forward-regexp "\n[\t\n ]*\n+" nil "NOERROR" φn)))
(defun elpy-shell-send-current-block ()
"Send current block to Python shell."
(interactive)
(beginning-of-line)
(push-mark)
(forward-block)
(elpy-shell-send-region-or-buffer)
(display-buffer (process-buffer (elpy-shell-get-or-create-process))
nil
'visible))
(eval-after-load "elpy"
'(define-key elpy-mode-map (kbd "C-c <C-return>") 'elpy-shell-send-current-block))
我正在尝试使用此快捷方式的 Python 代码位于下方,光标位于第二个打印语句处。
import os
print("Line 1: Should Execute")
print("Line 2: Should Execute")
print("Line 3: Should Not Execute")
最佳答案
您可以编写一个函数来选择您想要的任何区域并调用 elpy-shell-send-region-or-buffer
来发送它。
这是执行此操作的一段代码。
(defun forward-block (&optional n)
(interactive "p")
(let ((n (if (null n) 1 n)))
(search-forward-regexp "\n[\t\n ]*\n+" nil "NOERROR" n)))
(defun elpy-shell-send-current-block ()
"Send current block to Python shell."
(interactive)
(beginning-of-line)
(push-mark)
(forward-block)
(elpy-shell-send-region-or-buffer)
(display-buffer (process-buffer (elpy-shell-get-or-create-process))
nil
'visible))
关于python - Emacs Python "elpy"向解释器发送代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31957564/
我在 emacs 上安装 elpy 时遇到问题,我使用以下命令编辑 .emacs 文件: (require 'package) (add-to-list 'package-archives
我正在使用 Emacs 24 并尝试使用 elpy 包,但收到错误: “符号的函数定义为空:elpy-enable” (package-initialize) (elpy-enable) (elpy-
首先,如果我的问题很愚蠢,请原谅。但是,我无法解决我遇到的问题。 我将开始一个关于 Python 的项目,并希望使用 Emacs 作为默认编辑器。我想首先设置我的环境以便高效工作。在之前的项目中,我使
我在 Emacs 上安装了“elpy/jedi”。并使用 DJJ 提供的定制我现在可以使用 C-c C-RET将单独的行发送到 python 解释器。下面是自定义 (defun my-python-l
我刚刚更新了 emacs 包 elpy,它设置了以下键绑定(bind): elpy-nav-move-iblock-down elpy-nav-move-iblock-
我正在设置 Emacs 进行 python 开发。 所以我安装了elpy。 但我不喜欢用于缩进的垂直引导线。 如何禁用它或更改其颜色? 最佳答案 您可以通过将以下代码添加到 emacs 初始化中来禁用
我通过从 Melpa 安装 elpy 来设置 Python 代码完成,并且它似乎(大部分)按照广告宣传的那样工作。 但是我希望它也能完成 web2py API,并且我认为实现此目的的最佳方法是使用 w
使用 Mac OSC 10.13.4、emacs 25.3 (9.0)、Python3 我可能有一些 Elpy 自动完成功能适用于 python3,但由于某种原因,并不总是如此。 例如, numpy.
我正在使用 emacs 24.3.1 和 python 2.7,并且成功安装了 elpy 模式。然而不幸的是,尽管自动完成模式已在 python 的缓冲区中安装并激活,但自动完成功能无法正常工作。 具
如何配置 Elpy 以使用安装在 Poetry 项目虚拟环境中的开发依赖项,如 Black、Jedi 和 flake8,而不是系统范围内安装的依赖项? 最佳答案 使用poetry.el Emacs p
这是一次令人沮丧的精妙练习。出于某种原因,我的 python-mode/elpy 缓冲区总是有 intent-tabs-mode nil .我使用的是 python 模式 6.2.3、elpy 1.3
使用 macports pip-2.7 安装 pyflakes 后,我可以使用命令行从 pip 安装目录手动运行它,例如: python /opt/local/Library/Frameworks/P
我最近下载了 Emacs 25.2 以及 Windows 10 上的依赖项。我正在尝试使用 elpy 运行 python 脚本。我创建了一个初始化文件,包括 - (require 'package)
我正在使用带有 elpy 的 emacs 作为处理 python 代码的模式。我还安装了 Jedi,主要是为了两件事:转到它提供的定义功能和自动完成功能。 但是,我在使用此设置时遇到了以下问题: Je
我正在使用 elpy/jedi 来完成代码。正如您在图像中看到的那样,弹出窗口打开时被破坏了。看起来同时打开了两个不同的窗口(第二个窗口可以自动完成吗???)。一个是 python 建议,另一个似乎是
当 pylint 在 Emacs 中检查文件时,我想删除每行 80 个字符的限制(我正在使用 Emacs 的 Elpy 包)。我在 Debian Wheezy 上,我正在使用向后移植的 Emacs24
我是一名优秀的程序员,十分优秀!