Pur*_*ret 12 clipboard newlines
有什么方法可以通过某种过滤器运行您复制到“剪贴板”的任何内容?理想情况下从您复制的内容中删除尾随换行符,以便它不会在终端中自动运行?
这是我复制有问题的测试时的样子,有时我会忘记这是一个新行。
Gil*_*il' 10
好的现代终端支持括号粘贴:当您使用终端的粘贴命令时,它会在剪贴板内容周围发送特殊的转义序列。如果您的 shell 支持括号粘贴,它将按原样粘贴包括任何控制字符在内的剪贴板内容,特别是尾随换行符不会触发命令的执行。
Zsh ?5.1 支持括号粘贴并默认启用它。可以教授旧版本。Bash ?4.4 支持括号粘贴,如果你添加set enable-bracketed-paste on
到~/.inputrc
.
如果您的终端或 shell 不支持括号粘贴,您可以定义一个 shell 函数,该函数在没有尾随换行符的情况下进行粘贴。
在 zsh 中,以下命令调用剪贴板的内容,减去尾随换行符,并将其调出以进行编辑(即使有多行):
print -z -- "`xsel -b`"
Run Code Online (Sandbox Code Playgroud)
在 bash 中,您可以将剪贴板的内容减去尾随换行符推送到历史堆栈。之后,按 调Up出命令进行编辑。
history -s -- "`xsel -b`"
Run Code Online (Sandbox Code Playgroud)
是的,用于cat
粘贴到文件中,做任何你喜欢的事情,然后执行它。
对于本例:
$ cat > tmp
[paste][Ctrl+D]
$ tr -d '\n' <tmp | xclip # this remove all "new line" characters
# and copy back to clipboard
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5609 次 |
最近记录: |