filetype plugin on " set rtp+=~/.fzf " disable compatability set nocompatible " enable syntax highlighting syntax enable " show relative line numbers set number relativenumber " tabspaces = 4 set ts=4 " indent to the next line set autoindent " expand tabs into spaces set expandtab " when using the >> or << shift lines by 4 spaces set shiftwidth=4 " show visual line under the cursor's current line set cursorline " show the matching part of the pair for [] {} and () set showmatch " Map jk to inoremap jk " Map leader to , let mapleder = ',' " Splitting " nnoremap "Split down " nnoremap "Split up " nnoremap "Split right " nnoremap "Split left set splitbelow set splitright " Python Env " enable all Python syntax highlighting features let python_highlight_all = 1 autocmd FileType python set sw=4 autocmd FileType python set ts=4 autocmd FileType python set sts=4 let g:python_host_prog = 'C:\Python27amd64' let g:python3_host_prog = 'C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64' " Spell Checking autocmd BufRead,BufNewFile *.md set spell spelllang=en_us call plug#begin('~/AppData/Local/nvim/plugged') Plug 'vim-airline/vim-airline' " Powerline/Airline Styling Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } " File viewer Plug 'tpope/vim-unimpaired' " Bracket mapping Plug 'tpope/vim-scriptease', {'type': 'opt'} " Vim Script Editing Plug 'jeffkreeftmeijer/vim-numbertoggle' " Toggles relative numbers Plug 'vim-syntastic/syntastic' " Syntax Plug 'tpope/vim-surround' " Surrounding pairs mapping Plug 'ctrlpvim/ctrlp.vim' " Fuzzy File Search " Plug 'junegunn/fzf.vim', { 'dir': '~/.fzf', 'do': './install --all' } " Fuzzy File Search Plug 'nathanaelkane/vim-indent-guides' " Indent Plug 'mklabs/split-term.vim' " Terminal splitting Plug 'SirVer/ultisnips' " Snippets Plug 'neomake/neomake' " Linting Plug 'tpope/vim-commentary' " Comments " Git integration Plug 'tpope/vim-fugitive' Plug 'airblade/vim-gitgutter' " Code Completion if has('nvim') Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } else Plug 'Shougo/deoplete.nvim' Plug 'roxma/nvim-yarp' Plug 'roxma/vim-hug-neovim-rpc' endif Plug 'mattn/emmet-vim' " HTML editing " Languages Plug 'pangloss/vim-javascript' " javascript Plug 'fatih/vim-go', { 'do': ':GoInstallBinaries' } " Go Plug 'vim-ruby/vim-ruby' " Ruby Plug 'oranget/vim-csharp' " C# " Compilers Plug 'OmniSharp/omnisharp-vim' " C# " Frameworks Plug 'tpope/vim-rails' call plug#end() " NERDTree let NERDTreeShowHidden=1 " Ctrl + f open file directory map :NERDTreeToggle " nnoremap :FZF " Airline let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#syntastic#enabled = 1 let g:airline#extensions#syntastic#error_symbol = 'E:' let g:airline#extensions#syntastic#stl_format_err = '%E{[%e(#%fe)]}' let g:airline#extensions#syntastic#error_symbol = 'W:' let g:airline#extensions#syntastic#stl_format_warn = '%W{[%w(#%fw)]}' " Syntastic let g:syntastic_always_populate_loc_list = 1 let g:syntastic_auto_loc_list = 1 let g:syntastic_check_on_open = 1 let g:syntastic_check_on_wq = 0 " Deoplete let g:deoplete#enable_at_startup = 1 " OmniSharp let g:OmniSharp_selector_ui = 'ctrlp' let g:OmniSharp_server_type = 'roslyn' let g:OmniSharp_prefer_global_sln = 1 let g:OmniSharp_timeout = 10 let g:OmniSharp_highlight_types = 1 augroup omnisharp_commands autocmd! " When Syntastic is available but not ALE, automatic syntax check on events " (TextChanged requires Vim 7.4) " autocmd BufEnter,TextChanged,InsertLeave *.cs SyntasticCheck " Show type information automatically when the cursor stops moving autocmd CursorHold *.cs call OmniSharp#TypeLookupWithoutDocumentation() " Update the highlighting whenever leaving insert mode autocmd InsertLeave *.cs call OmniSharp#HighlightBuffer() " Alternatively, use a mapping to refresh highlighting for the current buffer autocmd FileType cs nnoremap th :OmniSharpHighlightTypes " The following commands are contextual, based on the cursor position. autocmd FileType cs nnoremap gd :OmniSharpGotoDefinition autocmd FileType cs nnoremap fi :OmniSharpFindImplementations autocmd FileType cs nnoremap fs :OmniSharpFindSymbol autocmd FileType cs nnoremap fu :OmniSharpFindUsages " Finds members in the current buffer autocmd FileType cs nnoremap fm :OmniSharpFindMembers autocmd FileType cs nnoremap fx :OmniSharpFixUsings autocmd FileType cs nnoremap tt :OmniSharpTypeLookup autocmd FileType cs nnoremap dc :OmniSharpDocumentation autocmd FileType cs nnoremap :OmniSharpSignatureHelp autocmd FileType cs inoremap :OmniSharpSignatureHelp " Navigate up and down by method/property/field autocmd FileType cs nnoremap :OmniSharpNavigateUp autocmd FileType cs nnoremap :OmniSharpNavigateDown augroup END " Contextual code actions (uses fzf, CtrlP or unite.vim when available) nnoremap :OmniSharpGetCodeActions " Run code actions with text selected in visual mode to extract method xnoremap :call OmniSharp#GetCodeActions('visual') " Rename with dialog nnoremap nm :OmniSharpRename nnoremap :OmniSharpRename " Rename without dialog - with cursor on the symbol to rename: `:Rename newname` command! -nargs=1 Rename :call OmniSharp#RenameTo("") nnoremap cf :OmniSharpCodeFormat " Start the omnisharp server for the current solution nnoremap ss :OmniSharpStartServer nnoremap sp :OmniSharpStopServer " Enable snippet completion " let g:OmniSharp_want_snippet=1