मुझे बदसूरत पिक्सेल तीरों को प्रतिस्थापित करना अच्छा लगेगा, जो कि सरल, स्वादपूर्ण पाठ (शायद एक अच्छा यूनिकोड चरित्र, \u2026
इलिप्सिस की तरह) के साथ छिड़काव या लिपटे लाइनों को इंगित करता है। क्या यह संभव है?क्या Emacs में टेक्स्ट के साथ Fringe बिटमैप्स को प्रतिस्थापित करना संभव है?
उत्तर
नहीं, ऐसा नहीं है। Fringe "बिटमैप्स" वास्तव में बिटमैप्स हैं, जो 0/1 बिट्स के वैक्टर हैं, जो फ्रिंज पर ओवरलेड हैं। Fringe पर मनमानी यूनिकोड वर्ण सीधे प्रस्तुत करने का कोई तरीका नहीं है।
आप क्या कर सकते हैं, एक यूनिकोड चरित्र को 0/1 बिटमैप में प्रस्तुत करना है। कोई भी सभ्य छवि संपादक (उदा। गिंप, फ़ोटोशॉप, पिक्सेलमेटर, पेंट.net, आदि) ऐसा कर सकते हैं। फिर इस बिटमैप को एक फ्रिंज बिटमैप वेक्टर में कनवर्ट करें। फ्रिंज बिटमैप्स का प्रारूप Customizing Fringe Bitmaps में वर्णित है।
अंततः आप left-arrow
, right-arrow
(छोटा कर दिया लाइनों के लिए), left-curly-arrow
, और right-curly-arrow
बिटमैप्स, समारोह define-fringe-bitmap
का उपयोग कर (जारी लाइनों के लिए) को बदलने के लिए इन बिटमैप वैक्टर का उपयोग कर सकते हैं।
हालांकि, मैं कहूंगा कि यह मूल्यवान होने की तुलना में अधिक परेशानी है। फ्रिंज 8 पिक्सेल चौड़ा है, इसलिए आपको अपने सुंदर यूनिकोड चरित्र को 8x8 बिटमैप में निचोड़ना होगा। इसका मतलब है कि कोई उप-पिक्सेल प्रतिपादन नहीं, कोई अलियासिंग नहीं, कोई बाइटकोड प्रतिपादन नहीं, स्क्रीन पर वर्णों को अच्छा और फैंसी बनाता है। यह आपके जैसे प्रतिस्थापित तीर के रूप में बदसूरत होगा।
दिलचस्प! ऐसा कहा जाता है कि बहुत परेशानी नहीं दिखती है, विशेष रूप से देखा जाता है कि ओपी ने उल्लेख किया कि वह एक इलिप्सिस का उपयोग करना चाहता है। एक 8x8 बिटमैप में जो 2x2 पिक्सेल डॉट होगा, एक बार पिक्सेल से अलग 3 बार दोहराया जाएगा (जो 8 पिक्सल चौड़ा होगा)। मैं ओपी से सहमत हूं कि डिफ़ॉल्ट तीर भाग्य से अधिक है। क्या आप जानते हैं कि हम बाएं तीर बिटमैप को संशोधित कर सकते हैं या अपना खुद का बिटमैप जोड़ सकते हैं? – TacticalCoder
@ टैक्टिकलकोडर आप 'डिफाईन-फ्रिंग-बिटमैप' जैसे सरल कॉल के साथ फ्रिंज बिटमैप्स को फिर से परिभाषित कर सकते हैं, जैसे [मैंने फ्लाईचेक में किया था] (https://github.com/lunaryorn/flycheck/blob/09a814a4a153e6be0571b5c270d0b46d7fe866e9/flycheck.el#L1821)। और मेरा विश्वास करो, फ्रिंज बिटमैप्स * एक परेशानी है। वहाँ किया गया था कि। और यहां कोई लाभ नहीं है। आप 8x8 काले/सफेद बिटमैप पर महान कला नहीं कर सकते हैं, और एक 2x2 अंडाकार डिफ़ॉल्ट तीरों की तुलना में कोई अच्छा नहीं होगा। ये तीर बदसूरत हैं क्योंकि ये बिटमैप्स इतने सीमित हैं। – lunaryorn
मैं फ्लाईचेक में आपने जो किया है उस पर एक नज़र डालेंगे।मैंने 8x8 पिक्सल में "पिक्सेल आर्ट" देखा है जो बहुत बुरा नहीं लग रहा है इसलिए मैं इसे आज़मा दूंगा;) – TacticalCoder
चंद्रमा द्वारा उत्तर सही है, लेकिन शायद यह नौसिखिया Emacs उपयोगकर्ताओं की पहुंच से परे है - उदाहरण के लिए, मेरे जैसे प्रोग्रामर शौकिया।
समारोह fringe-helper-convert
अपने पुस्तकालय फ्रिंज सहायक में Nikolaj शूमाकर द्वारा लिखित - https://github.com/nschum/fringe-helper.el - यह एक सदिश कि द्वारा किया जाता है बनाने के लिए अपने आप की तरह Emacs का शौक रखने वालों के लिए आसान बना देता है समारोह define-fringe-bitmap
(जो सी स्रोत में परिभाषित किया गया है Emacs कोड)। मैंने एक पायलक्रो चुना है, लेकिन उपयोगकर्ता फिट होने वाली कोई भी छवि बनाने के लिए स्वतंत्र है - उदाहरण के लिए, पूंजी पत्र X
और .
की अवधि का उपयोग करके, उपयोगकर्ता एक अक्षर का आकार बना सकता है।
;; AUTHOR: Nikolaj Schumacher -- https://github.com/nschum/fringe-helper.el
(defun fringe-helper-convert (&rest strings)
"Convert STRINGS into a vector usable for `define-fringe-bitmap'.
Each string in STRINGS represents a line of the fringe bitmap.
Periods (.) are background-colored pixel; Xs are foreground-colored. The
fringe bitmap always is aligned to the right. If the fringe has half
width, only the left 4 pixels of an 8 pixel bitmap will be shown.
For example, the following code defines a diagonal line.
\(fringe-helper-convert
\"XX......\"
\"..XX....\"
\"....XX..\"
\"......XX\"\)"
(unless (cdr strings)
;; only one string, probably with newlines
(setq strings (split-string (car strings) "\n")))
(apply 'vector
(mapcar
(lambda (str)
(let ((num 0))
(dolist (c (string-to-list str))
(setq num (+ (* num 2) (if (eq c ?.) 0 1))))
num))
strings)))
निम्नलिखित उदाहरण मानता है एक 20 के frame-char-height
पिक्सल - ताकि बिटमैप छवि बफर में पाठ के रूप में एक ही ऊंचाई है। लेट-बाउंड स्निपेट लाइन के अंत में दाएं किनारे पर एक पायलक्रो आकार बनाता है (जहां भी स्निपेट का मूल्यांकन किया जाता है)। उदाहरण मानता है कि सही सीमा कम से कम चौड़ाई की चौड़ाई है - उदाहरण के लिए, (add-to-list 'default-frame-alist '(right-fringe . 11))
स्ट्रिंग में परिवर्तित यूनिकोड प्रतीक - (char-to-string ?\uE000)
शायद " "
के साथ प्रतिस्थापित किया जा सकता है।
(define-fringe-bitmap 'pilcrow (fringe-helper-convert
"......."
"......."
"......."
"......."
"......."
".XXXXXX"
"XXXX.X."
"XXXX.X."
"XXXX.X."
".XXX.X."
"...X.X."
"...X.X."
"...X.X."
"...X.X."
"...X.X."
"...X.X."
"......."
"......."
"......."
"......."))
(let ((peol (point-at-eol)))
(overlay-put (make-overlay peol peol) 'after-string
(propertize (char-to-string ?\uE000) 'display
'(right-fringe pilcrow font-lock-keyword-face))))
- 1. {} के साथ सेट() को प्रतिस्थापित करना क्यों संभव है?
- 2. मैं emacs में fringe में diff मार्कर कैसे जोड़ूं?
- 3. क्या मैक लॉगिन स्क्रीन को प्रतिस्थापित करना संभव है?
- 4. क्या PHP कार्यों को प्रतिस्थापित करना संभव है?
- 5. क्या जेएसआर-330 @ स्कोप संस्करण के साथ स्प्रिंग @ स्कोप ("अनुरोध") को प्रतिस्थापित करना संभव है?
- 6. क्या वैश्विक "ऑपरेटर नया()" हर जगह प्रतिस्थापित करना संभव है?
- 7. क्या Emacs में पूरे बफर का मूल्यांकन करना संभव है?
- 8. emacs के सिंटेक्स को प्रतिस्थापित करें- regexp
- 9. क्या सभी कैरिज रिटर्न को स्ट्रिंग में .replace के माध्यम से प्रतिस्थापित करना संभव है?
- 10. क्या Emacs में TRAMP के साथ रोपेमैक का उपयोग करना संभव है?
- 11. emacs: क्या emacs regex के साथ संतुलित माता-पिता के साथ तारों से मिलान करना संभव है?
- 12. क्या मुझे AppCompatActivity के साथ ActionBarActivity को प्रतिस्थापित करना चाहिए?
- 13. emacs में क्लिपबोर्ड टेक्स्ट के लिए खोजें
- 14. क्या jquery के साथ टेक्स्ट की प्रत्येक पंक्ति को एनिमेट करना संभव है?
- 15. क्या जेबीहेव को टेस्टएनजी के साथ एकीकृत करना संभव है?
- 16. क्या जावास्क्रिप्ट के साथ एक टेक्स्ट इनपुट संपादित करना और पूर्ववत स्टैक में जोड़ना संभव है?
- 17. क्या एक्वैप्से के साथ Jquery को एकीकृत करना संभव है?
- 18. क्या आईफोन के स्वचालित हाइपरलिंक्स को अक्षम करना संभव है?
- 19. फ़ाइल में स्ट्रिंग को प्रतिस्थापित करना यूनिक्स
- 20. क्या किसी PHP वर्ग के भीतर किसी फ़ंक्शन को प्रतिस्थापित करना संभव है?
- 21. क्या स्ट्राइक-थ्रू प्रभाव के साथ कंसोल में टेक्स्ट प्रदर्शित करना संभव है?
- 22. क्या टेक्स्ट और जेसन ऑब्जेक्ट के साथ django में एक HttpResponse वापस करना संभव है?
- 23. emacs में एक आयताकार के अंदर खोजें और प्रतिस्थापित करें
- 24. यांक बफर सामग्री के साथ emacs में किसी क्षेत्र को कैसे प्रतिस्थापित करें?
- 25. क्या ओपनएम के साथ सरणी में कमी करना संभव है?
- 26. क्या संपूर्ण दस्तावेज़ को प्रतिस्थापित करने के लिए JQuery.Load() का उपयोग करना संभव है?
- 27. डेटा के ब्लॉक में एकाधिक पैटर्न को प्रतिस्थापित करना
- 28. क्या टेक्स्टरेरा के मल्टीलाइन विकल्प को अक्षम करना संभव है?
- 29. विभिन्न छवियों के साथ रेडियो बटन को प्रतिस्थापित करना
- 30. जावा जेआरई 1.6 एसई में जेएक्सबी कार्यान्वयन के संस्करण को प्रतिस्थापित करना संभव है?
आप 'fringe.el'' देखना चाहते हैं, जहां फ्रिंज बिटमैप्स स्थापित किए गए हैं। –