Vim 编辑器 - zsh shell ipython magic %ed 找不到编辑器

2023-12-21

我正在尝试使用 IPython 中的 %ed 魔法来使用 vim 作为编辑器。

  • vim 已安装
  • ipython 和 ipython qtconsole 都可以工作
  • zsh 是最新的,与我的 oh-my-zsh 安装一起更新

我将我的偏好导出到 zsh

$ echo "export EDITOR=/usr/bin/vim" >> ~/.zshrc

$ echo "export VISUAL=/usr/bin/vim" >> ~/.zshrc

但是,当我启动 IPython 然后调用 %ed 魔法时,它失败了

In [1]: %ed
IPython will make a temporary file named: /tmp/ipython_edit_pu4Yql.py
Editing.../bin/sh: 1: mvim: not found
WARNING: Could not open editor

我该如何让它发挥作用?


尝试使用 IPython 的配置文件配置作为指定编辑器的方法。去做这个:

首先,生成默认配置文件:

$ ipython profile create

接下来,找到你的~/.ipython/profile_default/..._config.py要编辑的文件。例如在 IPython 2.4.1 上,

$ vim ~/.ipython/profile_default/ipython_config.py

找到注释掉的.editor设置,取消注释,并将其设置为vim。例如在 IPython 2.4.1 中,这看起来像

c.TerminalInteractiveShell.editor = 'vim'

现在你会发现当你启动IPython时,你可以%ed它会调用 vim:

$ ipython
Python 2.7.11+ (default, Feb 22 2016, 16:38:42)
Type "copyright", "credits" or "license" for more information.

IPython 2.4.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: %ed
IPython will make a temporary file named: /tmp/ipython_edit_Tze8Ur/ipython_edit
_gghQG5.py
Editing... done. Executing edited code...
It works
Out[1]: 'print "It works"\n'

In [2]:

解释

man ipython:

FILES

IPython 使用存储在配置文件中的各种配置文件 IPYTHONDIR。生成默认配置文件并启动 配置 IPython,执行“ipython 配置文件创建”,然后编辑位于 IPYTHONDIR/profile_default 中的“*_config.py”文件。

IPYTHONDIR根据man ipython:

IPYTHONDIR

这是 IPython 存储其所有配置文件的位置。如果未定义 IPYTHONDIR,则默认值为 $HOME/.ipython。

您可以使用以下命令查看 IPYTHONDIR 的计算值ipython locate.

我还提到了版本,因为某些版本的设置似乎有所不同,对于 2.4.1,该设置称为:

c.TerminalInteractiveShell.editor = ...

而在给出的答案中IPython设置文本编辑器 https://stackoverflow.com/questions/17339486/ipython-setting-text-editor,此设置的命名方式不同:

c.IPythonWidget.editor = ...

