Answers:
X11使用两个缓冲区:PRIMARY
和CLIPBOARD
。要复制/粘贴到CLIPBOARD
缓冲区中,通常可以使用CTRL-C和CTRL-V。您可以PRIMARY
通过选择文本插入缓冲区,然后按鼠标中键将其粘贴。
如果要使用CLIPBOARD
缓冲区,请将其放入~/.Xresources
文件中,并使用Ctrl+ Shift+ C和Ctrl+ Shift+ 在xterm中V从CLIPBOARD
缓冲区复制/粘贴到缓冲区:
xterm*VT100.Translations: #override \
Ctrl Shift <Key>V: insert-selection(CLIPBOARD) \n\
Ctrl Shift <Key>C: copy-selection(CLIPBOARD)
xrdb ~/.Xresources
将其放入文件后,需要运行。
除非您希望使用键盘来帮助完成此过程,否则无需修改xterm转换资源即可将数据复制到Firefox,或从Firefox复制数据。
自2006年以来, xterm具有一项功能selectToClipboard
,可让您在PRIMARY
选择(标准)和CLIPBOARD
(Firefox等)之间切换。
由于有些程序确实使用了主要选择,有些则没有,因此它是xterm(controlmiddle-mouse)中的菜单项:
适应GNOME应用程序等控制字符的建议,您可以使用键盘,同时使菜单在两种选择之间切换:
xterm*VT100.Translations: #override \
Ctrl Shift <Key>V: insert-selection(SELECT) \n\
Ctrl Shift <Key>C: copy-selection(SELECT)
尽管添加shiftInsert可能更接近原始意图:
xterm*VT100.Translations: #override \
Shift <Key>Insert: insert-selection(SELECT) \n\
Ctrl Shift <Key>V: insert-selection(SELECT) \n\
Ctrl Shift <Key>C: copy-selection(SELECT)
controlC通常将平原分配给信号:INTR
$ stty -a
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
进一步阅读:
xterm
并突出显示要复制的文本。当您突出显示文本时,它将文本复制到您的主缓冲区。请记住,如果在粘贴之前突出显示任何其他文本,则该文本将替换主缓冲区中的先前内容。
事实证明,我没有考虑X11有两个缓冲区的事实:primary和剪贴板。我将xterm中的文本复制到主缓冲区中,而我需要在剪贴板缓冲区中使用它。
我能够通过安装parcellite
软件包,启动它并将其配置为同步两个缓冲区来解决该问题。
xrdb ~/.Xresources
将破坏性地覆盖您的默认配置。改为使用xrdb -merge ~/.Xresources