dconf 写入 word-char-exceptions 不生效

dconf 写入 word-char-exceptions 不生效

我使用此命令设置单词字符边界,这样双击时它不会只选择空格之间的整个单词。例如,在 /user/ab/deb 中,当我双击“ab”时,我只想选择 ab,而不是 /user/ab/deb,这就是现在发生的情况。我关注了这里的帖子https://unix.stackexchange.com/questions/174728/gnome-classic-terminal-mouse-double-click-selection

dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/word-char-exceptions '@ms "-#%&+,./:=?@_~"'

我可以在命令行以及 dconf-editor 中看到这些属性:

~>dconf list /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/
default-size-columns
default-size-rows
use-theme-transparency
scroll-on-output
visible-name
word-char-exceptions

但该值没有生效,双击仍然选择空格之间的整个单词,而不是提到的字符。我重新启动了终端等。

答案1

@ms 变量的问题在于它可能具有逆逻辑。对我来说,dconf 有效。因此,以下是我控制双击选择的命令:

UUID=$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d \')
dconf write /org/gnome/terminal/legacy/profiles:/:${UUID}/word-char-exceptions "@ms '_.^~'"

在 Ubuntu 20.04.5 LTS。

答案2

dconf 方法似乎不再适用于 Ubuntu 20.x LTS 和其他版本。这对我来说有效:

UUID=$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d \')
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:${UUID}/ word-char-exceptions '@ms "-/@_&.?"'   

相关内容