Я нашел mlterm
, что поддерживает это. Помимо встроенного терминала Emacs (термин Mx), это единственный терминал, который я обнаружил, который поддерживает это (я пробовал около 15-20 различных).
Я обнаружил, что это mlterm
работает лучше, чем Emacs, из-за настроек отношения сторон, и вы также избегаете необходимости запускать Vim в сеансе Emacs (я даже не уверен, что это разрешено по закону).
Снимок экрана (выглядит ужасно, если вы не откроете его в полном размере из-за масштабирования в браузере):
Это требует некоторой настройки любви, хотя. После запуска нажмите Ctrl+ средний щелчок в любом месте, это откроет экран настройки. Я установил эти параметры
На вкладке «Шрифт»:
- Проверьте "Сглаживание"
- Проверьте «Переменная ширина столбца»; эта «ключевая особенность» отсутствует в большинстве других эмуляторов терминала
- Установите шрифт «DejaVu Sans Book 16» (или что-то еще, что вы предпочитаете)
- Установите ширину «соотношение экрана к размеру шрифта» до 60; это касается программ ширины терминала, если вы этого не делаете, вы используете только ~ 50% размера экрана. Наилучшее значение для этого зависит от используемого шрифта, поэтому поэкспериментируйте немного ...
Экран настройки правого клика кажется немного ненадежным, я также отредактировал свой, ~/.mlterm/vaafont
так как он не был обновлен:
ISO10646_UCS4_1 = 22,DejaVu Sans 18;21,DejaVu Sans 16;16,DejaVu Sans 16
И мой ~/.mlterm/main
(это настройки, которые я установил выше, плюс некоторые личные настройки):
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
Есть некоторые артефакты, которые следует ожидать, но написание электронных писем или сообщений, подобных этому, кажется, работает довольно хорошо!
Я создал псевдоним в моей оболочке для этого:
alias pvim mlterm -e vim
Я также создал небольшую функцию для удаления большинства 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
Есть также goyo.vim, который работает примерно так же, но мне это не очень помогло (слишком много гадости с полями). YMMV хотя.