क्या मैं विम या जीवीएम में एक गैर-मोनोस्पॉन्टेड फ़ॉन्ट का उपयोग कर सकता हूं?


32

vimया तो गैर-मोनोस्पेस फ़ॉन्ट का उपयोग करने का कोई तरीका है या gvim?

मैंने gVim के लिए फ़ॉन्ट बदलने की कोशिश की:

:set guifont=Dejavu\ Serif\ 12

लेकिन यह मुझे कुछ बल्कि बदसूरत परिणाम देता है:

यहाँ छवि विवरण दर्ज करें

यदि मैं मेनू का उपयोग करता हूं तो मुझे वही परिणाम मिलते हैं (संपादित करें -> फ़ॉन्ट का चयन करें)

:help guifont कहते हैं:

Note that the fonts must be mono-spaced (all characters have the same
width).  An exception is GTK 2: all fonts are accepted, but
mono-spaced fonts look best.

तो मुझे लगता है कि उपरोक्त परिणाम "सर्वश्रेष्ठ नहीं लग रहे हैं" के रूप में गिनते हैं? क्या इस पर किसी तरह सुधार किया जा सकता है?

मैंने अपने टर्मिनल ( xterm) में एक गैर-मोनोस्पेस फ़ॉन्ट सेट करने की कोशिश की , लेकिन ऐसा लगता है कि लगभग एक ही प्रभाव है:

यहाँ छवि विवरण दर्ज करें

मुझे इस btw के लिए एक अलग टर्मिनल एमुलेटर का उपयोग करने में कोई आपत्ति नहीं है।


ऐसा लगता है कि यह पहले से ही यहाँ उत्तर दिया गया है: superuser.com/questions/357571/…
गाइड

1
@guido मुझे वहां कोई उत्तर नहीं दिखाई देता ... सबसे उत्तोलित उत्तर सिर्फ एक स्पष्टीकरण है कि फोंट क्या हैं (उत्तर नहीं), और अन्य "उत्तर" और भी बुरे हैं ...
मार्टिन टूरनोइज

जवाबों:


25

मैंने पाया mlterm, जो इसका समर्थन करता है। एमएसीएस के बिल्ट-इन टर्मिनल (एमएक्स टर्म) के अलावा यह एकमात्र टर्मिनल है जो मैंने पाया है जो इसका समर्थन करता है (मैंने लगभग 15-20 अलग-अलग लोगों की कोशिश की है)।
मैंने पाया है कि mltermsceen अनुपात सेटिंग के कारण Emacs से बेहतर काम करता है, और आप Emacs सत्र के अंदर Vim को चलाने से भी बचते हैं (मुझे यकीन नहीं है कि कानूनी रूप से अनुमति है)।

स्क्रीनशॉट (यह तब तक बदसूरत लगता है जब तक कि आप ब्राउज़र में स्केलिंग के कारण इसे पूर्ण आकार नहीं खोलते ):

यहाँ छवि विवरण दर्ज करें

यह कुछ कॉन्फ़िगर प्यार की आवश्यकता है, यद्यपि। शुरू करने के बाद, Ctrlकहीं भी + मध्य क्लिक करें, इससे कॉन्फ़िगर स्क्रीन खुल जाएगी। मैंने इन विकल्पों को निर्धारित किया है

फ़ॉन्ट टैब में:

  • "एंटी-उपनाम" जांचें
  • "चर स्तंभ चौड़ाई" की जांच करें; यह "मुख्य विशेषता" है जो अधिकांश अन्य टर्मिनल एमुलेटर से गायब है
  • "DejaVu Sans Book 16" के लिए फ़ॉन्ट सेट करें (या जो भी आप चाहें)
  • "फ़ॉन्ट आकार के विरुद्ध स्क्रीन अनुपात" चौड़ाई 60 पर सेट करें; यह टर्मिनल की चौड़ाई के बारे में कार्यक्रमों में निहित है, आप ऐसा नहीं करते हैं, आप केवल स्क्रीन आकार के ~ 50% का उपयोग कर रहे हैं। इसके लिए सबसे अच्छा मूल्य उपयोग किए गए फ़ॉन्ट पर निर्भर करता है, इसलिए थोड़ा प्रयोग करें ...

राइट-क्लिक कॉन्फिगर स्क्रीन थोड़ी परतदार लगती है, मैंने ~/.mlterm/vaafontइसे अपडेट नहीं किए जाने के बाद से एडिट भी किया :

ISO10646_UCS4_1 = 22,DejaVu Sans 18;21,DejaVu Sans 16;16,DejaVu Sans 16

और मेरी ~/.mlterm/main(ये सेटिंग्स मैं ऊपर सेट कर रहा हूं, साथ ही कुछ व्यक्तिगत प्राथमिकताएं):

type_engine = xft
bel_mode = none
scrollbar_mode = none
fontsize = 22
use_anti_alias = true
use_variable_column_width = true
line_space = 5
use_multi_column_char = true
col_size_of_width_a = 1
screen_width_ratio = 50

