키보드를 사용하여 X 선택 항목을 붙여넣고 싶습니다. 현재 이 작업을 수행하려면 마우스 가운데 버튼을 사용해야 합니다.
나는 가운데 마우스 버튼 누르기를 속이는 것이 매우 쉬울 것이라고 생각했지만 그러한 해결책을 위해서는 마우스 포인터를 텍스트 캐럿 위치로 이동해야 했습니다.
더 좋은 방법이 있나요?
답변1
일부 기본 Linux 설정에서는 Shift+가 Insert실행됩니다 X-selection-paste
. 지적했듯이 이는 X-clipboard-paste
바인딩이 응용 프로그램마다 다른 명령과 크게 다릅니다. 그래도 작동하지 않으면 시도해 볼 수 있는 몇 가지 다른 키가 있습니다.
Ctrl+V
Ctrl+ Shift+V
Ctrl+ Shift+Insert
안 가? 데스크탑 환경이나 창 관리자는 이를 구성하지 않았을 수 있으며, 이는 각 툴킷(예: GTK, Qt 등)이 하나의 DE 또는 WM 배너 아래에서도 서로 다른 기본 바인딩을 가질 수 있기 때문에 복잡합니다. 일부 프로그램(예 gvim
: )에는 실행되는 그래픽 환경과 반드시 동기화되지 않는 내부 복제 레지스터도 있습니다. 결론은 프로그램이 X 클립보드 시스템을 사용하더라도 X에는 선택할 수 있는 여러 시스템이 있다는 것입니다. 가장 기본적인 두 가지는 선택 버퍼(마지막으로 선택한 내용을 항상 포함함(없는 경우 제외))와 복사 버퍼(일반적으로 내용을 구체적으로 복사해야 함)입니다. 후자 시스템에서 명시적 복사본을 만들려면 다음 방법 중 하나를 시도하여 크기를 확인할 수 있습니다.
Ctrl+C
Shift+ Ctrl+C
Ctrl+Insert
이들 중 어느 것도 마법처럼 작동하지 않는 경우 취할 수 있는 두 가지 접근 방식이 있습니다.
이를 위한 앱이 있습니다!™ 이를 처리하려면 다양한 클립보드 관리자 프로그램 중 하나를 사용하십시오. 가장 인기가 많은 것 같아요돌 바위그리고그리피, 하지만 볼 수는 있습니다.다른 옵션은 여기. 이것도 보세요고급 클립보드 관리자에 대한 질문
스스로 깨보세요.
당신이 그것을 해킹하고 싶다고 가정 해 봅시다.
자신만의 코드를 작성하고 X API를 활용하는 것 외에도 이 작업을 위한 해킹 도구는 X에 대한 생각을 들여다볼 수 있는 몇 가지 작은 명령줄 유틸리티입니다. 그것은 단지 작은 창문일 뿐이고 전체 전망이 끔찍하다는 점에 유의하십시오.
첫 번째 도구는 입니다 xsel
. 이 작은 놈은 주어진 시간에 X 선택 버퍼에 있는 모든 것을 뱉어냅니다.
이제 프로그램에 추가해야 합니다. 두 가지 옵션이 있습니다. 하나를 xdotool
사용하면 Xorg 입력 시스템으로 이벤트 전송을 시뮬레이션할 수 있습니다. 당신은 그것을 사용할 수 있습니다유형xdotool type foo_bar
이 방법은 커서에 "foo_bar"를 입력하는 것과 같습니다 . 결합하면 다음과 같은 결과를 얻습니다.
$ xdotool type $(xsel)
다른 하나는 xvkbd
하위 하위 시스템에서 키보드 이벤트를 보내는 것입니다. STDIN을 통해 키 입력을 입력할 수 있습니다. 결합하면 xsel
다음과 같은 결과를 얻을 수 있습니다.
$ xsel | xvkbd -xsendevent -file -
엄청난. 이제 이 작업을 실행하기 위한 키 바인딩을 가져오겠습니다. Gnome-2를 실행하는 경우 다음 위치에 사용자 정의 바로가기를 추가할 수 있습니다.시스템->기본 설정->키보드 단축키. 다른 DE 또는 WM을 사용하는 경우 이 연습의 크기는 독자에게 달려 있습니다.
마지막으로 주목해야 할 점은 명령을 키보드 단축키에 바인딩할 때 위에서 사용한 것처럼 두 개의 명령을 파이프하는 대신 일반적으로 하나의 명령만 필요하다는 것입니다. 다음과 같이 파이프 명령을 새 셸에 대한 명령 문자열 인수로 호출하여 이를 수행할 수 있습니다.
sh -c 'xsel | xvkbd -xsendevent -file -'
sh -c 'xdotool type "$(xsel)"'
답변2
적어도 FreeBSD에서는 일부 GTK 3 설치에서는 Shift+가 제대로 작동하지 않을 수 있습니다. Insert문제는 다음과 같이 설명됩니다.
Shift-Insert는 기본 선택 항목을 붙여넣지 않습니다. 대신 클립보드를 붙여넣어야 합니다(Control-V를 사용했습니다). 따라서 기본 선택 항목을 삽입하는 키보드 전용 방법은 없습니다. 그곳으로 마우스를 끌고 마우스 가운데 버튼을 클릭해야 합니다. 이는 터미널과 GTK 간의 상호작용을 불편하게 만듭니다.
이 글을 쓰는 시점에서 사용 가능한 최신 버그 보고서 및 패치는 다음과 같습니다.
답변3
xdotool click 2
xsel
이는 직접 마우스 클릭을 시뮬레이션하므로 / 를 사용할 필요가 없습니다 xdotool type ...
.
답변4
내 20.04 Alt++ Shift에서 Insert가운데 클릭과 동일하게 붙여넣기