我可以禁止在终端中粘贴换行符吗?

我可以禁止在终端中粘贴换行符吗?

如果这很重要的话,我会在 Mac OS 上使用 ZSH。在 git 中对分支进行手动挑选时,有时我想在git checkout origin/develop --<path>从 gitlab 复制和粘贴的位置输入内容。然而,由于某种原因,有时复制和粘贴功能似乎会失败,但剪贴板上由于某种原因会出现换行符,并且会检查分支。我想阻止这种情况发生。

答案1

这可以通过 iTerm 实现,如下所示。在编程以下内容时,我选择了Ctrl+ Shift+V作为热键,因为它在 Chrome 和其他应用程序中使用“粘贴为纯文本”。

选项 1:删除所有新行

Preferences-> Keys(选项卡)-> +(按钮)-> 操作:Paste...-> Remove newlines(选中复选框)。

选项 1:删除换行符

粘贴以下内容:

asdf
asdf

会导致这样的结果:

asdfasdf

选项 2:通过正则表达式用空格替换新行

Preferences-> Keys(选项卡)-> +(按钮)-> 操作:Paste...-> Replace(选中复选框)并输入以下内容:

(\r\n|\r|\n)-> (空格字符)。

选项 2:通过正则表达式用空格替换新行

粘贴以下内容:

asdf
asdf

结果如下(这是我相对于上面选项 1 的偏好):

asdf asdf

它仍然是安全的(该命令不会执行,但如果有多行,则可读性更强)。

相关内容