क्या मैं निर्दिष्ट कर सकता हूं कि GNOME टर्मिनल में डबल-क्लिक चयन सीमा को कौन से वर्ण सेट करते हैं?


16

जब मैं गनोम टर्मिनल में पाठ का चयन करने के लिए डबल-क्लिक करता हूं, तो चयन स्थान पर रुक जाता है लेकिन हाइफ़न पर जारी रहता है:

रिक्त स्थान

हाइफ़न

मेरे कुछ फिल्नामों में असामान्य चरित्र हैं जैसे कि भारी अश्रु-स्पंदित तारांकन और डबल-क्लिक द्वारा चयन करने योग्य नहीं हैं:

असामान्य चरित्र

क्या इन वर्णों पर डबल-क्लिक चयन जारी रखने का कोई तरीका है?

जवाबों:


9

"संपादन> प्रोफ़ाइल प्राथमिकताएं> सामान्य" में, "चयन-दर-शब्द वर्ण" बॉक्स में चरित्र जोड़ें।


धन्यवाद, मुझे नहीं पता कि मैंने कैसे ध्यान नहीं दिया।
æंड्रिक्स

क्या किसी ने इसे गनोम-वाइड करने का एक सामान्य तरीका पाया है? या शब्द-सीमाएँ प्रत्येक अनुप्रयोग के डेवलपर्स के लिए परिभाषित / परिभाषित करना है? संबंधित प्रश्न: superuser.com/q/650240/245597
न्यो

11
कम से कम 3.14 संस्करण के बाद से, यह विकल्प गायब हो गया है। अब हम इसे कैसे कर सकते हैं?
जोआचिम ब्रेइटनर 10

मैंने कोशिश की dconf write /org/gnome/terminal/legacy/profiles:/:{your-profile-id}/word-char-exceptions '@ms "-,.;/?%&#_=+@~·:"'लेकिन मुझे जो कुछ मिला वह हैerror: Could not connect: Connection refused
cprn

काम करने के लिए गैर-ब्रेकिंग स्पेस प्राप्त करने के लिए प्रतीत नहीं हो सकता। हालांकि यह Zesty से मेट टर्मिनल पर कायरता तारांकन के साथ काम करता है।
ग्रिंगो सुवे

16

[जवाब स्वीकार किए जाने के बाद से कोई काम नहीं करता है।]

लिपि

शब्द विभाजक सेट करने के लिए मैंने इसे एक स्क्रिप्ट में रखा:

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

पृष्ठभूमि

GNOME टर्मिनल इस विषय पर कई बार फ़्लॉप हुआ है।

यह कॉन्फ़िगरेशन सुविधा ग्नोम-टर्मिनल 3.14 में हटा दी गई थी (उबंटू 15.04 ज्वलंत में शामिल)

फिर गनोम-टर्मिनल 3.16 (उबंटू 15.10 विली में शामिल) में, हुड के तहत विकल्प को फिर से प्रस्तुत किया गया, लेकिन यूआई के साथ नहीं। इसके अलावा, बृहदान्त्र :को शब्द विभाजक के रूप में माना जाता था।

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 "-#%&+,./:=?@_~"'

विशेष रूप से, इसमें ":" है, जो मुझे उम्मीद के मुताबिक यूआरएल का चयन करता है। ( http://example.com "//example.com" का चयन नहीं करता है)।


धन्यवाद यह वही है जो मुझे पाने के लिए चाहिए था :। क्या यह संभव है कि आप डिफ़ॉल्ट रूप से या वर्तमान प्रोफ़ाइल को स्वचालित रूप से लाने के लिए कमांड लिख सकते हैं, इसलिए मुझे भविष्य में उस कमांड को चलाने के लिए अपनी प्रोफ़ाइल आईडी को मैन्युअल रूप से नहीं देखना होगा? इस तरह मैं बस उस स्क्रिप्ट को ताज़े इंस्टाल पर चला सकता हूँ।
प्रोग्रामर

@Programster आप ऐसा कुछ कर सकते हैंdconf list /org/gnome/terminal/legacy/profiles:/
AB

धन्यवाद @alberge मैंने लिया और इसे अजगर स्क्रिप्ट में रखा
प्रोग्रामर

डिफ़ॉल्ट मान क्या है word-char-exceptions, इसलिए मैं केवल एक वर्ण जोड़ सकता हूं?
टॉर क्लिंगबर्ग

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
उत्तर पर कोई टिप्पणी न करें लेकिन इसे बेहतर तरीके से प्रारूपित करने का प्रयास करें ताकि लोग इसे तेजी से समझ सकें। यदि आप इसे चरण दर चरण सूचीबद्ध करना चाहते हैं, तो नंबरिंग का उपयोग करें।
वेदवल्स

धन्यवाद, लेकिन मुझे नहीं लगता कि यह मेरे सवाल पर लागू होता है। मैं विशेष रूप से पूछ रहा हूं कि गनोम टर्मिनल को कैसे कॉन्फ़िगर किया जाए।
æंड्रिक्स

1

अन्य उत्तर आज काम नहीं करते ... यह ubuntu 18.04 पर काम करता है ... पहले अपने UUID सूक्ति टर्मिनल प्रोफ़ाइल आईडी की पहचान करें ... इस टर्मिनल में

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.