set encoding=utf-8 scriptencoding utf-8 set ttyfast " assume fast terminal and send more chars for smooth redraw set lazyredraw " don't redraw while executing macros, register and cmds set laststatus=2 " every window gets a statusline, always(=2) set scrolloff=5 " scroll edge offset (to keep some context) set shortmess=a " abbreviate all(=a) messages when possible set showcmd " show last command " search related settings set ignorecase smartcase " case insensitive search if all lowercase set incsearch " incrementally move to match and highlight set hlsearch " highlight previous search pattern " backups set nobackup " don't create annoying backup files " complete up to longest match and display the list of possible matches set wildmode=list:longest " Plugins call plug#begin('~/.local/share/nvim/plugged') Plug 'fatih/vim-go' Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --bin' } Plug 'junegunn/fzf.vim' Plug 'mileszs/ack.vim' Plug 'plasticboy/vim-markdown' Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' call plug#end() " configure ack.vim to use silver surfer let g:ackprg = 'ag --vimgrep --smart-case' " configure vim-go let g:go_debug_windows = { \ 'vars': 'leftabove 35vnew', \ 'stack': 'botright 10new', \ } " configure fzf plugin let g:fzf_command_prefix = 'Fzf' let g:fzf_layout = { 'down': '~20%' } nmap :FzfHistory imap :FzfHistory nmap :FzfFiles imap :FzfFiles " Python settings autocmd BufNewFile,BufRead *.py setlocal tabstop=2 softtabstop=2 shiftwidth=2 textwidth=100 smarttab expandtab " JSON settings autocmd BufNewFile,BufRead *.json setlocal tabstop=2 softtabstop=2 expandtab " Dockerfile settings autocmd FileType dockerfile setlocal noexpandtab " Go settings autocmd BufNewFile,BufRead *.go setlocal noexpandtab tabstop=2 shiftwidth=2 " Yaml settings autocmd BufNewFile,BufRead *.yml setlocal expandtab tabstop=2 shiftwidth=2 autocmd BufNewFile,BufRead *.yaml setlocal expandtab tabstop=2 shiftwidth=2 " mapping imap jj " Exit on j syntax on