mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-14 14:12:41 +00:00
100 lines
2.8 KiB
VimL
100 lines
2.8 KiB
VimL
|
|
" ----------------------- settings ----------------------------------
|
|
set autoindent
|
|
set autowrite " automatically write files when changing
|
|
set background=dark
|
|
set backspace=indent,eol,start
|
|
set belloff=all
|
|
set colorcolumn=80
|
|
set expandtab " replace tabs with spaces automatically
|
|
set exrc
|
|
set foldmethod=manual
|
|
set hidden
|
|
set history=100 " command history
|
|
set icon
|
|
set incsearch
|
|
set nobackup
|
|
set nocompatible
|
|
set nofixendofline
|
|
set nohlsearch
|
|
set noswapfile
|
|
"set nowrap
|
|
set number
|
|
set relativenumber
|
|
set ruler " turns on col and row in lower right
|
|
" used with `set ruler`
|
|
set ruf=%30(%=%#LineNr#%.50F\ [%{strlen(&ft)?&ft:'none'}]\ %l:%c\ %p%%%)
|
|
set scrolloff=8
|
|
set shiftwidth=2
|
|
set showmode " show command and insert mode
|
|
set signcolumn=no
|
|
set smartindent
|
|
set smarttab
|
|
set softtabstop=2
|
|
set tabstop=2
|
|
set termguicolors
|
|
set textwidth=72 " Used with line wrapping
|
|
set ttyfast " faster scrolling
|
|
set undodir=~/.vim/undodir
|
|
set undofile
|
|
set viminfo='20,<1000,s1000 " prevents truncated yanks, deletes, etc.
|
|
set wildmenu
|
|
set wrap
|
|
|
|
syntax enable
|
|
filetype plugin on " sense the filesystem
|
|
let mapleader = " "
|
|
|
|
" ----------------------- plugins ----------------------------------
|
|
|
|
" Install vim-plug if not found
|
|
if empty(glob('~/.vim/autoload/plug.vim'))
|
|
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
|
|
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
|
endif
|
|
|
|
" Run PlugInstall if there are missing plugins
|
|
autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
|
|
\| PlugInstall --sync | source $MYVIMRC
|
|
\| endif
|
|
|
|
call plug#begin('~/.vim/plugged')
|
|
Plug 'junegunn/fzf'
|
|
Plug 'vim-pandoc/vim-pandoc'
|
|
Plug 'rwxrob/vim-pandoc-syntax-simple'
|
|
Plug 'morhetz/gruvbox'
|
|
call plug#end()
|
|
|
|
colorscheme gruvbox
|
|
" highlight Normal guibg=none
|
|
|
|
" ----------------------- utilities ----------------------------------
|
|
|
|
" fuzzy finder
|
|
let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6 } }
|
|
|
|
" opens fuzzy finder under the current directory
|
|
nmap <leader>ff :call fzf#run(fzf#wrap({ 'source': 'find "$PWD" -type f' }))<CR>
|
|
" opens fuzzy finder for files under a git version control
|
|
nmap <leader>fg :call fzf#run(fzf#wrap({ 'source': 'git ls-files' }))<CR>
|
|
|
|
|
|
fun! TrimWhiteSpace()
|
|
let l:save = winsaveview()
|
|
keeppatterns %s/\s\+$//e
|
|
call winrestview(l:save)
|
|
endfun
|
|
|
|
augroup MICHAEL
|
|
autocmd!
|
|
autocmd BufWritePre * :call TrimWhiteSpace()
|
|
autocmd Filetype yaml setlocal ts=2 sts=2 sw=2 expandtab
|
|
autocmd Filetype markdown setlocal tw=79 fo+=t
|
|
autocmd Filetype pandoc setlocal tw=79 fo+=t
|
|
" format json when writing a buffer.
|
|
autocmd BufWritePre *.json :silent %!jq
|
|
augroup END
|
|
|
|
|
|
|