36 lines
1.0 KiB
Nix
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\+$/
|
|
'';
|
|
};
|
|
}
|