Eu descobri mlterm
, o que suporta isso. Além do terminal embutido do Emacs (termo Mx), este é o único terminal que encontrei que suporta isso (tentei de 15 a 20 diferentes).
Descobri que mlterm
funciona melhor que o Emacs devido às configurações de proporção de sceen, e você também evita executar o Vim dentro de uma sessão do Emacs (nem tenho certeza se isso é legalmente permitido).
Captura de tela (parece feia, a menos que você a abra em tamanho real devido ao dimensionamento no navegador):
Requer, no entanto, alguma configuração de amor. Após iniciar, pressione Ctrl+ clique do meio em qualquer lugar, isso abrirá a tela de configuração. Eu defino essas opções
Na guia Fonte:
- Marque "Anti-alias"
- Marque "Largura variável da coluna"; esse é o "recurso principal" ausente na maioria dos outros emuladores de terminal
- Defina a fonte como "DejaVu Sans Book 16" (ou o que você preferir)
- Defina a largura "proporção da tela em relação ao tamanho da fonte" para 60; isso se aplica a programas sobre a largura do terminal; caso contrário, você está usando apenas 50% do tamanho da tela. O melhor valor para isso depende da fonte usada, então experimente um pouco ...
A tela de configuração do botão direito do mouse parece um pouco esquisita, também editei o meu, ~/.mlterm/vaafont
pois isso não foi atualizado:
ISO10646_UCS4_1 = 22,DejaVu Sans 18;21,DejaVu Sans 16;16,DejaVu Sans 16
E o meu ~/.mlterm/main
(estas são as configurações que defini acima, além de algumas preferências pessoais):
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
Existem alguns artefatos que são de se esperar, mas escrever e-mails ou postagens como essa parece funcionar muito bem!
Eu criei um alias no meu shell para isso:
alias pvim mlterm -e vim
Também criei uma pequena função para remover a maioria dos cromo da interface do usuário:
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
Há também o goyo.vim, que é basicamente o mesmo, mas isso não funcionou muito bem para mim (muito mexer nas margens). YMMV embora.