如何通过 edit-in-kitty 运行文本编辑器,同时保留 rc 文件中设置的环境?

如何通过 edit-in-kitty 运行文本编辑器,同时保留 rc 文件中设置的环境?

问题

我正在尝试获取edit-in-kitty命令在我的本地工作站上工作(还没有通过 SSH),但环境变量(通常在获取 shell 的 rc 文件时导出)似乎在执行此命令时不会传递到子进程。这会在启动编辑器时导致许多错误。

更具体地说,编辑器是 Vim,我面临的问题示例包括:

  • 全局变量g:colors_name是根据环境变量的值设置的BASE16_THEME(在我的 shell 的 rc 文件中设置),如果没有它,某些插件的主题就无法应用。
  • 某些插件正在 my 中寻找可执行文件PATH,但失败了,因为PATHVim 可见的只是系统范围PATH( /usr/bin:/bin:/usr/sbin:/sbin)。

我非常确定它edit-in-kitty确实收到了完全填充的环境执行期间,因为它运行我的手动安装Vim 版本而不是操作系统附带的版本,这正是我所期望的。对我来说,环境似乎变得干净了在启动编辑器之前

成分:

  • 小猫0.25.2
  • zsh 5.8.1
  • Vim 9.0(macOS 版本,MacVim 的一部分)

我尝试过的

我设置了env选项在我的 kitty 配置中明确显示env BASE16_THEME=default-dark,并且可以确认当我运行时它会转移到 Vim 中edit-in-kitty

PATH以同样的方式设置,例如 via env PATH=/custom/bin:${PATH},肯定也会起作用。

问题

上面的方法对我来说不太方便,因为环境在很大程度上取决于我的 shell 的配置,而该配置因系统而异。自从小猫运行 shell 来评估其环境,有没有办法指示它在启动文本编辑器时保留此环境?

答案1

关于 edit-with-kitty 的 kitty 页面问题中链接到的内容提到它接受与启动命令相同的参数,记录在案这里

它有一个--copy-env选项可以保留启动它的 shell 的环境变量。

相关内容