经常使用 Codex Cli 的同学肯定遇到过标题的问题,我搜到的最简单的解决方案是使用 Shift + Insert 粘贴文本,但是 [无效] 。
通常是:
C:\Program Files\Notepad++\notepad++.exe
或者:
C:\Program Files (x86)\Notepad++\notepad++.exe
先在 PowerShell 执行:
Test-Path "C:\Program Files\Notepad++\notepad++.exe"
如果返回:
True
就使用这个路径。
不要直接永久配置,先测试。
在启动 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 场景设计的。
-multiInstNotepad++ 官方支持 -multiInst,它会启动一个新的 Notepad++ 实例。
所以我建议最终使用:
"C:\Program Files\Notepad++\notepad++.exe" -multiInst -nosession
这里:
-multiInst:单独启动一个 Notepad++ 实例-nosession:不加载之前的 session这样 Codex 每次 Ctrl+G 都不会污染你正在使用的 Notepad++ 工作区。
确认上面的临时测试成功后,执行:
[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 。
执行:
$env:VISUAL
应该显示:
"C:\Program Files\Notepad++\notepad++.exe" -multiInst -nosession
再执行:
$env:EDITOR
应该也是:
"C:\Program Files\Notepad++\notepad++.exe" -multiInst -nosession
然后:
codex
进入 Codex 。
在 Codex 输入框里先随便输入:
这是一个测试 Prompt 。
第二行。
第三行。
这里是一段很长的测试内容。
然后按:
Ctrl + G
Notepad++ 应该打开,并出现刚才的完整 Prompt 。
你可以在 Notepad++ 中:
然后保存并关闭这个 Notepad++ 窗口。
Codex 会重新获得编辑后的内容,然后回到输入框。
最后:
Enter
提交。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.