Existe alguma maneira de usar uma fonte não monoespaçada em um vim
ou gvim
?
Tentei alterar a fonte do gVim com:
:set guifont=Dejavu\ Serif\ 12
Mas isso me dá alguns resultados bastante feios:
Eu obtenho os mesmos resultados se eu usar o menu (Editar -> Selecionar fonte)
:help guifont
diz:
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.
Então, acho que os resultados acima contam como "não parecem melhores"? Isso pode ser melhorado, de alguma forma?
Também tentei definir uma fonte não monoespaçada no meu terminal ( xterm
), mas isso parece ter aproximadamente o mesmo efeito:
Eu não me importo de usar um emulador de terminal diferente para este btw.
Respostas:
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:
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:E o meu
~/.mlterm/main
(estas são as configurações que defini acima, além de algumas preferências pessoais):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:
Também criei uma pequena função para remover a maioria dos cromo da interface do usuário:
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.
fonte
Definitivamente, ele não é suportado no GUI Vim, e eu ficaria surpreso se houvesse mais do que um punhado de emuladores de terminal que suportam fontes proporcionais da maneira que você espera: isso quebraria muitas das coisas padrão para as quais os terminais estão. usava. Como muitas partes do Unix e outros ambientes de linha de comando presumem fontes monoespaçadas, esse tipo de exibição não pode ser usado como um terminal de uso geral; portanto, o desenvolvedor do terminal teria que ter realizado um trabalho adicional com pouco benefício.
No entanto, existe pelo menos um emulador de terminal implementado usando tecnologias da web ( Ajaxterm ) e, como ele usa HTML / CSS para renderização, é possível usar uma fonte proporcional usando CSS. O CJS Hayward fez exatamente isso, mas requer o uso de um navegador muito antigo.
Se você executasse o Vim nesse terminal, obteria o que estava pedindo; esteja preparado para o hijinx maluco quando você usa qualquer recurso baseado em coluna. (por exemplo
j
,k
modo visual em blocos ou a'colorcolumn'
opção)ATUALIZAÇÃO Como Carpetsmoker, um questionador original, aponta em um comentário , o Emacs tem suporte proporcional adequado à fonte e também inclui um emulador de terminal (
M-x term
), dentro do qual você pode executar o Vim. Entusiastas dedicados de fontes proporcionais também podem gostar de analisar o Evil do Emacs para obter uma experiência semelhante ao Vim no Emacs.fonte
Fontes proporcionais são suportadas na Oni , Neovim GUI. Use o renderizador "webgl" para obter melhores resultados.
Consulte também https://github.com/onivim/oni/issues/2359
fonte