Want to contribute? Fork me on Codeberg.org!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.1 KiB

{ pkgs, ... }:
{
programs.vim = {
enable = true;
defaultEditor = true;
extraConfig = ''
" Temporary configuration for editing Nix files
syntax on
set autoindent
set expandtab
set tabstop=2
set shiftwidth=2
" Temporary configuration for editing markdown
" full configuration with plugins is described here
" https://blog.elnu.com/2022/06/how-to-configure-vim-for-writing
setlocal linebreak
set spell spelllang=en
set spelllang+=cjk " prevent CJK characters from being spellchecked
function! Characters()
return strchars(join(getline(1, '$'), "\n"))
endfunction
function! Words()
return wordcount().words
endfunction
function! Minutes()
let wpm = 200
return (Words() + wpm / 2) / wpm
endfunction
set laststatus=2 " enable status line
set statusline+=%=%{Words()}\ words,
set statusline+=\ %{Characters()}\ characters,\ about
set statusline+=\ %{Minutes()}\ minutes
" remove ugly white background
hi StatusLine ctermfg=0 ctermbg=none cterm=bold " 0 for the terminal color 0
'';
};
}