从终端复制并粘贴的文本nano
最终会变成这样:
auto host0
iface host0 inet static
address 10.200.0.3
netmask 255.255.255.0
gateway 10.200.0.254
fish
组合外壳 (在我的情况下,但这也发生在) + 编辑器处理行返回的方式显然存在问题bash
。有趣的是,在我上面的示例中,前两行处理正确 (即第一行返回)。
使用相同的文件打开vi
可以进行正常粘贴(文件格式得以保留)。
管理这种行为的设置是什么?
答案1
传统上,粘贴到终端仿真器中只不过是假装用户快速地从键盘上输入给定的字母。结合许多编辑器(例如nano -i
)的自动缩进功能,如果粘贴的(伪“输入的”)文本在每行开头包含空格或 TAB,这显然会导致缩进增加,也就是您看到的所谓的阶梯效果。
避免这种情况的一个可能方法是在粘贴期间禁用自动缩进。请参阅的nano
文档以了解是否可以切换此设置运行时,我不知道。
最近,大多数终端仿真器都引入了“括号粘贴模式”来改善这种情况。这是应用程序(例如vim
,nano
)可能启用的一种特殊模式,指示终端仿真器将粘贴的文本括在特殊控制符号之间。主要意图之一是让文本编辑器在发生这种情况时自动禁用自动缩进,即避免阶梯效应。目前我看不到任何nano
支持此功能的迹象。功能请求已提交这里,也许你可以询问开发人员是否打算解决这个问题。