diff options
author | Alex Auvolat <alex@adnab.me> | 2023-01-17 12:45:46 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2023-01-17 12:45:46 +0100 |
commit | d47dd5aa3882aea1a8eff4fb9faa4881274559dc (patch) | |
tree | b438c8fb8953b84614c170a5278ae72ece90bb68 /vim/vimrc | |
parent | eaf6d5b07bcdd9a3eb9bfdac93566b7432e46c37 (diff) | |
download | user-config-d47dd5aa3882aea1a8eff4fb9faa4881274559dc.tar.gz user-config-d47dd5aa3882aea1a8eff4fb9faa4881274559dc.zip |
Unify things and rename things
Diffstat (limited to 'vim/vimrc')
-rw-r--r-- | vim/vimrc | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/vim/vimrc b/vim/vimrc new file mode 100644 index 0000000..a5f8092 --- /dev/null +++ b/vim/vimrc @@ -0,0 +1,107 @@ +" ============== KEY MAPPINGS + +let mapleader="," + +" Tab modes. +map <leader>m <Esc>:set expandtab ts=2 sw=2 sts=2<CR> +map <leader>t <Esc>:set noexpandtab ts=4 sw=4 sts=4<CR> +map <leader>T <Esc>:set expandtab ts=4 sw=4 sts=4<CR> + +" Folds: +" map <leader>f <Esc>:set fen fdn=3 fdm=indent fml=1 fdc=3<CR> + +map ; <ESC>:FZF<CR> + +" H-L for next-prev buffer +nnoremap <leader>l :bnext<CR> +nnoremap <leader>k :bprev<CR> + + + +" Append modeline after last line in buffer. +" Use substitute() instead of printf() to handle '%%s' modeline in LaTeX +" files. +function! AppendModeline() + let l:modeline = printf(" vim: set sts=%d ts=%d sw=%d tw=%d %set :", + \ &softtabstop, &tabstop, &shiftwidth, &textwidth, &expandtab ? '' : 'no') + let l:modeline = substitute(&commentstring, "%s", l:modeline, "") + call append(line("$"), l:modeline) +endfunction +nnoremap <silent> <Leader>ml :call AppendModeline()<CR> + + +" =================== OPTIONS + +" colorscheme slate + +filetype plugin indent on +set autoindent +set ts=4 sw=4 + +" Controls +set mouse=a +set nostartofline +set wildmode=list:longest + +" Display +highlight SpellBad ctermfg=red ctermbg=none +set bg=dark +set hlsearch +set incsearch +syntax on +set lazyredraw +set number +set relativenumber +set showcmd +set shortmess=a +set display+=lastline + +" indentation for long line wraps +set wrap +set linebreak +set breakindent +let &showbreak = '> ' + +" set cursorline +" hi CursorLine cterm=bold ctermbg=0 +" hi Folded ctermfg=2 ctermbg=0 +" hi FoldColumn ctermfg=2 ctermbg=0 + +let g:sclangTerm = "urxvt -e" + +let NERDTreeIgnore=['\.o$', '\.cmo$', '\.cmx$', '\.cmi$', '\.lib$', '\.pyc$', '^__pycache__$'] + +" set completeopt=menuone,menu,longest,preview + +" set undofile +set directory=~/.vim/swp +set backupdir=~/.vim/backup +" set undodir=~/.vim/undo + +" =========== FILE TYPE SPECIFIC + +au BufRead,BufNewFile *.make set filetype=make +au BufRead,BufNewFile *.md set filetype=markdown +au BufRead,BufNewFile *.lus set filetype=lustre +au BufRead,BufNewFile *.scade set filetype=scade + +au FileType make setl noexpandtab +au FileType python setl sw=4 sts=4 et +au FileType html setl sw=2 sts=2 et +au FileType htmldjango setl sw=2 sts=2 et +au FileType json setl sw=2 sts=2 et +au FileType javascript setl sw=2 sts=2 et +au FileType yaml setl sw=2 sts=2 et +au FileType css setl sw=4 sts=4 et +au FileType lua setl ts=4 sw=4 noet +au FileType elixir setl sw=2 sts=2 et +au FileType nix setl sw=2 sts=2 et + +autocmd FileType tex setlocal spell spelllang=en + +" Packs + +" packloadall +" silent! helptags ALL + + |