由于版本之间似乎有所不同,因此在生成默认配置文件后,请检查并查看其在您的 IPython 版本中的编写方式,并进行相应操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vim 编辑器 - zsh shell ipython magic %ed 找不到编辑器 的相关文章

  • Vim:垂直选项卡列表可以吗?

    是否可以让 vim 的选项卡列表垂直显示在编辑器的左侧 这确实很有帮助 但我还没有找到任何可以做到这一点的插件 我对谷歌很烂吗 我同意兰迪关于选项卡使用的观点 但前段时间我也在寻找在 gvim 中添加垂直制表符的可能性 为此 您必须修改源
  • 在 Vim 中移至当前单词的末尾

    通常我使用ea将某些内容附加到单词上 但是 如果光标已经位于单词的最后位置 则此方法不起作用 ea将使光标移动到末尾next word 我很想知道是否有任何移动到末尾的热键current即使光标已经位于单词的最后位置 也会显示单词 Than
  • Vim:无法让病原体加载包

    我在 Stackoverflow 和 github 等上阅读了有关此问题的其他五个问题 但一直无法解决这个问题 此时我完全迷失了 我使用的是 Ubuntu 11 10 和 Vim 7 3 这是我的 vimrc set nocp call p
  • vim 脚本“input()”函数不需要用户按 Enter 键

    我想让用户调用我的函数 然后让该函数请求用户输入 但我不希望用户在输入 input 函数所需的字母后必须输入 enter 例如 用户应该能够键入 h j k l 等单字母命令 并且键入的每个字母都会在我的函数中循环 直到用户键入 x 退出
  • 如何设置 Vim 进行 Android 开发?

    谁能描述一下用于 Android 开发的良好 Vim 设置吗 我现在使用 Eclipse 但我真的很想使用 Vim 因为它更快 而且我更喜欢它 例如 我对 Eclim 不感兴趣 我对使用哪些 Vim 插件 用于 Java 自动完成等 如何
  • vim 中的 python 2 支持

    我正在尝试设置 YouCompleteMe 一个 vim 代码完成插件 当我运行 vim 时 它给我这个错误消息 YouCompleteMe unavailable 需要 python 2 x 我的 ubuntu 机器上安装了正确版本的 p
  • GVIM可以有背景图片吗?

    我想知道是否可以将背景图像放入 gVim 中 这可以通过编程来完成吗 如果你必须的话 我建议你做以下几件事 使用合成窗口管理器 例如 Linux Windows Vista 和 Mac OS 上的 Compiz 可能有类似的工具 设置桌面背
  • 如何将可视选择的文本通过管道传输到 UNIX 命令并将输出附加到 Vim 中的当前缓冲区

    使用 Vim 我尝试将在可视模式下选择的文本通过管道传输到 UNIX 命令 并将输出附加到当前文件的末尾 例如 假设我们有一个 SQL 命令 例如 SELECT FROM mytable 我想做如下的事情
  • C# - 使用 Vim 作为主编辑器 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已经喝了酷乐了 Vim 优雅美丽 我必须学习如何使用它并配置它以拥有一个出色的编译器 这是最好的学习方式 问题是 我从哪里开始 是否有一个很好的教程
  • vim 按语法高亮类型搜索

    我正在将 i18n 添加到现有项目 Web 应用程序 这涉及到用对 i18n 库的调用来替换静态文本的每一位 如果能够搜索该文本 而不是依靠语法突出显示来直观地识别它 将会很方便 在 vim 中 是否可以在文件中搜索特定突出显示类型的出现
  • 如何禁用vim的switch case缩进?

    我目前正在与 Vim 作斗争 我似乎无法让缩进选项达到我想要的效果 这是我的设置 我将它们放在 vimrc 的底部以确保它们优先 正如你所看到的 我有点疯狂 所以我尝试关闭几乎所有的东西 set cindent set cinkeys o
  • 如何从 vim 命令行交互运行 vim 脚本?

    有没有办法从以下位置运行这些脚本 命令行只需敲几下键 在过去的几个月里 我构建了一系列充满 vim 命令的文件 为我的项目自动生成样板代码 它让我工作得更快 但是 我知道如何运行这些脚本的唯一方法是将它们分配给 vimrc 我只能重新映射这
  • 自定义 zsh 在显示上一个命令退出代码时的提示

    Zsh 能够通过使用以下命令在提示中显示上一个命令的返回代码 退出代码 转义序列 不过我想得到以下提示 user host 当退出代码不为 0 且 user host 当退出代码为 0 时 如果我使用 单独它总是显示 即使 是 0 另外我想
  • Vim 自动缩进换行

    我如何让vim将光标放在大括号内以新行开始 即用 表示光标位置 class 现在我的设置只能做到这一点 class 我在 vimrc 文件中得到了这个 设置自动缩进 shiftwidth 2 tabstop 2 noexpandtab 基本
  • 在 Jupyter Notebook 中找不到来自 Conda env 的包

    我创建了一个名为 imagecraper 的环境并用它安装了 pip 然后我继续使用 pip 安装一个名为 ImageScraper 的包 gt gt activate imagescraper imagescraper gt gt pip
  • 在 Atom 中使用氢时出现巨大的 IPKernelApp 错误

    从几天前开始 在几个月没有出现问题之后 我在 Atom 中编辑代码时开始不断弹出一个巨大的错误框 我相信它来自 Hydrogen 插件 奇怪的是即使出现此错误 代码仍然运行并执行我想要的操作 我创建了一个新的 conda 环境 仅安装我需要
  • 如何在IPython Notebook中缓存?

    环境 Python 3 Python 3 2 每次我关闭 IPython 笔记本并重新打开它时 我都必须重新运行所有单元 但有些单元涉及密集计算 相比之下 knitr在 R 中 默认情况下将结果保存在缓存目录中 因此只有新代码和新设置才会调
  • 在vim中查找精确匹配

    Using or 能够在 vim 中找到单词的匹配项 但我怎样才能找到完全匹配的呢 例如 我的文本包含以下单词 a aa aaa aaaa aa我输入 aa这将找到包含模式 aa 的所有字符串 但是如果我想准确找到怎么办aa并不是aaaa
  • 如何在 Vim 中对数字和文字列进行排序

    使用 Vim 6 0 假设我正在编辑这个文件 sdfsdg dfgdfg 34 12 2 4 45 1 34 5 如何对第二列进行排序 如果您有合适的 shell 请选择您的号码并运行命令 lt gt sort n k 2 如果您要在视觉模
  • Vim 中打开 Expandtab 选项时如何插入制表符

    When I m in insert mode and I have the expandtab https vimhelp org options txt html 27expandtab 27 option switched on pr

