diff --git a/contrib/init.vim b/contrib/init.vim new file mode 100644 index 0000000..6980a8b --- /dev/null +++ b/contrib/init.vim @@ -0,0 +1,209 @@ +scriptencoding utf-8 + +if empty(glob('~/.config/nvim/autoload/plug.vim')) + silent !curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs + \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim + autocmd VimEnter * PlugInstall --sync | source ~/.config/nvim/init.vim +endif + +call plug#begin('~/.config/nvim/plugged') +Plug 'Raimondi/delimitMate' +Plug 'Shougo/deoplete.nvim', {'do': ':UpdateRemotePlugins'} +Plug 'Shougo/neosnippet-snippets' +Plug 'Shougo/neosnippet.vim' +Plug 'Xuyuanp/nerdtree-git-plugin' +Plug 'craigemery/vim-autotag' +Plug 'davidhalter/jedi-vim', {'for': 'python'} +Plug 'dracula/vim', { 'as': 'dracula' } +Plug 'ervandew/supertab' +Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries', 'for': 'go'} +Plug 'ggandor/lightspeed.nvim' +Plug 'jistr/vim-nerdtree-tabs' +Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } +Plug 'junegunn/fzf.vim' +Plug 'kien/rainbow_parentheses.vim' +Plug 'mhinz/vim-signify' +Plug 'preservim/nerdtree' +Plug 'rhysd/clever-f.vim' +Plug 'sebdah/vim-delve', {'for': 'go'} +Plug 'sheerun/vim-polyglot' +Plug 'morhetz/gruvbox' +Plug 'takac/vim-hardtime' +Plug 'tpope/vim-commentary' +Plug 'tpope/vim-fugitive' +Plug 'tpope/vim-rsi' +Plug 'tpope/vim-surround' +Plug 'tpope/vim-unimpaired' +Plug 'vim-airline/vim-airline' +Plug 'w0rp/ale' +Plug 'zchee/deoplete-jedi', {'for': 'python'} +call plug#end() + +let g:gruvbox_italic=1 +let g:gruvbox_termcolors=16 +colorscheme gruvbox +set background=dark +hi Normal guibg=NONE ctermbg=NONE +hi Comment ctermfg=grey + +let g:hardtime_default_on=1 +let g:hardtime_timeout=500 +let g:hardtime_maxcout=4 + +let g:python_host_prog='/usr/bin/python2' +let g:python3_host_prog=$PYENV_ROOT.'/versions/3.9.0/bin/python' + +let g:mapleader=';' + +let g:airline#extensions#tabline#enabled=1 + +let g:deoplete#enable_at_startup=1 +let g:deoplete#enable_ignore_case=1 + +let g:SuperTabDefaultCompletionType='' +let g:SuperTabLongestHighlight=1 + +let g:nerdtree_tabs_autoclose=1 +let g:nerdtree_tabs_open_on_console_startup=0 +let g:nerdtree_tabs_smart_startup_focus=2 +let g:nerdtree_tabs_startup_cd=1 +let g:nerdree_minimal_ui=1 + +let g:NERDTreeShowLineNumbers=1 +let g:NERDTreeShowHidden=0 + +let g:jedi#usages_command='' +let g:jedi#popup_select_first=1 +let g:jedi#use_tabs_not_buffers=1 +let g:jedi#show_call_signatures='2' +let g:jedi#auto_close_doc=1 +let g:jedi#completions_enabled=0 + +let g:ale_linters={ + \ 'python': ['flake8', 'mypy'], + \ 'sh': ['shellcheck'], + \ 'bash': ['shellcheck'], + \ } +let g:ale_fix_on_save=1 +let g:ale_fixers={ + \ '*': ['trim_whitespace', 'remove_trailing_lines'], + \ 'python': ['isort', 'black'], + \ 'go': ['gofmt'], + \ } +let g:ale_lint_delay=500 +let g:ale_lint_on_enter=0 +let g:ale_lint_on_enter=0 +let g:ale_lint_on_filetype_changed=0 +let g:ale_lint_on_insert_leave=0 +let g:ale_lint_on_save=0 +let g:ale_lint_on_save=1 +let g:ale_lint_on_text_changed=0 + +let g:go_fmt_command='goimports' +let g:go_addtags_transform='snakecase' +let g:go_snippet_engine='neosnippet' +let g:go_def_mapping_enabled=0 + +let g:fzf_tags_command='ctags -R' + +let g:delimitMate_nesting_quotes=['"', '`', "'"] + +let g:autotagTagsFile='tags' + +imap jk + +imap (neosnippet_expand_or_jump) +smap (neosnippet_expand_or_jump) +xmap (neosnippet_expand_target) + +smap neosnippet#expandable_or_jumpable() ? +\ "\(neosnippet_expand_or_jump)" : "\" + +ino a +ino A + +nn Z 1z= + +nn :tabnew + +nn n :NERDTreeToggle +nn f :Files +nn r :Rg +nn t :Tags +nn g :GoDef +nn d :GoDoc +nn D :GoDocBrowser +nn p :Git push + +nn ev :split $MYVIMRC +nn sv :source $MYVIMRC + +nn pi :PlugInstall +nn pu :PlugUpdate +nn pg :PlugUpgrade +nn pc :PlugClean + +nn j +nn k +nn l +nn h + +syntax on +filetype plugin indent on + +set spelllang=en_gb +set nopaste +set nospell +set number +set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*.pyc*,*/.venv/*,*/.ve/* +set completeopt=menuone,preview +set wrap +set incsearch +set ignorecase +set textwidth=0 +set wrapmargin=0 +set nobackup +set nowritebackup +set noswapfile +set history=999 +set backspace=indent,eol,start +set ruler +set showmode +set laststatus=2 +set scrolloff=10 +set cmdheight=2 +set hlsearch +set gdefault +set hidden +set whichwrap+=<,>,[,] +set wildmenu +set title +set virtualedit=onemore +set fileencodings=. +set spelllang=en_gb +set foldmethod=indent +set foldlevel=99 +set relativenumber +set nohlsearch +set list +set expandtab +set nosmartindent +set shiftwidth=2 +set softtabstop=2 +set tabstop=2 +set splitbelow +set splitright +set inccommand=split +set updatetime=100 +set encoding=utf8 +set clipboard+=unnamedplus + +au VimEnter * RainbowParenthesesToggle +au Syntax * RainbowParenthesesLoadRound +au Syntax * RainbowParenthesesLoadSquare +au Syntax * RainbowParenthesesLoadBraces + +augroup nerdtree + autocmd! + autocmd! FileType nerdtree setlocal relativenumber +augroup END