经常使用Codex Cli的朋友,想必都遇到过标题所说的问题:将多行提示词复制到输入框时,内容容易显示不完整。我之前也搜索过一个看起来最简单的方法,就是使用Shift + Insert粘贴文本,但实际测试后发现【并不奏效】。

我目前输入多行文本的方式如下:
- 在 PowerShell / Windows Terminal 中输入【codex】,进入 Codex Cli 环境
- 按下【ctrl + G】,打开 notepad++,
- 输入提示词内容,按【ctrl+s】保存后退出 notepad++,提示词会自动回到 Codex cli。
配置方法
1. 先找到 Notepad++ 路径
常见安装路径通常是:
C:Program FilesNotepad++notepad++.exe
或者:
C:Program Files (x86)Notepad++notepad++.exe
先在 PowerShell 中执行:
Test-Path "C:Program FilesNotepad++notepad++.exe"
如果返回:
True
说明可以直接使用这个路径。
2. 先临时配置测试
不要一开始就做永久配置,建议先临时测试是否可用。
在启动 Codex 的 PowerShell 窗口中执行:
$env:VISUAL='"C:Program FilesNotepad++notepad++.exe" -multiInst -nosession' $env:EDITOR='"C:Program FilesNotepad++notepad++.exe" -multiInst -nosession'
然后执行:
codex
进入 Codex 后,按下:
Ctrl + G
此时应该会弹出一个 Notepad++ 窗口。
实际上,Codex 的外部编辑器功能本身就是为这类长 Prompt、多行提示词编辑场景准备的。
3. 更推荐:使用-multiInst
Notepad++ 官方支持-multiInst参数,使用后可以启动一个全新的 Notepad++ 实例。
因此我更建议最终使用:
"C:Program FilesNotepad++notepad++.exe" -multiInst -nosession
这里:
-multiInst:单独启动一个 Notepad++ 实例-nosession:不加载之前的 session
这样一来,Codex 每次按 Ctrl+G 时,都不会影响你当前正在使用的 Notepad++ 工作区,更适合长期使用。
4. 设置永久环境变量
确认上面的临时测试成功后,再执行:
[Environment]::SetEnvironmentVariable(
"VISUAL",
'"C:Program FilesNotepad++notepad++.exe" -multiInst -nosession',
"User"
)
[Environment]::SetEnvironmentVariable(
"EDITOR",
'"C:Program FilesNotepad++notepad++.exe" -multiInst -nosession',
"User"
)
然后彻底关闭当前 PowerShell / Windows Terminal。
接着重新打开一个 PowerShell 窗口。
5. 验证环境变量
执行:
$env:VISUAL
正常情况下会显示:
"C:Program FilesNotepad++notepad++.exe" -multiInst -nosession
再执行:
$env:EDITOR
应该同样显示:
"C:Program FilesNotepad++notepad++.exe" -multiInst -nosession
然后执行:
codex
重新进入 Codex。
6. 测试 Ctrl+G
先在 Codex 输入框中随便输入一段多行内容,例如:
这是一个测试 Prompt。 第二行。 第三行。 这里是一段很长的测试内容。
然后按下:
Ctrl + G
此时 Notepad++ 应该会打开,并且显示刚才输入的完整 Prompt 内容。
你可以在 Notepad++ 中:
- 修改内容
- 粘贴几百行 Markdown
- 使用查找/替换
- 编辑代码
- 继续优化 Prompt
然后保存并关闭这个 Notepad++ 窗口。
Codex 会自动重新获取编辑后的内容,并回到输入框中。
最后执行:
Enter
提交即可。