随机推荐

  • C# string.Substring() 或 string.Remove() [重复]

    这个问题在这里已经有答案了 我想知道使用是否是更好的做法 var a b Substring 6 Or var a b Remove 0 6 哪一个更高效 更快 显然 substring 有更多选项可供选择 但没有什么是 Remove 不能
  • NGINX/JENKINS:您的反向代理设置似乎已损坏

    我已经尝试了至少六个关于如何让 NGINX 与 Jenkins 一起工作的示例 我最近的 NGINX 配置基于以下示例 https wiki jenkins io display JENKINS Running Jenkins behind
  • 删除 Windows 性能计数器类别

    我有一个自定义性能计数器类别 Visual Studio Server Explorer 拒绝删除它 声称它 未注册或属于系统类别 如果不以编程方式执行此操作 如何删除该类别 有我可以删除的注册表项吗 据我所知 有没办法安全地删除它们 除非
  • WCF:System.Net.SocketException - 通常只允许每个套接字地址(协议/网络地址/端口)使用一次

    我有一个 WCF 服务和一个 Web 应用程序 Web 应用程序以连续方式 也称为轮询 调用此 WCF 服务 在我们的生产环境中 我很少收到此错误 因为 这是一个内部活动 用户不知道何时抛出此错误 无法连接到http localhost Q
  • 键转义序列不适用于 tmux

    我一直在使用iTerm2 and vim一阵子 当我需要使用组合键时 我遇到了一些问题 例如CTRL F10 and SHIFT F10里面一个vim会话在里面运行iTerm2 定义键绑定非常简单 例如
  • JavaScript 中的逻辑运算符——如何使用它们?

    我不明白怎么办 and 适用于布尔值和其他数据类型 你如何使用它们 JavaScript 中的所有值要么是 真 要么是 假 a b计算结果为第一个假操作数 a b计算结果为第一个真实操作数 两个运算符都不会计算返回后的任何操作数 如果所有操
  • 永远运行不完的正则表达式

    我写了一个小而朴素的正则表达式 它应该查找括号内的文本 re search r s name 我知道由于某些原因这不是最好的方法 但它运行得很好 我正在寻找的只是一个解释 解释为什么对于某些字符串 这个表达式开始花费指数更长的时间 然后永远
  • Rails 3 - 多个控制器之间共享的代码 - 将其放在哪里?

    我有两个控制器需要一段代码 但不是全部 这个方法属于哪里呢 我读过有关帮助程序的内容 但那些似乎是用于与视图相关的代码 有人提出了 lib 文件夹 但这似乎离控制器逻辑 太远 我在视图或模型中不需要它 有人遇到过此类问题吗 有三个选项 最简
  • 如何让 Gitlab 6.5 在 Apache 2.4 代理下显示其图标?

    我无法修复由 Apache 2 4 代理的 Gitlab 上的图标 我的失败可能是因为我没有使用乘客 乘客提供了自己的一系列更深层次的问题 但我采取了在代理下运行它的所有步骤 gitlab 我也跑了 sudo u git H bundle
  • 如何重写 CursorAdapterbindView

    我正在尝试显示来自Cursor in a ListView 每行包含一个ImageView and a TextView 我有一个CustomCursorAdapter延伸CursorAdapter in bindView我评估来自光标的数
  • 数据仓库 - 具有多对多关系的缓慢变化的维度

    举个例子 假设我有一个包含两个维度和一个度量的事实表 事实货币表 项目密钥 int PersonKey 整数 现金金额 两个维度的定义如下 DimProject 0 型维度 即静态 项目密钥 int 项目名称 varchar 50 DimP
  • Glide 预加载不保存在缓存中

    我想在向用户显示图像之前预加载图像 我有一个 ViewPager 其中每个页面都是一张图像 当活动开始时 它会调用 Glide with this load uri preload 之后 所有图像都被预加载 理论上 为了测试预加载是否有效
  • 编写一个简单的语法解析器

    这就是我想做的 在 Php 中 给定一个字符串 得到如下结果 a b c a 是一个返回 true 或 false 的函数 这应该给b or c打电话后a a b d e c 同样的原则 最终结果应该是d e or c a b d e c
  • 本地模拟器分布式计数器扩展的实现

    firebase 扩展分布式计数器 https firebase google com products extensions firebase firestore counter可以直接安装到云端并且运行良好 要为应用程序开发新功能 我需
  • 更改 netCDF 文件的网格大小

    假设我有 2 个 netCDF 数据文件 其中包含同一区域 如南美洲 非洲等 的数据 但网格大小不同 另一个网格大小为 0 5 度 x 0 5 度 另一个网格大小为 1 0 度 x 1 0 度 我想将其网格大小增加或减少到不同的值 例如 0
  • Android 7.1.1 上的 DatagramSocket 问题

    我在 Android 7 1 1 N MR1 的 QA Google Pixel 上遇到了一个非常奇怪的问题 在建立TCP连接时 我们使用UDP Server和Client进行握手 QA 报告与 Pixel 的握手不起作用 在探索 Logc
  • CSS 中应该使用什么引号? [复制]

    这个问题在这里已经有答案了 可能的重复 我们应该在 css 背景 url 中使用哪种类型的引号 需要单引号 双引号还是不需要引号 https stackoverflow com questions 2034575 which type of
  • 我应该将公钥存储在哪里?

    我的 Web 应用程序有一个持续运行的服务来将报告发送到 ftp 服务器 该文件需要使用公钥进行加密 因此我的问题是我应该在哪里存储公钥 我只有一个公钥 所以使用高级密钥库似乎有点矫枉过正 我应该在服务器上手动创建一个文件夹并将其存储在其中
  • 使用 ASP.NET 请求用户获取 Log4net 日志条目

    我的 ASP NET 站点正在使用集成身份验证并关闭模拟 我已将 username 添加到 web config 中的 conversionPattern 中 以将用户名添加到每个日志记录条目中 但是 这将使用应用程序池标识的用户名 而不是
  • Vim 编辑器 - zsh shell ipython magic %ed 找不到编辑器

    我正在尝试使用 IPython 中的 ed 魔法来使用 vim 作为编辑器 vim 已安装 ipython 和 ipython qtconsole 都可以工作 zsh 是最新的 与我的 oh my zsh 安装一起更新 我将我的偏好导出到