Gibt es eine Möglichkeit, eine Nicht-Monospace-Schriftart in vim
oder zu verwenden gvim
?
Ich habe versucht, die Schriftart für gVim zu ändern mit:
:set guifont=Dejavu\ Serif\ 12
Aber das gibt mir einige ziemlich hässliche Ergebnisse:
Ich erhalte die gleichen Ergebnisse, wenn ich das Menü benutze (Bearbeiten -> Schriftart auswählen)
:help guifont
sagt:
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.
Ich denke also, dass die obigen Ergebnisse als "nicht am besten aussehend" gelten? Kann man das irgendwie verbessern?
Ich habe auch versucht, eine Nicht-Monospace-Schriftart in meinem Terminal ( xterm
) festzulegen , aber das scheint ungefähr den gleichen Effekt zu haben:
Ich habe nichts dagegen, einen anderen Terminal-Emulator für dieses BTW zu verwenden.
Antworten:
Ich habe gefunden
mlterm
, was dies unterstützt. Abgesehen von Emacs 'eingebautem Terminal (Mx-Bezeichnung) ist dies das einzige Terminal, das ich gefunden habe und das dies unterstützt (ich habe ungefähr 15-20 verschiedene ausprobiert).Ich habe festgestellt, dass dies
mlterm
aufgrund der Einstellungen für das Sceen-Verhältnis besser funktioniert als Emacs, und Sie müssen Vim auch nicht in einer Emacs-Sitzung ausführen (ich bin mir nicht einmal sicher, ob dies gesetzlich zulässig ist).Screenshot (es sieht hässlich aus, es sei denn, Sie öffnen ihn aufgrund der Skalierung im Browser in voller Größe ):
Es erfordert jedoch einige Konfigurationsliebe. Drücken Sie nach dem Start die Ctrl+ mittlere Maustaste, um den Konfigurationsbildschirm zu öffnen. Ich habe diese Optionen festgelegt
In der Registerkarte Schriftart:
Der Rechtsklick-Konfigurationsbildschirm scheint etwas unübersichtlich zu sein. Ich habe auch meinen bearbeitet,
~/.mlterm/vaafont
da dieser nicht aktualisiert wurde:Und meine
~/.mlterm/main
(dies sind die Einstellungen, die ich oben festgelegt habe, plus einige persönliche Einstellungen):Es gibt einige Artefakte, die zu erwarten sind, aber das Schreiben von E-Mails oder Posts wie diesem scheint ganz gut zu funktionieren!
Dafür habe ich in meiner Shell einen Alias erstellt:
Ich habe auch eine kleine Funktion erstellt, um die meisten UI-Chrome zu entfernen:
Es gibt auch goyo.vim, was ungefähr gleich ist, aber das hat für mich nicht sehr gut funktioniert (zu viel mit Rändern rumgespielt ). YMMV obwohl.
quelle
Es wird in GUI Vim definitiv nicht unterstützt, und ich wäre überrascht, wenn es mehr als eine Handvoll Terminalemulatoren gäbe, die proportionale Schriftarten so unterstützen, wie Sie es sich erhofft haben: Es würde zu viele der Standardsachen, für die Terminals gedacht sind, zerstören gebraucht. Da in so vielen Teilen von Unix und anderen Befehlszeilenumgebungen einfarbige Schriftarten vorausgesetzt werden, kann diese Art der Anzeige nicht als Allzweck-Terminal verwendet werden, sodass der Entwickler des Terminals zusätzliche Arbeiten mit geringem Nutzen ausführen müsste.
Es gibt jedoch mindestens einen Terminal-Emulator, der mithilfe von Webtechnologien ( Ajaxterm ) implementiert wurde. Da für das Rendern HTML / CSS verwendet wird, kann die Verwendung einer proportionalen Schriftart mithilfe von CSS vorgenommen werden. CJS Hayward hat genau dies getan, erfordert jedoch die Verwendung eines sehr alten Browsers.
Wenn Sie Vim in einem solchen Terminal ausführen würden, würden Sie das bekommen, wonach Sie fragen. Seien Sie einfach auf verrückte Hijinx vorbereitet, wenn Sie spaltenbasierte Funktionen verwenden. (zB
j
,k
, blockartig visueller Modus oder die'colorcolumn'
Option)UPDATE Wie der ursprüngliche Fragesteller Carpetsmoker in einem Kommentar ausführt , unterstützt Emacs die Proportionalschrift und enthält auch einen Terminal-Emulator (
M-x term
), in dem Sie Vim ausführen können. Enthusiasten von Proportionalschriftarten möchten vielleicht auch einen Blick auf Emacs 'Evil werfen , um ein Vim-ähnliches Erlebnis in Emacs zu erhalten.quelle
Proportionalschriftarten werden in Oni , Neovim GUI unterstützt. Verwenden Sie den "webgl" -Renderer, um die besten Ergebnisse zu erzielen.
Siehe auch https://github.com/onivim/oni/issues/2359
quelle