ฉันสามารถระบุได้ว่าอักขระตัวใดตั้งค่าขอบเขตการเลือกดับเบิลคลิกในเทอร์มินัล GNOME หรือไม่


16

เมื่อฉันดับเบิลคลิกเพื่อเลือกข้อความในเทอร์มินัล GNOME การเลือกหยุดที่ช่องว่าง แต่ดำเนินต่อไปด้วยเครื่องหมายขีดคั่น:

ช่องว่าง

ยัติภังค์

ชื่อไฟล์บางส่วนของฉันมีอักขระที่ไม่ธรรมดาเช่นดอกจันที่มีหยดน้ำตาหนักและไม่สามารถเลือกได้โดยการดับเบิลคลิก:

ตัวละครที่ผิดปกติ

มีวิธีในการเลือกคลิกสองครั้งอย่างต่อเนื่องมากกว่าตัวละครเหล่านี้เช่นกัน?

คำตอบ:


9

ใน "แก้ไข> การตั้งค่าโปรไฟล์> ทั่วไป" ให้เพิ่มตัวอักษรลงในช่อง "เลือกแบบตัวอักษรคำ"


ขอบคุณฉันไม่รู้ว่าฉันไม่สังเกตเห็นสิ่งนั้นอย่างไร
ændrük

มีใครพบวิธีทั่วไปในการทำ GNOME นี้หรือไม่? หรือขอบเขตของคำสูงถึงนักพัฒนาของแต่ละแอปพลิเคชันเพื่อกำหนด / กำหนดใหม่? คำถามที่เกี่ยวข้อง: superuser.com/q/650240/245597
Noyo

11
อย่างน้อยตั้งแต่เวอร์ชัน 3.14 ตัวเลือกนี้ได้หายไป เราจะทำมันตอนนี้ได้อย่างไร?
Joachim Breitner

ฉันพยายาม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

ฉันชอบที่จะใช้-#%&+,./:=?@_~เป็นชุดของตัวแยกที่ไม่ใช่คำ

โปรดทราบว่าการใช้โคลอนมี / บ้า / ใช่มี: /: ในนั้น

1) แก้ไข -> การตั้งค่าโปรไฟล์ -> แท็บทั่วไปในโปรไฟล์ของคุณมีรหัสโปรไฟล์เช่น 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 ผมเอาที่และใส่ไว้ในสคริปต์หลาม
Programster

ค่าเริ่มต้นคืออะไรword-char-exceptionsดังนั้นฉันสามารถเพิ่มเพียงหนึ่งตัวอักษร?
Tor Klingberg

1

คุณสมบัติเริ่มต้นที่มีประโยชน์มากที่ใช้ในเทอร์มินัลอื่นคือการเลือกแบบก้าวหน้าของส่วนที่ขยายของบรรทัดบนหน้าจอ เช่นได้รับ

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

ดับเบิลคลิกที่พูดfilenrใน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 เป็นพิเศษ
ændrük

1

คำตอบอื่น ๆ ไม่ทำงานในวันนี้ ... มันใช้งานได้กับ Ubuntu 18.04 ... ก่อนอื่นให้ระบุ UUID gnome terminal profile id ของคุณ ... ส่งปัญหานี้ใน terminal

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.