ตั้งแต่URxvt
9.20 สามารถคัดลอกข้อความไปยังคลิปบอร์ดด้วยCtrl+ Alt+ C(และวางด้วยCtrl+ Alt+ V)
แต่ฉันใช้การผูกเหล่านี้เพื่อสิ่งอื่นแล้ว
ดังนั้นฉันจะปฏิเสธได้อย่างไรในURxvt
> = 9.20 สู่Ctrl+ Shift+ C(และCtrl+ Shift+ Vสำหรับวาง)?
ตั้งแต่URxvt
9.20 สามารถคัดลอกข้อความไปยังคลิปบอร์ดด้วยCtrl+ Alt+ C(และวางด้วยCtrl+ Alt+ V)
แต่ฉันใช้การผูกเหล่านี้เพื่อสิ่งอื่นแล้ว
ดังนั้นฉันจะปฏิเสธได้อย่างไรในURxvt
> = 9.20 สู่Ctrl+ Shift+ C(และCtrl+ Shift+ Vสำหรับวาง)?
คำตอบ:
ส่วนขยายของ eval ที่จัดส่งมาพร้อมกับ rxvt-unicode มีการกระทำ paste_clipboard และ selection_to_clipboard สำหรับสิ่งนี้ซึ่งสามารถผูกกับ keysym ใด ๆ (ดูที่นี่ )
ในการ.Xresources
เพิ่มของคุณ:
URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
หากต้องการปิดใช้งานการโยงคีย์ก่อนหน้าคุณจะต้อง:
URxvt.keysym.Control-Meta-c: builtin-string:
URxvt.keysym.Control-Meta-v: builtin-string:
คุณสามารถโหลดไฟล์ใหม่ด้วย:
xrdb -load .Xresources
คุณจะต้องรีสตาร์ท rxvt เพื่อให้การเปลี่ยนแปลงมีผล
.Xresources: URxvt.perl-ext-common: default
#also ปิดใช้งานแป้นคีย์ตามคำตอบนี้: unix.stackexchange.com/a/444777/8827
รหัสใช้การผูกสองแบบนี้:
if (ctrl && meta && (keysym == XK_c || keysym == XK_v))
{
if (keysym == XK_v)
selection_request (ev.time, Sel_Clipboard);
else if (selection.len > 0)
{
free (selection.clip_text);
selection.clip_text = rxvt_wcsdup (selection.text, selection.len);
selection.clip_len = selection.len;
selection_grab (CurrentTime, true);
}
return;
}
คุณไม่สามารถใช้keysym
ทรัพยากรให้กับ rebind อย่างอื่นเนื่องจากว่าเพียงแผนที่สตริง (ไม่มีการปรับเปลี่ยนเช่นcontrolและalt)
อย่างไรก็ตามคุณสามารถใช้ส่วนขยาย Perl ซึ่งมีวิธีการทำงานกับตัวเลือก แต่คุณต้องเขียนสคริปต์ Perl เพื่อเชื่อมโยงสิ่งเหล่านั้นเข้าด้วยกัน
หากต้องการใช้ส่วนขยาย eval ( paste_clipboard
และselection_to_clipboard
) ที่กล่าวถึงในคำตอบของ @ Ennoคุณสามารถเพิ่มสิ่งต่อไปนี้ใน.Xresources
ไฟล์ของคุณ:
URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
.Xresources
ไฟล์เพื่อผูกคีย์เนื่องจากคำตอบของ Ennoไม่ได้
ทุกคำตอบที่มีอยู่จัดการกับช่วงครึ่งหลังของคำถาม (วิธีการเพิ่ม keybindings สำหรับการดำเนินงานคลิปบอร์ดคีย์ใหม่) แต่ไม่ได้คำตอบในช่วงครึ่งแรก (วิธีการเพิ่ม keybindings เดิม)
คำตอบก็คือผูกมันไว้กับbuiltin-string:
(ถ้าคุณต้องการให้พวกเขาส่งคำต่อคำ; มิฉะนั้นเพื่อการกระทำที่ต้องการ) เช่นใน.Xresources
:
URxvt.keysym.C-M-c: builtin-string:
หรือบนบรรทัดคำสั่ง:
-keysym.C-M-c builtin-string: