Bisakah saya menentukan karakter apa yang mengatur batas pilihan klik dua kali di Terminal GNOME?


16

Ketika saya mengklik dua kali untuk memilih teks di Terminal GNOME, pilihan berhenti di spasi tetapi berlanjut lebih dari tanda hubung:

spasi

tanda hubung

Beberapa nama file saya mengandung karakter yang tidak biasa seperti asterisk bercabang air mata yang berat dan tidak dapat dipilih dengan mengklik dua kali:

karakter yang tidak biasa

Apakah ada cara untuk membuat pemilihan klik ganda berlanjut di atas karakter-karakter ini juga?

Jawaban:


9

Dalam "Edit> Preferensi Profil> Umum", tambahkan karakter ke kotak "Karakter per kata".


Terima kasih, saya tidak tahu bagaimana saya tidak menyadarinya.
ændrük

Adakah yang menemukan cara umum untuk melakukan ini di seluruh GNOME? Atau apakah batasan kata tergantung pada pengembang setiap aplikasi untuk didefinisikan / didefinisikan ulang? Pertanyaan terkait: superuser.com/q/650240/245597 .
Noyo

11
Setidaknya sejak versi 3.14, opsi ini telah hilang. Bagaimana kita bisa melakukannya sekarang?
Joachim Breitner

Saya mencoba dconf write /org/gnome/terminal/legacy/profiles:/:{your-profile-id}/word-char-exceptions '@ms "-,.;/?%&#_=+@~·:"'tetapi yang saya dapatkan hanyalaherror: Could not connect: Connection refused
cprn

Tampaknya tidak bisa membuat ruang yang tidak putus berfungsi. Ini bekerja dengan tanda bintang yang funky pada terminal pasangan dari Zesty.
Gringo Suave

16

[Menambahkan jawaban karena jawaban yang diterima tidak lagi berfungsi.]

Naskah

Saya menggabungkan ini ke dalam skrip untuk mengatur pemisah kata:

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

Latar Belakang

Terminal GNOME telah membalik beberapa kali mengenai hal ini.

Fitur konfigurasi ini telah dihapus di gnome-terminal 3.14 (termasuk dalam Ubuntu 15.04 Vivid)

Kemudian di gnome-terminal 3.16 (termasuk dalam Ubuntu 15.10 Wily), opsi diperkenalkan kembali di bawah tenda, tetapi tanpa UI. Selain itu, titik dua: diubah untuk diperlakukan sebagai pemisah kata.

Editing dengan dconf

Per petunjuk ini, Anda dapat mengonfigurasi set menggunakan dconf: https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1401207/comments/8

Saya suka menggunakan -#%&+,./:=?@_~sebagai set pemisah non-kata.

Perhatikan bahwa penggunaan titik dua ada / crazy /. Ya, ada: /: di sana.

1) edit -> preferensi profil -> tab Umum di profil Anda memiliki ID Profilnya, misalnya b1dcc9dd-5262-4d8d-a863-c897e6d979b9

2) periksa Anda sudah benar sintaks dengan:

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

Jika tidak mengembalikan apa-apa, Anda salah; coba lagi.

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

Secara khusus, ini memiliki ":" di, yang membuatnya memilih URL seperti yang saya harapkan. ( http://example.com tidak memilih "//example.com").


Terima kasih, inilah tepatnya yang saya butuhkan untuk mendapatkannya :. Apakah mungkin Anda dapat menulis perintah untuk secara otomatis mengambil profil default atau saat ini sehingga saya tidak perlu mencari ID profil saya secara manual untuk menjalankan perintah itu di masa depan? Dengan begitu saya bisa menjalankan skrip itu pada pemasangan baru.
Programster

@Programster Anda dapat melakukan sesuatu seperti ini dengandconf list /org/gnome/terminal/legacy/profiles:/
AB

terima kasih @alberge Saya mengambilnya dan meletakkannya di skrip python
Programster

Apa nilai defaultnya word-char-exceptions, jadi saya bisa menambahkan hanya satu karakter?
Tor Klingberg

1

Fitur standar yang sangat berguna diimplementasikan di terminal lain adalah pemilihan progresif bagian yang diperluas dari garis di layar. mis. diberikan

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

mengklik dua kali, katakanlah, filenrdi dsr.filenr_34.ctrakan maju dari filenrmenjadi:

                              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

Simetri sekitarnya dapat diselesaikan dengan menambahkan pasangan sampai pembatas tingkat berikutnya.

Dan tentu saja pengguna harus diberi opsi untuk mengubah default.


1
Tidak ada komentar tentang jawabannya tetapi cobalah memformatnya dengan cara yang lebih baik sehingga orang memahaminya lebih cepat. Jika Anda ingin mendaftarkannya langkah demi langkah, gunakan penomoran.
VedVals

Terima kasih, tapi saya rasa ini tidak berlaku untuk pertanyaan saya. Saya secara khusus menanyakan cara mengkonfigurasi Terminal GNOME.
ændrük

1

Jawaban lain tidak berfungsi hari ini ... ini berfungsi di ubuntu 18.04 ... pertama kenali id ​​profil terminal gnome UUID Anda ... terbitkan di terminal ini

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

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

sekarang buat perubahan:

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

sampai ubuntu 18.04 diperbaiki, perintah baca berikut secara diam-diam gagal sedangkan itu berfungsi dengan baik di ubuntu 16.04

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


0

Memperluas @alberge jawaban, Anda dapat menjalankan python3skrip berikut untuk mengubah semua profil Anda untuk melakukan ini:

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

Atau Anda bisa menjalankan:

curl -s http://scripts.programster.org/scripts/5?output=raw | python3
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.