system/nix/progs/nvim/config.vim

99 lines
2.9 KiB
VimL

" Basic settings {{{
filetype off
" Leaders
let g:mapleader = ','
let g:maplocalleader = '-'
" Better Unix support
set viewoptions=folds,options,cursor,unix,slash
set encoding=utf-8
" True color support
set termguicolors
" Theme (required plugin 'material-vim')
"let g:material_theme_style = 'default' | 'palenight' | 'ocean' | 'lighter' | 'darker' | 'default-community' | 'palenight-community' | 'ocean-community' | 'lighter-community' | 'darker-community'
let g:material_theme_style = 'ocean-community'
let g:lightline = { 'colorscheme': 'material_vim' }
colorscheme material
" Other options
syntax on
set backspace=2
set laststatus=2
set noshowmode
" Tabs as spaces
set expandtab
set tabstop=2
set softtabstop=2
set shiftwidth=2
" Clear search highlighting
nnoremap <C-z> :nohlsearch<CR>
" Fixes broken cursor on Linux
set guicursor=
" General editor options
set hidden " Hide files when leaving them.
set number " Show line numbers.
set numberwidth=1 " Minimum line number column width.
set cmdheight=2 " Number of screen lines to use for the commandline.
set textwidth=0 " Lines length limit (0 if no limit).
set linebreak " Don't cut lines in the middle of a work.
set showmatch " Show matching parenthesis.
set matchtime=2 " Time during which the matching parenthesis is shown.
set formatoptions=jtcrq " Sensible default line auto cutting and formatting.
set listchars=tab:▸\ ,eol" Invisible characters representation when :set list.
set clipboard=unnamedplus " Copy/Past to/from clipboard
set cursorline " Highlight line cursor is currently on
set completeopt+=noinsert " Select the first item of popup menu automatically without inserting it
" Search
set incsearch " Incremental search.
set ignorecase " Case insensitive.
set smartcase " Case insensitive if no uppercase letter in pattern, case sensitive otherwise
" Spell check for markdown files
au BufNewFile,BufRead *.md set spell
" Disable arrow keys and page up / down
noremap <Up> <nop>
noremap <Down> <nop>
noremap <Left> <nop>
noremap <Right> <nop>
inoremap <Up> <nop>
inoremap <Down> <nop>
inoremap <Left> <nop>
inoremap <Right> <nop>
vnoremap <Up> <nop>
vnoremap <Down> <nop>
vnoremap <Left> <nop>
vnoremap <Right> <nop>
noremap <PageUp> <nop>
inoremap <PageUp> <nop>
vnoremap <PageUp> <nop>
noremap <PageDown> <nop>
inoremap <PageDown> <nop>
vnoremap <PageDown> <nop>
" Disable mouse / touchpad (only in vim)
set mouse=
inoremap <ScrollWheelUp> <nop>
inoremap <S-ScrollWheelUp> <nop>
inoremap <C-ScrollWheelUp> <nop>
inoremap <ScrollWheelDown> <nop>
inoremap <S-ScrollWheelDown> <nop>
inoremap <C-ScrollWheelDown> <nop>
inoremap <ScrollWheelLeft> <nop>
inoremap <S-ScrollWheelLeft> <nop>
inoremap <C-ScrollWheelLeft> <nop>
inoremap <ScrollWheelRight> <nop>
inoremap <S-ScrollWheelRight> <nop>
inoremap <C-ScrollWheelRight> <nop>
" Incremental substitutin
set inccommand=split