我可以指定哪些字符设置GNOME终端中的双击选择边界吗?


16

当我双击以在GNOME终端中选择文本时,选择在空格处停止,但在连字符上方继续:

空格

连字号

我的某些文件名包含不常见的字符,例如沉重的泪滴状星号,并且无法通过双击进行选择:

不寻常的字符

是否有办法使双击选择也继续作用于这些字符?

Answers:


9

在“编辑>配置文件首选项>常规”中,将该字符添加到“按字选择字符”框中。


谢谢,我不知道我怎么没注意到。
ændrük

有没有人找到在GNOME范围内执行此操作的一般方法?还是由每个应用程序的开发人员来定义/重新定义字边界?相关问题:superuser.com/q/650240/245597
Noyo

11
至少从版本3.14开始,此选项已消失。我们现在该怎么办?
Joachim Breitner 2014年

我尝试过,dconf write /org/gnome/terminal/legacy/profiles:/:{your-profile-id}/word-char-exceptions '@ms "-,.;/?%&#_=+@~·:"'但得到的只是error: Could not connect: Connection refused
cprn

似乎无法获得不间断的工作空间。但是,它确实可以与Zesty的配对终端上的时髦星号一起使用。
Gringo Suave

16

[添加一个答案,因为被接受的答案不再起作用。]

脚本

我将其放到脚本中以设置单词分隔符:

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”)。


谢谢,这正是我所需要的:。您是否可以编写命令来自动获取默认或当前配置文件,因此我不必手动查找我的配置文件ID即可在将来运行该命令?这样,我可以在全新安装上运行该脚本。
Programster

@Programster您可以使用dconf list /org/gnome/terminal/legacy/profiles:/
AB

谢谢@alberge,我把它放在了一个python脚本中
Programster

的默认值是多少word-char-exceptions,所以我只能添加一个字符?
Tor Klingberg

1

在其他终端中实现的一个非常有用的默认功能是在屏幕上逐步选择一行的扩展部分。例如,给定

/home/username/dir1_r.2-3/dsr.filenr_34.ctr 23456677 dftrprpr

双击,比方说,filenrdsr.filenr_34.ctr会从进步filenr到:

                              filenr_34
                          dsr.filenr_34.ctr
                       -3/dsr.filenr_34.ctr
                      2-3/dsr.filenr_34.ctr
                    r.2-3/dsr.filenr_34.ctr
               dir1_r.2-3/dsr.filenr_34.ctr
      username/dir1_r.2-3/dsr.filenr_34.ctr
 home/username/dir1_r.2-3/dsr.filenr_34.ctr
 home/username/dir1_r.2-3/dsr.filenr_34.ctr 23456677
 home/username/dir1_r.2-3/dsr.filenr_34.ctr 23456677 dftrprpr
/home/username/dir1_r.2-3/dsr.filenr_34.ctr 23456677 dftrprpr

可以通过添加对直到下一级定界符来解决周围的对称性。

当然,应该为用户提供更改默认值的选项。


1
对答案没有评论,但尝试以更好的方式设置它的格式,以便人们更快地理解它。如果要逐步列出它,请使用编号。
VedVals

谢谢,但我认为这不适用于我的问题。我是专门问如何配置GNOME终端。
ændrük

1

其他答案今天不起作用...这适用于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


0

扩展@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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.