Cross platform Neovim front-end UI, built with F# + Avalonia.
Features
- HiDPI support -- try dragging it across two screens with different DPIs ;)
- Proper font rendering -- respects font style, baseline, etc.
- Proper cursor rendering -- color, blink etc.
- Built-in support for Nerd font -- no need to patch your fonts!
- East asia wide glyph display with font fallback options
- Emojis!
- Use a Windows FVim frontend with a WSL neovim:
fvim --wsl
Try these bindings (note, fvim-specific settings only work in ginit.vim
, not init.vim
!):
if exists('g:fvim_loaded')
" good old 'set guifont' compatibility
set guifont=Iosevka\ Slab:h16
" Ctrl-ScrollWheel for zooming in/out
nnoremap <silent> <C-ScrollWheelUp> :set guifont=+<CR>
nnoremap <silent> <C-ScrollWheelDown> :set guifont=-<CR>
nnoremap <A-CR> :call rpcnotify(1, 'ToggleFullScreen', 1)<CR>
endif
Some work-in-progress fancy cursor effects:
if exists('g:fvim_loaded')
" 1st param = blink animation
" 2nd param = move animation
call rpcnotify(1, 'SetCursorAnimation', v:true, v:true)
endif
Goals
- High performance rendering, low latency (60FPS on 4K display with reasonable font size!) (wip)
- GPU acceleration (wip)
- Input method support built from scratch (wip)
- Multi-grid <=> Multi-window mapping (multiple windows in the OS sense, not Vim "frames")
- Extend with XAML -- UI widgets as NeoVim plugins
Non-Goals
- Electron ecosystem integration