Вы делаете это с 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 не завершены.
XTerm*VT100.charClass: 0-32:0,33-65535:1
. Двойной щелчок при этом будет рассматривать слово как любую последовательность символов, кроме пробелов (и управляющих символов).cutNewLine
->cutNewline
. Может быть, это было введено в более новых версиях.onNClicks: regex
кажется, по крайней мере, более читабельным.xterm
имеет несколько настроек ресурса, связанных с двойным и тройным щелчком для выбора (на странице руководства перечислены все соответствующие ресурсы):источник
xterm*on2Clicks: regex [^/@ \n]+
,xterm*on3Clicks: regex [^ \n]+
,xterm*on4Clicks: regex [^#$]+
,xterm*on5Clicks: line
. Кажется, лучше и легче понять, чем в принятом ответе.vim
смысле,xterm*on3Clicks: regex [^ \n]+
), 4 клика для копирования команды из оболочки (от текущего слова до конца строки,xterm*on4Clicks: line
,xterm*cutNewline: false
,xterm*cutToBeginningOfLine: false
), 5 нажмите для целых строк (xterm*on5Clicks: regex [^\n]+
).