答案1
[由于接受的答案不再有效,因此添加答案。]
脚本
我将其放在一起编写一个脚本来设置单词分隔符:
https://github.com/ab/ubuntu-wart-removal/blob/master/gnome-terminal-word-separators.sh
背景
GNOME 终端在这个问题上已经多次改变主意。
此配置功能已在 gnome-terminal 3.14 中删除(包含在 Ubuntu 15.04 Vivid 中)
然后在 gnome-terminal 3.16(包含在 Ubuntu 15.10 Wily 中)中,该选项在后台重新引入,但没有 UI。此外,冒号:
被改为被视为单词分隔符。
使用 dconf 编辑
根据这些说明,您可以使用 dconf 配置该集合:https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1401207/comments/8
我喜欢使用-#%&+,./:=?@_~
非单词分隔符集。
请注意,那里的冒号是 /crazy/。是的,那里有 :/:。
1) 编辑 -> 个人资料偏好设置 -> 个人资料上的“常规”选项卡有其个人资料 ID,例如 b1dcc9dd-5262-4d8d-a863-c897e6d979b9
2)使用以下命令检查语法是否正确:
$
dconf list /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ foreground-color visible-name palette use-system-font ...
如果它没有返回任何内容,那你就错了;再试一次。
3)
dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/word-char-exceptions '@ms "-#%&+,./:=?@_~"'
具体来说,这里面有“:”,这使得它像我预期的那样选择 URL。(http://example.com没有选择“//example.com”)。
答案2
在“编辑 > 个人资料首选项 > 常规”中,将字符添加到“按单词选择字符”框中。
答案3
其他答案今天不起作用...这在 ubuntu 18.04 上有效...首先识别你的 UUID gnome 终端配置文件 id...在终端中发出此
profile=$(gsettings get org.gnome.Terminal.ProfilesList default)
echo $profile # for me it gives b1dcc9dd-5262-4d8d-a863-c897e6d97969
现在做出改变:
dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d97969/word-char-exceptions '@ms "-,.;?%&#_+@~·$/"'
直到 ubuntu 18.04 修复后,以下读取命令才会静默失败,而在 ubuntu 16.04 上运行良好
dconf read /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/word-char-exceptions
答案4
扩展@alberge 的答案,您可以执行以下python3
脚本来更改所有配置文件以执行此操作:
#!/usr/bin/python3
import subprocess
command = ["dconf", "list", "/org/gnome/terminal/legacy/profiles:/"]
result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
profiles = result.stdout.split('\n')
for profileString in profiles:
if profileString.startswith(":"):
changeCmdPart = "/org/gnome/terminal/legacy/profiles:/" + profileString + "word-char-exceptions"
changeCmd = ["dconf", "write", changeCmdPart, '@ms "-#%&+,./:=?@_~"']
subprocess.run(changeCmd)
print("done!")
或者你也可以直接执行:
curl -s http://scripts.programster.org/scripts/5?output=raw | python3