Est-il possible d'utiliser une police non monospace dans vim
ou gvim
?
J'ai essayé de changer la police pour gVim avec:
:set guifont=Dejavu\ Serif\ 12
Mais cela me donne des résultats plutôt laids:
J'obtiens les mêmes résultats si j'utilise le menu (Édition -> Sélectionner la police)
:help guifont
dit:
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.
Donc, je pense que les résultats ci-dessus comptent comme "ne pas chercher mieux"? Cela peut-il être amélioré, d'une manière ou d'une autre?
J'ai également essayé de définir une police non monospace dans mon terminal ( xterm
), mais cela semble avoir à peu près le même effet:
Cela ne me dérange pas d'utiliser un autre émulateur de terminal pour cet événement.
Réponses:
J'ai trouvé
mlterm
qui soutient cela. À part le terminal intégré d'Emacs (terme Mx), c'est le seul terminal que j'ai trouvé qui le supporte (j'ai essayé environ 15 à 20 différents).J'ai trouvé que cela
mlterm
fonctionnait mieux qu'Emacs en raison des paramètres de ratio de visionnage, et vous évitez également d'avoir à exécuter Vim dans une session Emacs (je ne suis même pas sûr que ce soit légalement autorisé).Capture d'écran (il semble moche à moins que vous l'ouvriez en taille réelle à cause de la mise à l'échelle dans le navigateur):
Cela nécessite cependant un peu d'amour de configuration. Après le démarrage, appuyez Ctrlsur le bouton central de la souris, cliquez n'importe où pour ouvrir l'écran de configuration. Je mets ces options
Dans l'onglet Police:
L'écran de configuration du clic droit semble un peu floconneux, j'ai également édité mon
~/.mlterm/vaafont
depuis que cela n'a pas été mis à jour:Et mon
~/.mlterm/main
(ce sont les paramètres que j'ai définis ci-dessus, plus quelques préférences personnelles):Il y a certains artefacts, qui sont à prévoir, mais écrire des courriels ou des messages comme celui-ci semble bien fonctionner!
J'ai créé un alias dans mon shell pour ceci:
J'ai également créé une petite fonction pour supprimer la plupart des interfaces utilisateur chrome:
Il y a aussi goyo.vim, qui a à peu près la même chose, mais ça ne m'a pas très bien fonctionné (trop de marottes). YMMV cependant.
la source
Elle n’est certainement pas prise en charge par l’interface graphique Vim, et je serais surpris de voir qu’il existe plus d’une poignée d’émulateurs de terminaux qui prennent en charge les polices proportionnelles de la manière que vous espérez: cela romprait un trop grand nombre de fonctions standard des terminaux. utilisé. Comme de nombreuses parties d'Unix et d'autres environnements de ligne de commande présument des polices à espacement unique, ce type d'affichage ne peut pas être utilisé comme un terminal à usage général. Le développeur du terminal aurait donc dû effectuer un travail supplémentaire sans grand bénéfice.
Cependant, il existe au moins un émulateur de terminal implémenté à l'aide de technologies Web ( Ajaxterm ), et comme il utilise HTML / CSS pour le rendu, il est possible d'utiliser une police proportionnelle utilisant CSS. CJS Hayward vient de le faire, mais il faut utiliser un très vieux navigateur.
Si vous exécutiez Vim dans un tel terminal, vous obtiendrez ce que vous demandez; préparez-vous à un hijinx farfelu lorsque vous utilisez des fonctionnalités basées sur des colonnes. (par exemple
j
,k
mode visuel par blocs ou'colorcolumn'
option)MISE À JOUR Comme Carpetsmoker, le questionneur d'origine, le souligne dans un commentaire , Emacs prend en charge les polices proportionnelles appropriées et inclut également un émulateur de terminal (
M-x term
), à l'intérieur duquel vous pouvez exécuter Vim. Les passionnés de polices proportionnelles peuvent également s'intéresser au mal d' Emacs pour vivre une expérience de type Vim au sein d'Emacs.la source
Les polices proportionnelles sont prises en charge dans Oni , Neovim GUI. Utilisez le rendu "webgl" pour de meilleurs résultats.
Voir aussi https://github.com/onivim/oni/issues/2359
la source