如何一次性粘贴多行命令?求助恢复GDB多行命令粘贴功能
解决GDB升级后PuTTY多行粘贴执行问题及通用多行粘贴方法
一次性粘贴多行命令的通用方法
- 对于bash等常规Shell,默认支持粘贴多行后自动逐行执行,换行符会被识别为命令分隔符。
- 交互式程序(如GDB)的多行粘贴行为由程序自身的输入处理逻辑决定,不同版本可能存在差异。
GDB升级后PuTTY多行粘贴失效的Windows端解决方案
GDB 9及以上版本调整了输入处理机制,粘贴的多行内容会被视为单个输入块,需手动回车才执行,而旧版本会逐行立即处理。以下是无需修改Unix端配置的Windows侧解决方法:
方法1:调整PuTTY核心设置
- 打开PuTTY配置窗口,进入 Window → Translation
- 确认Remote character set选择与服务器匹配的编码(推荐UTF-8)
- 勾选 Treat CRLF as LF on paste,确保粘贴时将Windows换行符转换为Unix格式
- 进入 Terminal → Features
- 勾选 Disable application cursor keys mode,避免GDB的特殊输入模式干扰换行识别
方法2:临时调整粘贴行为
- 粘贴前按下 Ctrl+V 激活PuTTY的粘贴模式,再粘贴内容,此时PuTTY会逐行发送命令,模拟手动输入效果
- 右键粘贴时按住 Shift 键,部分PuTTY版本会切换为逐行粘贴模式
方法3:更换终端工具
如果PuTTY设置无法解决问题,可改用Windows Terminal:它对多行粘贴的处理更贴合现代终端逻辑,连接服务器后粘贴多行命令到GDB,默认会逐行执行,无需额外配置。
内容的提问来源于stack exchange,提问作者Gem Taylor
相关产品推荐
相关产品推荐

