如何从 kill-ing 中提取文本并将其插入到另一个终端窗口的光标位置?

如何从 kill-ing 中提取文本并将其插入到另一个终端窗口的光标位置?

如果可能的话,如何从一个终端复制文本并将其粘贴/输入到另一个终端而不选择它?

更准确地说,在同一个终端窗口中,我可以通过 删除文本行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

相关内容