
키보드 단축키를 사용하여 기본 선택 항목(예: 마우스로 선택한 텍스트)에서 붙여넣으려면 어떻게 해야 합니까? Shift+Insert
응용프로그램에 따라 PRIMARY 또는 CLIPBOARD에서 일관되지 않게 붙여넣습니다.
배경:
Ctrl+C
마우스 선택이 PRIMARY에 복사되는 동안 선택한 텍스트가 CLIPBOARD에 복사됩니다. 를 사용하여 CLIPBOARD에서 붙여넣고 Ctrl+V
를 사용하여 PRIMARY에서 붙여넣습니다 mouse-middle-click
.
터미널 에뮬레이터(gnome-terminal)에서 Ctrl+Shift+V
. (정지와 함께 PRIMARY의 붙여넣기 mouse-middle-click
)
키보드 단축키를 사용하여 PRIMARY에서 붙여넣고 싶습니다. gnome-terminal에서는 이지만 Shift+Insert
gedit 및 Firefox에서는 Shift+Insert
CLIPBOARD에서 붙여넣습니다. CLIPBOARD에서 일관되게 붙여넣는 단축키와 PRIMARY에서 일관되게 붙여넣는 다른 단축키를 원합니다.
xmonad 및 Firefox 34.0과 함께 Ubuntu 14.04를 실행하고 있습니다.
답변1
말씀하신 앱은 모두 gtk+
앱이므로 답변이 매우 쉽습니다.왜... 왜냐면모두 gtk+
앱(하나만 빼고), Shift+ CLIPBOARD에서 붙여넣기 - 즉, + Insert와 동일합니다 . 바로가기가 하드코딩되어 있습니다.CtrlVgtkentry.c
(라인 2022) 및gtktextview.c
(라인 1819):
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_SHIFT_MASK,
"paste-clipboard", 0);
이는 다음에도 문서화되어 있습니다.GTK+ 3 참조 매뉴얼아래에GtkEntry
:
The “paste-clipboard” signal
void
user_function (GtkEntry *entry,
gpointer user_data)
The ::paste-clipboard signal is a keybinding signal which gets emitted
to paste the contents of the clipboard into the text view.
The default bindings for this signal are Ctrl-v and Shift-Insert.
내가 아는 한 이는 다른 DE와의 일관성을 위해 수행되었습니다( KDE
의 Qt
키 바인딩 참조).QTextEdit Class
) 및 Windows OS 1 .
그만큼유일한 예외이다 gnome-terminal
. 오랜 논쟁 끝에 개발자들은 (다른 터미널과의 일관성을 위해) 에서 +는 PRIMARY에서 붙여넣어야 하고 ++는 CLIPBOARD에서 붙여넣어야 한다고 결정했습니다 gnome-terminal
( Shift일부 Insert단축키 Ctrl를 Shift사용자 V정의할 수 있는 옵션이 있음에도 불구하고).
에 관해서어떻게키보드 단축키로 선택 항목을 붙여넣으시나요... 간단한 방법은 없습니다.
가장 쉬운 방법은 실행되는 스크립트에 바로가기를 할당하는 것입니다 xdotool click 2
(마우스 가운데 버튼 클릭을 시뮬레이션). 이것이 작동하는 동안(모든 또는 대부분의 DE 및 툴킷에서 작동해야 함) 마우스 커서가 실제로 텍스트 입력 상자 위에 있는 경우에만 작동하고 그렇지 않으면 실패합니다.
상대적으로 쉬운 또 다른 방법은 시스템에서 사용 가능한 경우 Gnome 접근성을 이용하는 것입니다. 또한 숫자 패드가 필요합니다. 이동Universal Access
>>Pointing & Clicking
활성화합니다 Mouse Keys
. NumLock
꺼져 있는지 확인하세요 . 그런 다음 숫자 패드 키를 사용하여 커서를 이동하고 클릭할 수 있습니다. 마우스 가운데 버튼 클릭을 시뮬레이션하려면 *별표를 누른 후 놓습니다 5(여기에 짧은 설명이 있습니다).가이드). 이 솔루션은 항상 다음과 같은 상황에서 작동하는 것 같습니다.gtk+
환경에서 작동하는 것 같습니다. 단점은 Gnome Accessibility
숫자 패드가 필요하다는 것입니다. 또한 바로가기를 사용자 정의할 수 없습니다.
흥미로운 해결책이 제안되었습니다.gnome-bugzilla(버그 643391). (업데이트 2018: 이제 문제가 이동되었습니다.여기.) 일부 소스 파일을 패치하고 ~/.config/gtk-3.0/gtk.css
(또는 2개의 앱 ~/.gtkrc-2.0
에 대해 gtk+
) 구성 옵션을 설정해야 합니다. 직접 사용해본 적은 없지만 반응은 긍정적입니다.
이상적으로는 소스 파일을 패치하고 "paste-selection"
신호를 정의한 다음 Shift+ 대신 Insert에 바인딩하는 것입니다 . Andy의 코드(위에 링크된 버그 보고서에 첨부됨)는 이를 수행하는 방법에 대한 가이드 역할을 할 수 있습니다. 그렇더라도 이는 앱에만 영향을 미칩니다. (저는 남자가 아니기 때문에 앱 동작을 변경하는 방법을 모릅니다 .)"paste-selection"
"paste-clipboard"
gtk+
KDE/Qt
Qt
1: (IBM의 CUA는 말할 것도 없고)
답변2
죄송합니다. 평판이 좋지 않아 댓글을 쓸 수 없어서 답변으로 씁니다. 직접적인 해결책은 아니지만 도움이 됩니다...
다음과 같은 정보 조합을 사용할 수 있습니다.
CLIPBOARD를 CUTBUFFER에 동기화하기 위한 기본 옵션을 사용하여 자동 절단 자동 시작(이것은 선택 사항입니다). 이 링크는 문제에 대한 정보만을 제공합니다.
여러 버퍼에 GUI에 액세스하려면 Clipman을 사용하세요.(PRIMARY 및 CLIPBOARD), 자동 동기화 선택 없음(양방향 자동 동기화가 잘못됨)
그래서 gtk 테마를 선택하고 테마 CSS를 클립보드 복사(Ctrl+Insert) 및 클립보드 붙여넣기(Shift+Insert) 신호에 필요한 키 바인딩으로 수정했습니다.