कुछ कलाकृतियाँ हैं, जिनकी उम्मीद की जानी है, लेकिन इस तरह से ईमेल या पोस्ट लिखना, यह काफी अच्छा काम करता है!

मैंने इसके लिए अपने खोल में एक उपनाम बनाया:

alias pvim mlterm -e vim

मैंने अधिकांश UI क्रोम को निकालने के लिए एक छोटा फ़ंक्शन भी बनाया:

fun! WriteMode()
    " Disable a lot of stuff
    setlocal nocursorline nocursorcolumn statusline= showtabline=0 laststatus=0 noruler

    " Hack a right margin with number
    setlocal number
    setlocal numberwidth=3

    " White text, so it's 'invisible'
    highlight LineNr ctermfg=15
    " If you're using a black background:
    " highlight LineNr ctermfg=1
endfun

वहाँ भी goyo.vim है जो लगभग एक ही जाता है, लेकिन यह मेरे लिए बहुत अच्छी तरह से काम नहीं किया (बहुत मार्जिन के साथ बहुत से mucking)। YMMV हालांकि।


मुझे Ctrl + RightClick का उपयोग करना था, उबंटू रिपोज से MLTerm के साथ Ubuntu 18.04 पर मध्य में नहीं। अन्यथा मुझे केवल माउस कर्सर के आसपास कुछ अजीब वर्ग फ्रेम मिलता है और कोई संवाद नहीं।
रुस्लान

जब आप वर्टीकल स्प्लिट: स्क्रीनशॉट का उपयोग करते हैं तो यह हास्यास्पद (और अनुपयोगी) लगता है । लेकिन टर्मिनल आधारित समाधान से इसकी उम्मीद की जानी चाहिए।
रुस्लान

7

यह निश्चित रूप से जीयूआई विम में समर्थित नहीं है, और मुझे आश्चर्य होगा कि अगर कुछ ऐसे टर्मिनल एमुलेटर हैं जो आनुपातिक फोंट का समर्थन करते हैं, जिसकी आप उम्मीद कर रहे हैं: यह कई मानक चीजों को तोड़ देगा, जिनके लिए टर्मिनल हैं उपयोग किया गया। यूनिक्स और अन्य कमांड-लाइन वातावरणों के कई हिस्सों में मोनोपॉज़ फॉन्ट्स होते हैं, इस प्रकार के डिस्प्ले को सामान्य प्रयोजन टर्मिनल के रूप में इस्तेमाल नहीं किया जा सकता है, इसलिए टर्मिनल के डेवलपर को कम लाभ के लिए अतिरिक्त काम करना होगा।

हालाँकि, कम से कम एक टर्मिनल एमुलेटर मौजूद है जो वेब तकनीकों ( Ajaxterm ) का उपयोग करके लागू किया गया है , और जैसा कि यह प्रतिपादन के लिए HTML / CSS का उपयोग करता है, यह CSS का उपयोग करके आनुपातिक फ़ॉन्ट का उपयोग करना संभव है। सीजेएस हेवर्ड ने यह सिर्फ किया है, लेकिन इसके लिए बहुत पुराने ब्राउज़र का उपयोग करने की आवश्यकता है।

यदि आप ऐसे टर्मिनल में विम को चलाना चाहते थे, तो आपको वह मिलेगा जो आप मांग रहे हैं; जब आप किसी भी स्तंभ-आधारित सुविधाओं का उपयोग करते हैं, तो केवल निराला हाइज़िंक्स के लिए तैयार रहें। (उदाहरण के लिए j, kब्लॉकवाइज़ विज़ुअल मोड, या 'colorcolumn'विकल्प)

अद्यतन के रूप में मूल प्रश्न पूछने वाले कार्पेटस्मोकर एक टिप्पणी में बताते हैं , Emacs में उचित आनुपातिक फ़ॉन्ट समर्थन है और इसमें एक टर्मिनल एमुलेटर ( M-x term) भी शामिल है , जिसके अंदर आप Vim चला सकते हैं। समर्पित आनुपातिक-फ़ॉन्ट उत्साही भी Emacs के भीतर एक विम-जैसा अनुभव प्राप्त करने के लिए Emacs's Evil में देखना पसंद कर सकते हैं ।


4

आनुपातिक फोंट में समर्थित हैं Oni , Neovim जीयूआई। सर्वोत्तम परिणामों के लिए "वेबलग" रेंडरर का उपयोग करें।

 "editor.renderer": "webgl"

Https://github.com/onivim/oni/issues/2359 भी देखें


दिलचस्प लग रहा है! दुर्भाग्य से मैं चलाने के लिए इस परियोजना को नहीं मिल सकता है, और वास्तव में उस :-( डिबग करने के लिए समय नहीं है
मार्टिन Tournoij

Github.com/onivim/oni/releases पर पूर्व-निर्मित अभिलेखागार हैं ।
जस्टिन एम। कीज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.