From 7a73d436072a322498f3b668a29e8731b0255f35 Mon Sep 17 00:00:00 2001 From: Kumar Damani Date: Mon, 9 Mar 2020 23:40:27 -0400 Subject: added nvim --- nvim/.config/nvim/init.vim | 138 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 nvim/.config/nvim/init.vim (limited to 'nvim') diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim new file mode 100644 index 0000000..896d282 --- /dev/null +++ b/nvim/.config/nvim/init.vim @@ -0,0 +1,138 @@ +call plug#begin() + Plug 'ncm2/ncm2' + Plug 'roxma/nvim-yarp' + Plug 'ncm2/ncm2-bufword' + Plug 'ncm2/ncm2-path' + Plug 'ncm2/ncm2-ultisnips' + Plug 'SirVer/ultisnips' + Plug 'honza/vim-snippets' + Plug '/usr/bin/fzf' + Plug 'junegunn/fzf.vim' + Plug 'itchyny/lightline.vim' + Plug 'airblade/vim-gitgutter' + Plug 'raimondi/delimitmate' + Plug 'pearofducks/ansible-vim' + Plug 'nathanielc/vim-tickscript' +call plug#end() + +" Some basics: + filetype plugin on + syntax on + colorscheme koehler + set noswapfile + set encoding=utf-8 + set number + set relativenumber + set cursorline + let mapleader = "," + set pastetoggle=v + nmap , :w + +" Tab settings + set tabstop=4 + set shiftwidth=4 + set expandtab + autocmd Filetype css setlocal tabstop=2 + autocmd FileType yml setlocal ai ts=2 sw=2 et + autocmd FileType yaml setlocal ai ts=2 sw=2 et + autocmd FileType jinja setlocal ai ts=2 sw=2 et + autocmd FileType python setlocal ai ts=4 sw=4 et + +" C-T for new tab buffer + nnoremap :tabnew + +" For normal mode when in terminals (in X I have caps mapped to esc, this replaces it when I don't have X) + inoremap jk + +"Shortcutting split navigation, saving a keypress: + map h + map j + map k + map l + + +" Saving view folds + au BufWinLeave * mkview + +" Spell-check set to F6: + map :setlocal spell! spelllang=en_ca + +" Enable autocompletion: + set wildmode=longest,list,full + set wildmenu + +" Automatically deletes all tralling whitespace on save. + autocmd BufWritePre * %s/\s\+$//e + +"Replace all is aliased to S. Visual mode shortcut doesn't work yet for some +"reason... + nnoremap S :%s//g + vnoremap S noop + vnoremap S :s//g + + vnoremap K xkP`[V`] + vnoremap J xp`[V`] + vnoremap L >gv + vnoremap H + map gp :bp + map gd :bd + +" toggle line chars view + set listchars=tab:→\ ,eol:↲,nbsp:␣,trail:•,extends:⟩,precedes:⟨ + noremap l :set list! + set list + +" Ansible settings + au BufRead,BufNewFile */playbooks/*.yaml set filetype=yaml.ansible + au BufRead,BufNewFile */tasks/*.yaml set filetype=yaml.ansible + au BufRead,BufNewFile */group_vars/*.yaml set filetype=yaml.ansible + au BufRead,BufNewFile *.j2 set filetype=yaml.ansible + let g:ansible_attribute_highlight = "ad" + let g:ansible_name_highlight = 'd' + let g:ansible_extra_keywords_highlight = 1 + let g:ansible_normal_keywords_highlight = 'Constant' + let g:ansible_with_keywords_highlight = 'Constant' + +" Tick + let g:tick_fmt_autosave = 0 + + +" Git-gutter + set updatetime=100 + +" lightline config + set noshowmode + set laststatus=2 + +" colorscheme nord + let g:lightline = { + \ 'active': { + \ 'left': [['mode', 'paste' ], ['readonly', 'filename', 'modified']], + \ 'right': [['lineinfo'], ['percent'], ['fileformat', 'fileencoding']] + \ }, + \ 'colorscheme': 'srcery_drk' + \ } + +" fzf hotkey + function! s:find_git_root() + return system('git rev-parse --show-toplevel 2> /dev/null')[:-2] + endfunction + command! ProjectFiles execute 'Files' s:find_git_root() + + map g :ProjectFiles + map f :Files + + +" IMPORTANT: :help Ncm2PopupOpen for more information + set completeopt=noinsert,menuone,noselect + +" enable ncm2 for all buffers + autocmd BufEnter * call ncm2#enable_for_buffer() + + let g:UltiSnipsJumpForwardTrigger = "" + let g:UltiSnipsJumpBackwardTrigger = "" + let g:UltiSnipsRemoveSelectModeMappings = 0 -- cgit v1.2.3