GNOMEターミナルでダブルクリック選択境界を設定する文字を指定できますか?


16

GNOMEターミナルでテキストをダブルクリックして選択すると、選択はスペースで停止しますが、ハイフンは続きます:

スペース

ハイフン

私のファイル名の中には、涙の滴のように重いアスタリスクなどの一般的ではない文字が含まれており、ダブルクリックしても選択できません。

珍しいキャラクター

これらのキャラクターに対してもダブルクリック選択を継続する方法はありますか?

回答:


9

[編集]> [プロファイル設定]> [一般]で、[単語による選択]ボックスに文字を追加します。


おかげで、どうして気付かなかったのかわかりません。
エンドリューク

誰でもこれをGNOME全体で行う一般的な方法を見つけましたか?または、各アプリケーションの開発者がワード境界を定義/再定義できますか?関連質問:superuser.com/q/650240/245597
ノヨ

11
少なくともバージョン3.14以降、このオプションは表示されなくなりました。どうすれば今できますか?
ヨアヒムブライトナー14年

私が試したdconf write /org/gnome/terminal/legacy/profiles:/:{your-profile-id}/word-char-exceptions '@ms "-,.;/?%&#_=+@~·:"'が、私が得るすべてがあるerror: Could not connect: Connection refused
cprn

壊れないスペースを機能させることができないようです。ただし、Zestyのmateターミナルのファンキーなアスタリスクでは機能します。
グリンゴサーブ

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

あなたはこのような何かができ@Programsterdconf list /org/gnome/terminal/legacy/profiles:/
AB

ありがとう@alberge私はそれを取ってpythonスクリプトに入れた
Programster

のデフォルト値は何word-char-exceptionsですか?1文字だけ追加できますか?
TorのKlingberg

1

他の端末に実装されている非常に便利なデフォルト機能は、画面上の行の拡張セクションを段階的に選択することです。例えば、与えられた

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

たとえば、filenrin dsr.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ターミナルの設定方法を具体的に尋ねています。
アーンドリューク

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

むしろのように見えるaskubuntu.com/a/725109/158442
muru

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.