如果可能的话,如何从一个终端复制文本并将其粘贴/输入到另一个终端而不选择它?
更准确地说,在同一个终端窗口中,我可以通过 删除文本行CTRL-U
,然后通过 删除被删除的行CTRL-Y
。但是,CTRL-Y
在另一个终端窗口甚至另一个终端选项卡中尝试时似乎不起作用。
我在 Arch Linux x86_64 中的 KDE 桌面环境(plasma 5.27.6)中使用 bash 5.1.16、Konosle 终端。
答案1
Kill / Yank 功能不使用系统剪贴板,而是使用 shell 的功能...如果您打算使用^U
和^Y
,那么您需要与系统剪贴板集成(例如:使用xclip
)。
本例使用Meta+ U/ K/ Y,来源:https://stackoverflow.com/a/1088763/1347519
_xdiscard() {
echo -n "${READLINE_LINE:0:$READLINE_POINT}" | xclip
READLINE_LINE="${READLINE_LINE:$READLINE_POINT}"
READLINE_POINT=0
}
_xkill() {
echo -n "${READLINE_LINE:$READLINE_POINT}" | xclip
READLINE_LINE="${READLINE_LINE:0:$READLINE_POINT}"
}
_xyank() {
READLINE_LINE="${READLINE_LINE:0:$READLINE_POINT}$(xclip -o)${READLINE_LINE:$READLINE_POINT}"
}
bind -m emacs -x '"\eu": _xdiscard'
bind -m emacs -x '"\ek": _xkill'
bind -m emacs -x '"\ey": _xyank'
如果您使用tmux
或,您也可以获得类似的功能screen
。