Mouse

如何在 X 終端中配置點兩下行為?

  • September 28, 2016

在不同的 Unix/Linux 系統下,我在 X 終端應用程序(例如 xterm)中觀察到不同的點兩下行為。

有時點兩下會選擇左右所有內容,直到下一個非字母字元(例如,它選擇游標下的單詞)。

有時會選擇下一個空白/eol 之前的所有內容(例如選擇游標下的完整路徑)。

如何在 xterm 中配置點兩下行為(例如,因為它在大多數係統上都可用)?

目前,我發現第二種模式對於大多數案例來說更方便。

你用 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 有一篇關於 X 資源的文章,包括關於 xterm 資源的部分,但這些 xterm 資源並不完整。

引用自:https://unix.stackexchange.com/questions/45925