经常使用 Codex Cli 的同学肯定遇到过标题的问题,我搜到的最简单的解决方案是使用 Shift + Insert 粘贴文本,但是【无效】。

我目前的输入多行文本方式:

  1. PowerShell / Windows Terminal下,键入【codex】,进入Codex Cli 环境
  2. 键入【ctrl + G】,打开 notepad++,
  3. 输入提示词,【ctrl+s】保存,退出 notepad++,提示词自动回到了 Codex cli。

配置方法:

1. 先找到 Notepad++ 路径

通常是:

C:\Program Files\Notepad++\notepad++.exe

或者:

C:\Program Files (x86)\Notepad++\notepad++.exe

先在 PowerShell 执行:

Test-Path "C:\Program Files\Notepad++\notepad++.exe"

如果返回:

True

就使用这个路径。


2. 先临时配置测试

不要直接永久配置,先测试。

在启动 Codex 的 PowerShell 中执行:

$env:VISUAL='"C:\Program Files\Notepad++\notepad++.exe" -multiInst -nosession'
$env:EDITOR='"C:\Program Files\Notepad++\notepad++.exe" -multiInst -nosession'

然后:

codex

进入 Codex 后:

Ctrl + G

应该会打开一个 Notepad++ 窗口。

Codex 的外部编辑器功能本身就是针对这种长 Prompt 场景设计的。


3. 更推荐:使用 -multiInst

Notepad++ 官方支持 -multiInst,它会启动一个新的 Notepad++ 实例。

所以我建议最终使用:

"C:\Program Files\Notepad++\notepad++.exe" -multiInst -nosession

这里:

  • -multiInst:单独启动一个 Notepad++ 实例
  • -nosession:不加载之前的 session

这样 Codex 每次 Ctrl+G 都不会污染你正在使用的 Notepad++ 工作区。


4. 设置永久环境变量

确认上面的临时测试成功后,执行:

[Environment]::SetEnvironmentVariable(
    "VISUAL",
    '"C:\Program Files\Notepad++\notepad++.exe" -multiInst -nosession',
    "User"
)

[Environment]::SetEnvironmentVariable(
    "EDITOR",
    '"C:\Program Files\Notepad++\notepad++.exe" -multiInst -nosession',
    "User"
)

然后彻底关闭当前 PowerShell / Windows Terminal

重新打开一个 PowerShell。


5. 验证环境变量

执行:

$env:VISUAL

应该显示:

"C:\Program Files\Notepad++\notepad++.exe" -multiInst -nosession

再执行:

$env:EDITOR

应该也是:

"C:\Program Files\Notepad++\notepad++.exe" -multiInst -nosession

然后:

codex

进入 Codex。


6. 测试 Ctrl+G

在 Codex 输入框里先随便输入:

这是一个测试 Prompt。

第二行。

第三行。

这里是一段很长的测试内容。

然后按:

Ctrl + G

Notepad++ 应该打开,并出现刚才的完整 Prompt。

你可以在 Notepad++ 中:

  • 修改
  • 粘贴几百行 Markdown
  • 使用查找/替换
  • 编辑代码
  • 调整 Prompt

然后保存并关闭这个 Notepad++ 窗口

Codex 会重新获得编辑后的内容,然后回到输入框。

最后:

Enter

提交。


原文地址: https://www.cveoy.top/t/topic/qHmi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录