URxvt에서 CTRL-ALT- [C | V]를 CTRL-SHIFT- [C | V]로 리 바인딩> = 9.20


16

이후 URxvt에 9.20, 텍스트가 클립 보드에 복사 할 수 있습니다 Ctrl+ Alt+ C(도에 붙여 넣을 Ctrl+ Alt+ V).

그러나 이미 다른 바인딩에 이러한 바인딩을 사용하고 있습니다.

그렇다면 어떻게 URxvt== 9.20에서 Ctrl+ Shift+ C(및 Ctrl+ Shift+ V붙여 넣기)로 리 바인드 할 수 있습니까?


답변:


22

rxvt-unicode와 함께 제공되는 eval 확장 프로그램에는 paste_clipboard 및 selection_to_clipboard 작업이 있으며 이는 모든 키심에 바인딩 될 수 있습니다 ( 여기 참조 ).

당신의 .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를 다시 시작해야합니다.


1
나는 또한 추가하거나이 편집 때까지이 전혀 일을하지 않았다 .Xresources: URxvt.perl-ext-common: default 이 답변에 따라 #also 해제 키캡 : unix.stackexchange.com/a/444777/8827
마리를

2

코드는 다음과 같이이 두 바인딩을 구현합니다.

  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때문에, 다른 뭔가를 리 바인드 자원을 문자열 만에 매핑 (예 : 더 수정을 control하고 alt).

그러나 선택 작업을위한 방법이있는 Perl 확장을 사용할 수 있습니다. 그러나이를 묶으려면 Perl 스크립트를 작성해야합니다.


1

@Enno의 답변에 언급 된 eval 확장명 ( paste_clipboardselection_to_clipboard) 을 사용하려면 파일에 다음을 추가 하십시오..Xresources

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

그 자체로는 이것이 실제로 질문에 대답하지 않습니다. Enno의 대답 은 그렇지 않기 .Xresources때문에 파일을 사용 하여 키를 바인딩 하는 방법을 설명하여 파일을 향상시킬 수 있습니다 .
G-Man, 'Reinstate

1

기존의 모든 답변은 질문의 후반부 (클립 보드 작업에 대한 키 바인딩을 새 키에 추가하는 방법)를 처리하지만 전반부에는 대답하지 않습니다 ( 원래 키 바인딩 을 해제 하는 방법 ).

대답은 단순히 그것들을 묶는 것입니다 builtin-string:(만약 당신이 그것들을 구두로 보내려면, 그렇지 않으면, 원하는 행동으로). 즉 .Xresources:

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

또는 명령 행에서 :

-keysym.C-M-c builtin-string:
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.