summaryrefslogtreecommitdiff
path: root/vim
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2023-01-17 12:45:46 +0100
committerAlex Auvolat <alex@adnab.me>2023-01-17 12:45:46 +0100
commitd47dd5aa3882aea1a8eff4fb9faa4881274559dc (patch)
treeb438c8fb8953b84614c170a5278ae72ece90bb68 /vim
parenteaf6d5b07bcdd9a3eb9bfdac93566b7432e46c37 (diff)
downloaduser-config-d47dd5aa3882aea1a8eff4fb9faa4881274559dc.tar.gz
user-config-d47dd5aa3882aea1a8eff4fb9faa4881274559dc.zip
Unify things and rename things
Diffstat (limited to 'vim')
-rw-r--r--vim/vimrc107
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
+
+