|
|
|
@ -3,13 +3,41 @@
|
|
|
|
|
{
|
|
|
|
|
programs.vim = {
|
|
|
|
|
enable = true;
|
|
|
|
|
# Temporary configuration for editing Nix files
|
|
|
|
|
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
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|