GNOME Terminalinde çift tıklama seçim sınırını hangi karakterleri ayarladığını belirtebilir miyim?


Yanıtlar:


9

"Düzenle> Profil Tercihleri> Genel" bölümünde, karakteri "Kelime karakter seç" kutusuna ekleyin.


Teşekkürler, bunu nasıl fark etmediğimi bilmiyorum.
ændrük

Herkes bunu GNOME çapında yapmak için genel bir yol buldu mu? Yoksa kelime sınırları her uygulamanın geliştiricilerine kadar tanımlanacak / yeniden tanımlanacak mı? İlgili soru: superuser.com/q/650240/245597 .
Noyo

11
En azından 3.14 sürümünden beri, bu seçenek kayboldu. Şimdi nasıl yapabiliriz?
Joachim Breitner

Denedim dconf write /org/gnome/terminal/legacy/profiles:/:{your-profile-id}/word-char-exceptions '@ms "-,.;/?%&#_=+@~·:"'ama tüm aldığımerror: Could not connect: Connection refused
cprn

Çalışmak için kırılmaz alan elde edemiyor gibi görünüyor. Ancak Zesty'den dost terminalindeki korkak yıldız ile çalışır.
Gringo Suave

16

[Kabul edilen yanıtın artık işe yaramadığından beri bir yanıt eklemek.]

Senaryo

Bu sözcük ayırıcıları ayarlamak için bir komut dosyası içine koymak:

https://github.com/ab/ubuntu-wart-removal/blob/master/gnome-terminal-word-separators.sh

Arka fon

GNOME Terminal bu konuda birkaç kez flip flopped.

Bu yapılandırma özelliği gnome terminali 3.14'te kaldırıldı (Ubuntu 15.04 Vivid dahil)

Daha sonra gnome terminali 3.16'da (Ubuntu 15.10 Wily'ye dahil), seçenek kaputun altına yeniden sokuldu, ancak UI olmadan. Ek olarak, kolon :sözcük ayırıcı olarak muamele görecek şekilde değiştirildi.

Dconf ile düzenleme

Bu talimatlara göre, seti dconf kullanarak yapılandırabilirsiniz: https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1401207/comments/8

-#%&+,./:=?@_~Sözcük ayırıcı olmayan kümeler olarak kullanmayı seviyorum .

Orada iki nokta üst üste kullanımı / deli / olduğunu unutmayın. Evet, orada: /: var.

1) düzenle -> profil tercihleri ​​-> profilinizdeki Genel sekmesinin Profil Kimliği vardır, örneğin b1dcc9dd-5262-4d8d-a863-c897e6d979b9

2) sözdiziminin doğru olup olmadığını kontrol edin:

$ dconf list /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ foreground-color visible-name palette use-system-font ...

Hiçbir şey döndürmezse, yanlış anladınız; Tekrar deneyin.

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

Özellikle, bu ":" içeriyor, bu da beklediğim gibi URL'leri seçmesini sağlıyor. ( http://example.com "//example.com" öğesini seçmez).


Teşekkürler almak için tam olarak ihtiyacım olan şey bu :. Gelecekte bu komutu çalıştırmak için profil kimliğimi manuel olarak aramak zorunda kalmam için varsayılan veya geçerli profili otomatik olarak almak üzere komut (lar) yazabilmeniz mümkün müdür? Bu şekilde yeni betiği yeni yüklemelerde çalıştırabilirim.
Programcı

@Programster Böyle bir şey yapabilirsindconf list /org/gnome/terminal/legacy/profiles:/
AB

thanks @alberge Bunu aldım ve bir python senaryosuna koydum
Programster

Varsayılan değeri nedir, bu word-char-exceptionsyüzden sadece bir karakter ekleyebilirim?
Tor Klingberg

1

Diğer terminallerde uygulanan çok kullanışlı bir varsayılan özellik, ekrandaki bir hattın genişletilmiş bölümlerinin aşamalı olarak seçilmesidir. ör. verilen

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

çift tıklatarak, diyelim ki, üzerinde filenrde dsr.filenr_34.ctrilerleme olacağını filenrhiç:

                              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

Çevreleyen simetriler, bir sonraki seviye sınırlayıcıya kadar çiftler eklenerek çözülebilir.

Ve elbette kullanıcıya varsayılanları değiştirme seçeneği verilmelidir.


1
Yanıt hakkında yorum yok, ancak daha iyi bir şekilde biçimlendirmeye çalışın, böylece insanlar daha hızlı anlayabilir. Adım adım listelemek istiyorsanız, numaralandırmayı kullanın.
VedVals 13:12

Teşekkür ederim, ama bunun sorum için geçerli olduğunu düşünmüyorum. Özellikle GNOME Terminal'in nasıl yapılandırılacağını soruyorum.
ændrük

1

Diğer cevaplar bugün işe yaramıyor ... bu ubuntu 18.04 üzerinde çalışıyor ... önce UUID gnome terminal profil kimliğinizi belirleyin ... bunu terminalde yayınlayın

profile=$(gsettings get org.gnome.Terminal.ProfilesList default)

echo $profile  #  for me it gives b1dcc9dd-5262-4d8d-a863-c897e6d97969

şimdi değişiklik yap:

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

Ubuntu 18.04 düzeltilinceye kadar aşağıdaki okuma komutu sessizce başarısız olurken ubuntu 16.04'te iyi çalıştı

dconf  read  /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/word-char-exceptions

Görünüşe göre askubuntu.com/a/725109/158442
muru

0

@ Alberge yanıtı genişleterek, python3tüm profillerinizi bunu yapmak için aşağıdaki komut dosyasını yürütebilirsiniz :

#!/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!")

Veya sadece şunları yapabilirsiniz:

curl -s http://scripts.programster.org/scripts/5?output=raw | python3
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.