Memutar ulang CTRL-ALT- [C | V] ke CTRL-SHIFT- [C | V] di URxvt> = 9.20


Jawaban:


22

Ekstensi eval yang dikirimkan dengan rxvt-unicode memiliki tindakan paste_clipboard dan selection_to_clipboard untuk ini, yang dapat diikat ke sembarang kunci (lihat di sini ).

Di .Xresourcesadd Anda :

URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard

Untuk menonaktifkan ikatan kunci sebelumnya, Anda juga perlu:

URxvt.keysym.Control-Meta-c: builtin-string:
URxvt.keysym.Control-Meta-v: builtin-string:

Anda dapat memuat ulang file dengan:

xrdb -load .Xresources

Anda harus memulai ulang rxvt agar perubahan diterapkan.


1
ini tidak berfungsi sama sekali sampai saya juga menambahkan atau mengedit ini untuk .Xresources: URxvt.perl-ext-common: default # juga menonaktifkan keycaps sesuai jawaban ini: unix.stackexchange.com/a/444777/8827
marinara

2

Kode mengimplementasikan dua ikatan ini seperti ini:

  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;
    }

Anda tidak dapat menggunakan keysymsumber daya untuk memutar ulang sesuatu yang lain, karena itu hanya memetakan ke string (tidak ada pengubah seperti controldan alt).

Namun, Anda bisa menggunakan ekstensi Perl, yang memiliki metode untuk bekerja dengan pilihan. Tetapi Anda harus menulis skrip Perl untuk mengikatnya.


1

Untuk menggunakan ekstensi eval ( paste_clipboarddan selection_to_clipboard) yang disebutkan dalam jawaban @ Enno Anda dapat menambahkan yang berikut ke .Xresourcesfile Anda :

URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard

Dengan sendirinya, ini tidak benar-benar menjawab pertanyaan. Anda dapat memperbaikinya dengan menjelaskan cara menggunakan .Xresourcesfile untuk mengikat kunci, karena jawaban Enno tidak.
G-Man Mengatakan 'Reinstate Monica'

1

Semua jawaban yang ada menangani bagian kedua dari pertanyaan (bagaimana cara menambahkan keybindings untuk operasi clipboard ke kunci baru), tetapi jangan menjawab bagian pertama (bagaimana membebaskan keybindings asli).

Jawabannya adalah dengan hanya mengikat mereka builtin-string:(jika Anda ingin mereka dikirim kata demi kata; jika tidak, untuk tindakan yang diinginkan). Yaitu, di .Xresources:

URxvt.keysym.C-M-c: builtin-string:

Atau, pada baris perintah:

-keysym.C-M-c builtin-string:
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.