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:
- Cochez "Anti-alias"
- Cochez "Largeur de colonne variable"; c'est la "fonctionnalité clé" qui manque à la plupart des autres émulateurs de terminaux
- Définissez la police sur "DejaVu Sans Book 16" (ou comme vous préférez)
- Définissez la largeur du rapport d'écran sur la taille de la police à 60; Cela concerne les programmes sur la largeur du terminal. Si vous ne le faites pas, vous n'utilisez que ~ 50% de la taille de l'écran. La meilleure valeur pour cela dépend de la police utilisée, alors expérimentez un peu ...
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:
ISO10646_UCS4_1 = 22,DejaVu Sans 18;21,DejaVu Sans 16;16,DejaVu Sans 16
Et mon ~/.mlterm/main
(ce sont les paramètres que j'ai définis ci-dessus, plus quelques préférences personnelles):
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
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:
alias pvim mlterm -e vim
J'ai également créé une petite fonction pour supprimer la plupart des interfaces utilisateur chrome:
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
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.