X 터미널에서 더블 클릭 동작을 구성하는 방법은 무엇입니까?


16

다른 유닉스 / 리눅스 시스템에서 X 터미널 응용 프로그램 (예 : xterm)에서 다른 더블 클릭 동작이 관찰되었습니다.

때때로 두 번 클릭하면 알파벳이 아닌 다음 문자가 나타날 때까지 왼쪽과 오른쪽의 모든 것을 선택합니다 (예 : 커서 아래의 단어를 선택).

때때로 다음 빈 / 올이 선택 될 때까지 모든 것이 선택됩니다 (예 : 커서 아래의 전체 경로가 선택됨).

xterm에서 더블 클릭 동작을 구성하려면 어떻게해야합니까 (대부분의 시스템에서 사용 가능하기 때문에)?

현재 대부분의 사용 사례에서 두 번째 모드가 더 편리하다는 것을 알았습니다.

답변:


19

X 리소스를 사용하여 수행합니다. .Xresources다음 xterm 관련 리소스가 포함 된 파일 이 있습니다.

XTerm*VT100.cutNewLine: false
XTerm*VT100.cutToBeginningOfLine: false
XTerm*VT100.charClass: 33:48,35:48,37:48,42:48,45-47:48,64:48,95:48,126:48

내 .xinitrc파일에는 해당 리소스를 병합하는 줄이 있습니다.

if [ -f $userresources ]; then
    /usr/X11/bin/xrdb -merge $userresources
fi

이 줄은 xterm 더블 클릭과 트리플 클릭으로 내가 좋아하는 것을합니다.

더블 클릭은 "단어"를 고려하여 슬래시 (/), 점 (.), 별표 (*) 및 기타 영숫자가 아닌 문자를 포함합니다. 이것이 "charClass"리소스입니다. 나는 내가 원하는 것을하기 위해 그 charClass와 약간의 지루한 조정을해야했습니다. 이를 통해 대부분 URL과 전체 또는 일부 정규화 된 경로를 두 번 클릭하여 강조 표시 할 수 있습니다.

다른 두 줄은 마우스 아래 단어에서 삼중 클릭을 시작하고 줄 끝으로 이동하지만 새 줄은 포함하지 않습니다. 이렇게하면 방금 실행 한 명령을 세 번 클릭하여 다른 창에 붙여 넣을 수 있으며, 새 줄이 없으므로 다른 창에서 실행하기 전에 편집 할 수 있습니다.

Arch Wiki에는 xterm 리소스에 대한 섹션을 포함하여 X resources에 대한 기사가 있지만 해당 xterm 리소스는 완전하지 않습니다.


1
위키는 유용 할 수 있지만 xterm 리소스에 대해 문의 할 수있는 곳은 매뉴얼 페이지 입니다.
— 토마스 디키

또는을 사용하십시오 XTerm*VT100.charClass: 0-32:0,33-65535:1. 두 번 클릭하면 "단어"는 공백 (및 제어 문자)을 제외한 일련의 기호로 간주됩니다.
— Newtonx

예를 들어 json oneliner에서 따옴표 안에 들어있는 것을 얻으려면 공백 규칙이 좋지 않습니다. 그러나 나는 그것이 당신이 가진 사용법에 달려 있다고 생각합니다. 이 답변에 제공된 스 니펫은 나에게 완벽합니다.
— 장 베르나르 얀센

실수가 있습니다 : cutNewLine-> cutNewline. 아마도 그것은 새로운 버전에서 소개되었을 것입니다.
— x-yuri

1
그리고 onNClicks: regex적어도 더 읽기 쉬운 것 같습니다.
— x-yuri

5

xterm 선택을위한 두 번 및 세 번 클릭과 관련된 몇 가지 리소스 설정이 있습니다 (매뉴얼 페이지에는 모든 관련 리소스가 나열되어 있음).

cutNewline(class CutNewline)
"false"인 경우 줄을 선택하기 위해 세 번 클릭하면 줄 끝에 줄 바꿈이 포함되지 않습니다 . "true"이면 줄 바꿈 이 선택됩니다. 기본값은 "true"입니다.

cutToBeginningOfLine(class CutToBeginningOfLine)
"false"인 경우 줄을 선택하기 위해 세 번 클릭하면 현재 단어 앞으로 만 선택됩니다. "true"이면 전체 줄이 선택됩니다. 기본값은 "true"입니다.

on2Clicks(클래스 On2Clicks)
on3Clicks(클래스 On3Clicks)
여러 마우스 클릭에 대한 응답으로 선택 동작을 지정합니다. 한 번의 마우스 클릭은 항상 선택 기능 섹션에 설명 된대로 해석됩니다 ( POINTER USAGE 참조 ). 여러 마우스 클릭 (선택 시작 동작을 활성화하는 버튼 사용)은 on2Clicks 등의 리소스 값에 따라 해석됩니다. 리소스 값은 다음 중 하나 일 수 있습니다.

word
charClass 자원에 의해 결정된 "단어"를 선택하십시오 . CHARACTER CLASSES 섹션을 참조하십시오 .

line
줄 바꿈을 선택하십시오.

group
인접한 줄 그룹을 선택합니다 (카운팅 계산). 선택은 빈 줄에서 멈추고 현재 페이지 밖으로 확장되지 않습니다.

page
보이는 모든 선, 즉 페이지를 선택하십시오.

all
저장된 라인을 포함하여 모든 라인을 선택하십시오.

regex
자원 값 다음에 오는 정규식에 따라 "단어"를 선택하십시오.

none
이 자원과 연관된 선택 조치가 없습니다. Xterm은이를 목록의 끝으로 해석합니다. 예를 들어, on3Clicks를 "none"으로 설정하여 트리플 (이상) 클릭을 비활성화 할 수 있습니다.

on2Clicks및 의 기본값 on3Clicks은 각각 "word" 및 "line" 입니다. on4Clicks 또는의 기본값은 없어서 on5Clicks비활성화합니다. 시작시 xtermonXClicks 은 설정된 자원 값으로 최대 클릭 수를 결정합니다 .


매뉴얼에서 알 수없는 내용 : 일부 배포판의 경우 기본값은 문서화 된 기본값이 아닙니다. 빈 charClass 자원을 설정하면 문서화 된 기본값이 복원됩니다. charClass에 지정한 것은 무엇이든 지정한 항목 만 덮어 씁니다. 지정되지 않은 항목은 문서화 된 기본값으로 복원됩니다. 적어도 그것이 저에게 효과가있는 것처럼 보입니다.
— Jeff Learman

내가으로 실행 한 후 다음과 같은 값을 제안한다 xterm*on2Clicks: regex [^/@ \n]+, xterm*on3Clicks: regex [^ \n]+, xterm*on4Clicks: regex [^#$]+, xterm*on5Clicks: line. 허용 된 답변보다 더 쉽고 이해하기 쉽습니다.
— x-yuri

두 번째 생각으로, 지금은 두 가지 접근법 중 가장 좋은 방법을 선택하기로 결정했습니다 (최소한 지금은 그것을 이해하는 방식으로). 단어 2 클릭, 단어 3 클릭 ( vim의미, 의미 xterm*on3Clicks: regex [^ \n]+), 복사 4 클릭 쉘 명령 (현재 단어에서 줄의 끝으로, xterm*on4Clicks: line, xterm*cutNewline: false, xterm*cutToBeginningOfLine: false), 전체 라인 5를 누른 상태에서 클릭 ( xterm*on5Clicks: regex [^\n]+).
— x-yuri
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.