nixos/home-manager/software/vim/default.nix
2022-01-21 20:06:08 +01:00

36 lines
1.0 KiB
Nix

{ ... }:
{
programs.vim = {
enable = true;
settings = {
expandtab = true;
tabstop = 4;
shiftwidth = 4;
number = true;
relativenumber = true;
};
extraConfig = ''
autocmd BufWritePre * :%s/\s\+$//e
if has("autocmd")
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
set cursorline " highlight the current line
set wildmenu " visual autocomplete for command menu
set background=dark " enables the dark background in themes
set showmatch " highlight matching [{()}]
"Shows a red line with a width of 80 characters
set colorcolumn=80
"Wrap text after 80 characters
set textwidth=80
"Autowrap text with textwidh (t) and only insert a comment leader when pressing
"o or O (o)
set formatoptions=to
set encoding=utf-8
highlight BadWhitespace ctermbg=red guibg=darkred
au BufRead,BufNewFile * match BadWhitespace /\s\+$/
'';
};
}