l0b*_*0b0 5 keyboard-shortcuts xterm
在如Firefox应用程序Ctrl-Insert和Shift-Insert工作一样Ctrl-c和Ctrl- v(修改二次剪贴板),但在的XTerm他们不喜欢工作,共同Ctrl- Shift-c和Ctrl- -Shiftv:
;5~
在当前提示上逐字打印。我可以解决这个问题.inputrc
吗?到处都有两冲程跨平台剪切和粘贴快捷方式会很好。
meu*_*euh 10
xterm 的约定在 Firefox 甚至 Web 发明之前很多年就已经建立,它由应用程序资源控制。这些是从好几个地方,包括像文件合并/usr/share/X11/app-defaults/XTerm
,并通过与看到的X11服务器也保持信息xrdb -q
。例如,您可以通过在文件中放置以下内容来覆盖这些资源~/.Xdefaults
:
XTerm*VT100.Translations: #override\n\
Shift Ctrl <KeyPress> v: insert-selection(CLIPBOARD)\n\
Shift Ctrl <KeyPress> c: copy-selection(CLIPBOARD)\n
Run Code Online (Sandbox Code Playgroud)
这绑定ctrl-shift-v到插入剪贴板内容。我不清楚您到底想要什么,因此请查看 函数和 PRIMARY、SECONDARY 和 CUT_BUFFER0 选项的手册页。
您大概可以添加(不要忘记前几行的反斜杠):
Shift <Key>Insert: insert-selection(SECONDARY)\n\
Ctrl <Key>Insert: copy-selection(SECONDARY)\n
Run Code Online (Sandbox Code Playgroud)
这类似于如何从 xterm (Awesome、Debian、VirtualBox) 复制文本?,包括部分建议答案。
但是:通过后台,xterm
接收 X 事件(您可以使用 来查看xev
),并以不同的方式处理这些事件:
^[[28;5~
translations
资源的一部分。这是 X Toolkit 库的一个功能,它在xterm 可以看到事件之前出现。在translations
资源中,就是这一行:Shift 插入:插入选择(SELECT, CUT_BUFFER0) \n\
该资源中的关键字SELECT
被 xterm 解释为 PRIMARY 或 CLIPBOARD,具体取决于selectToClipboard
资源(或“选择到剪贴板”菜单项)。顺便说一下,CLIPBOARD 不是次要选择。见2.6.1.2。ICCM 中的SECONDARY Selection用于描述次要选择。
selectToClipboard
您可以通过将其添加到您的$HOME/.Xdefaults
文件(或其他资源文件,甚至使用xrdb
)来启用资源:
xterm*selectToClipboard: true
Run Code Online (Sandbox Code Playgroud)
control
您还可以使用和shift
修饰符(以任一顺序)和键添加翻译insert
。改编一下我在另一个问题中的回答:
xterm*VT100.Translations: #override \
Shift <Key>Insert: insert-selection(SELECT) \n\
Ctrl <Key>Insert: copy-selection(SELECT) \n\
Ctrl Shift <Key>V: insert-selection(SELECT) \n\
Ctrl Shift <Key>C: copy-selection(SELECT)
Run Code Online (Sandbox Code Playgroud)
X Toolkit 中的翻译解析器可以识别关键字的各种拼写。因此与和Key
相同。但这是它知道密钥的唯一方法。KeyPress
KeyDown
Ctrl
control
虽然您可以添加controlC和controlV,但通常不建议这样做,因为这些控制键在您的终端中很有用(默认情况下):
$ 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
Run Code Online (Sandbox Code Playgroud)
进一步阅读: