set nocompatible filetype off call plug#begin('~/.local/share/nvim/plugged') " === plugins === "Plug 'vim-airline/vim-airline' "Plug 'vim-airline/vim-airline-themes' Plug 'itchyny/lightline.vim' " Plug 'godlygeek/tabular' " Plug 'lepture/vim-jinja' Plug 'majutsushi/tagbar' " Plug 'nblock/vim-dokuwiki' Plug 'reedes/vim-pencil' " Plug 'saltstack/salt-vim' Plug 'sickill/vim-monokai' " Plug 'sjl/gundo.vim' " Plug 'tpope/vim-commentary' " Plug 'tpope/vim-fugitive' " Plug 'tpope/vim-speeddating' " Plug 'tpope/vim-surround' Plug 'airblade/vim-gitgutter' Plug 'junegunn/goyo.vim' Plug 'junegunn/limelight.vim' " Plug 'sheerun/vim-polyglot' " Plug 'freitass/todo.txt-vim' Plug 'Valloric/YouCompleteMe' Plug 'nathanaelkane/vim-indent-guides' "Plugin 'Lokaltog/vim-easymotion' "Plugin 'PeterRincker/vim-argumentative' "Plugin 'flazz/vim-colorschemes' "Plugin 'jmcantrell/vim-virtualenv' "Plugin 'kien/ctrlp.vim' "Plugin 'klen/python-mode' "Plugin 'mbbill/undotree' Plug 'scrooloose/nerdtree' "Plugin 'sjl/gundo.vim' "Plugin 'terryma/vim-expand-region' "Plugin 'terryma/vim-multiple-cursors' "Plugin 'wellle/targets.vim' "Plugin 'wincent/Command-T' Plug 'vimwiki/vimwiki' Plug 'blindFS/vim-taskwarrior' Plug 'tbabej/taskwiki' call plug#end() filetype plugin indent on " == formatting == set tabstop=4 set smarttab set softtabstop=4 set shiftround set shiftwidth=4 set autoindent set expandtab set smartindent "set formatoptions=tcqjron set formatoptions= " == ui == set cursorline set showcmd set number set wildmode=list:longest set lazyredraw set wildmenu set noshowmatch set colorcolumn=80 set laststatus=2 set matchtime=5 set mouse=a set mousehide set noerrorbells set noshowmode set numberwidth=2 set relativenumber set shortmess=rti set ruler set scrolloff=7 set title set titlestring="" set ttyfast " == searching == set hlsearch set incsearch set gdefault set ignorecase set magic set smartcase " == folding == set foldenable set foldmethod=indent set foldnestmax=2 set foldlevelstart=2 " == backups == set nobackup set backupcopy=no set nowritebackup " == swap == set swapfile set updatecount=200 set updatetime=10000 " == undo == set undolevels=1000 set undoreload=10000 set undodir=~/.vim/undo set undofile " == environment / directories == set autochdir set directory=/var/tmp,/tmp set viewdir=~/.vim/view " == misc == set autoread set confirm set encoding=utf-8 set history=1000 set modeline set modelines=5 set notildeop set wildignore=*.swp,*.bak,*.pyc,*~,*.o set hidden " == editing == set backspace=indent,eol,start " set esckeys set matchpairs=(:),{:},[:],<:> set notimeout set ttimeout set timeoutlen=1000 set ttimeoutlen=0 set virtualedit=block set whichwrap=b,s " == line breaking == set linebreak set wrap set wrapscan " === keybinds === set pastetoggle= let maplocalleader = "รถ" let mapleader = "\" " map w: w! " nnoremap w :w nmap za map , : vnoremap y y`] vnoremap p p`] nnoremap p p`] nnoremap , :nohlsearch noremap gV `[v`] map Y y$ map j gj map k gk nnoremap h nnoremap j nnoremap k nnoremap l nmap :bnext nmap :bprev map N Nzz map n nzz inoremap jj nnoremap v vl nnoremap u :GundoToggle nmap :Goyo:TogglePencil:Limelight!! nmap w :Goyo:TogglePencil:Limelight!! " no more ex mode nnoremap Q " === autocommands === "" autosave views when closing and restoring when opening again. "autocmd BufWinLeave *.* mkview "autocmd BufWinEnter *.* silent loadview " === plugin setup === " == colorscheme == set background=light let g:solarized_termcolors=16 let g:solarized_termtrans=1 let g:solarized_contrast="normal" let g:solarized_visibility="normal" syntax enable colorscheme monokai " == tagbar == nnoremap :TagbarToggle let g:tagbar_map_jump = "i" let g:tagbar_left = 0 let g:tagbar_vertical = 0 let g:tagbar_width = 50 let g:tagbar_autoclose = 1 let g:tagbar_autofocus = 1 let g:tagbar_sort = 0 " 1: sort by name, 0: sort by position let g:tagbar_compact = 1 let g:tagbar_indent = 2 let g:tagbar_show_linenumbers = 0 let g:tagbar_foldlevel = 99 " unfold all " == airline == "let g:airline_right_sep = '' "let g:airline_left_sep = '' "let g:airline#extensions#disable_rtp_load = 1 "let g:airline_extensions = ['whitespace'] "let g:airline_theme='powerlineish' "let g:airline_powerline_fonts = 1 "let g:airline_section_x = airline#section#create(['%{tagbar#currenttag("%s", "", "f")}','' , ' %{PencilMode()}', ' [', 'filetype', ']']) "let g:pencil#mode_indicators = {'hard': 'H', 'auto': 'A', 'soft': 'S', 'off': '',} "let g:airline#extensions#whitespace#enabled = 1 "let g:airline#extensions#whitespace#symbol = '' "let g:airline#extensions#whitespace#checks = ['trailing'] let g:lightline = { \ 'colorscheme': 'powerline', \ } " == pencil == let g:pencil#textwidth = 80 let g:pencil#autoformat = 1 let g:pencil#cursorwrap = 1 " == goyo == let g:goyo_width = 100 let g:goyo_height = "90%" let g:goyo_linenr = 0 " == limelight == let g:limelight_default_coefficient = 0.5 " === functions === function! DeleteTrailingWS() exe "normal mz" %s/\s\+$//e exe "normal `z" endfunction autocmd BufWritePre * :call DeleteTrailingWS() autocmd FileType yaml set shiftwidth=2