Encontré mlterm
, lo que apoya esto. Aparte del terminal incorporado de Emacs (término Mx), este es el único terminal que he encontrado que admite esto (he probado unos 15-20 diferentes).
Descubrí que mlterm
funciona mejor que Emacs debido a la configuración de la relación de pantalla, y también evita tener que ejecutar Vim dentro de una sesión de Emacs (ni siquiera estoy seguro de que esté legalmente permitido).
Captura de pantalla (se ve fea a menos que la abra a tamaño completo debido a la escala en el navegador):
Sin embargo, requiere un poco de amor de configuración. Después de comenzar, presione Ctrl+ clic central en cualquier lugar, esto abrirá la pantalla de configuración. Establezco estas opciones
En la pestaña Fuente:
- Marque "Anti-alias"
- Marque "Ancho de columna variable"; esta es la "característica clave" que falta en la mayoría de los otros emuladores de terminal
- Establezca la fuente en "DejaVu Sans Book 16" (o lo que prefiera)
- Establezca el ancho de "relación de pantalla contra tamaño de fuente" en 60; esto se aplica a los programas sobre el ancho del terminal, si no lo haces, solo estás usando ~ 50% del tamaño de la pantalla. El mejor valor para esto depende de la fuente utilizada, así que experimente un poco ...
La pantalla de configuración del botón derecho parece un poco escasa, también edité mi ~/.mlterm/vaafont
ya que no se actualizó:
ISO10646_UCS4_1 = 22,DejaVu Sans 18;21,DejaVu Sans 16;16,DejaVu Sans 16
Y mi ~/.mlterm/main
(estos son los ajustes que configuré anteriormente, más algunas preferencias personales):
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
Hay algunos artefactos, que son de esperar, pero escribir correos electrónicos o publicaciones como esta, ¡parece funcionar bastante bien!
Creé un alias en mi shell para esto:
alias pvim mlterm -e vim
También creé una pequeña función para eliminar la mayoría del cromo de la interfaz de usuario:
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
También hay goyo.vim, que es más o menos lo mismo, pero eso no funcionó muy bien para mí (demasiada burla con los márgenes). YMMV sin embargo.