当我在 Linux 系统上运行 X11 时,我遇到的一个常见问题是似乎没有任何用于复制和粘贴的 X11 范围的键盘快捷键。在大多数 Gtk/Qt 应用程序中都可以正常Ctrlc工作Ctrlv,但是当从终端模拟器复制和粘贴时,Ctrlc这Ctrlv不是可行的选择。
某些术语(例如 gnome-terminal)使用CtrlShiftc/等快捷方式v,但这仍然会导致跨应用程序的复制+粘贴体验不一致。
例如,OSX 使用Super/Command键提供可在所有 OSX(无 X11)应用程序中运行的Ctrlc/v快捷方式,并且不会干扰终端仿真器。
有没有办法在 Linux 上的 X11 下获得类似的功能?
答案1
我通过在我的主目录中安装xbindkeys
和设置以下内容最终解决了该问题:.xbindkeysrc
"xclip -selection primary -o | xclip -selection clipboard -i"
mod4+c
"sh -c 'xclip -selection clipboard -o | xvkbd -xsendevent -file - 2>/dev/null'"
mod4+v
这些快捷方式允许我从 urxvt 等终端仿真器将文本复制到 X11 剪贴板,以及从 X11 剪贴板粘贴到终端仿真器。 Qt 应用程序也适用于复制+粘贴。
但是,当使用 Gtk 应用程序(如 Firefox、gedit 等)时,如果我点击 Mod4+V 进行粘贴,它似乎不起作用。如果我按住按键几秒钟然后松开,它就会粘贴得很好。奇怪的。
答案2
我能想到的最简单的解决方案之一是突出显示文本,然后只需单击鼠标中键即可粘贴该文本。但要小心如何执行此操作,通常复制行的末尾是新行,如果您在 shell 中,则可能会导致问题。