키보드 단축키를 사용하여 기본 선택 항목(예: 마우스로 선택한 텍스트)에서 붙여넣는 방법은 무엇입니까? Shift+Insert
PRIMARY 또는 CLIPBOARD에서 붙여넣는 경우 응용 프로그램에 따라 일관성이 없습니다.
배경:
Ctrl+C
선택한 텍스트를 클립보드에 복사하고, 마우스 선택 항목도 기본 텍스트에 복사합니다. CLIPBOARD 에서 붙여넣고 Ctrl+V
PRIMARY 에서 붙여넣습니다 mouse-middle-click
.
터미널 에뮬레이터(gnome-terminal)에서 CLIPBOARD에서 붙여넣습니다 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+ 클립보드에서 붙여넣기 - 즉, + 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 운영 체제 1. 이
유일한 예외예 gnome-terminal
. 오랜 논쟁 끝에 개발자들은 (다른 터미널과의 일관성을 유지하기 위해) gnome-terminal
+ 는 PRIMARY에서 붙여넣어야 하고 Shift++ 는 CLIPBOARD에서 붙여넣어야 한다고 결정했습니다 (일부 단축키를 사용자 정의하도록 선택할 수 있음).InsertCtrlShiftV
에 관해서는어떻게선택 항목을 붙여넣기 위해 키보드 단축키를 사용하시나요? 쉬운 방법은 없습니다.
가장 쉬운 방법은 실행 중인 스크립트에 바로가기를 할당하는 것입니다 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
(또는 ~/.gtkrc-2.0
2개의 gtk+
응용 프로그램)에서 구성 옵션을 설정해야 합니다. 개인적으로 사용해본 적은 없지만 반응은 긍정적입니다.
이상적으로는 소스 파일을 패치하고 "paste-selection"
신호를 정의한 다음 Shift+를 대신 Insert에 바인딩할 수 있습니다(위에 링크된 버그 보고서에 첨부됨). 이 작업을 수행하는 방법에 대한 가이드 역할을 할 수 있습니다. 그럼에도 불구하고 이는 애플리케이션에만 영향을 미칩니다(저는 그런 사람이 아니기 때문에 애플리케이션의 동작을 변경하는 방법을 모릅니다 )."paste-selection"
"paste-clipboard"
gtk+
KDE/Qt
Qt
1: (IBM의 CUA는 말할 것도 없고)
답변2
죄송합니다. 평판 문제로 댓글을 쓸 수 없어서 답변으로 글을 남깁니다. 이것은 직접적인 해결책은 아니지만 도움이되었습니다 ...
정보 조합을 사용할 수 있습니다.
자동으로 autocutsel을 시작하고 기본 옵션을 사용하여 CLIPBOARD를 CUTBUFFER와 동기화합니다.(선택사항입니다.) 이 링크는 문제에 대한 정보만 제공합니다.
Clipman GUI를 사용하여 여러 버퍼에 액세스(기본 및 클립보드), 자동 동기화 옵션 없음(양방향 자동 동기화 오류 발생)
그래서 방금 gtk 테마를 선택하고 테마 CSS를 수정하여 클립보드에 복사(Ctrl+Insert)하고 클립보드에 붙여넣기(Shift+Insert) 신호에 필요한 키 바인딩을 갖도록 했습니다.