let g:ctrl_semicolon_key_code="[69;50S" set number set expandtab set softtabstop=4 set tabstop=4 set shiftwidth=4 set textwidth=99999999 set wrapmargin=0 set nowrap set formatoptions-=t set clipboard=unnamedplus set mouse=n set noswapfile set backspace=indent,eol,start set ttimeoutlen=5 let g:ale_enabled = 0 " For YCM let g:ycm_auto_trigger = 0 let g:ycm_auto_hover = '' let g:ycm_signature_help = 0 let g:ycm_show_diagnostics_ui = 0 set completeopt=menuone,popup let g:ycm_server_keep_logfiles = 0 set nocompatible " filetype off " set rtp+=~/.vim/bundle/Vundle.vim set rtp+=~/.vim/bundle/ale set rtp+=~/.vim/bundle/nerdtree set rtp+=~/.vim/bundle/vim-airline set rtp+=~/.vim/bundle/YouCompleteMe " filetype plugin indent on syntax on set signcolumn=yes highlight Normal ctermbg=NONE guibg=NONE highlight SignColumn term=standout ctermfg=14 ctermbg=37 guifg=Cyan guibg=LightSeaGreen highlight EndOfBuffer ctermbg=NONE ctermfg=37 guibg=NONE guifg=LightSeaGreen highlight Pmenu ctermbg=darkblue ctermfg=white highlight PmenuSel ctermbg=lightblue ctermfg=black "nnoremap :YcmCompleter GetDoc "nnoremap :echo "" "inoremap (YCMCompleter) "autocmd User YcmLoaded inoremap (YCMCompleter) " How bad YCM developers had not thought about ADDING AN ABILITY TO MAP FUNCTIONS imap inoremap nnoremap q " For Airline let g:airline_powerline_fonts = 1 let g:airline#extensions#keymap#enabled = 0 let g:airline_section_z = "\ue0a1:%l/%L Col:%c" let g:Powerline_symbols='unicode' " For NERDTree let g:NERDTreeShowHidden=1 nnoremap i :NERDTree5> nnoremap v :source $MYVIMRC nnoremap e :vsplit $MYVIMRC nnoremap w :set wrap:set linebreak nnoremap y :call system("xclip -i -f -selection primary \| xclip -i -selection clipboard", getreg("@\"")) " Close the tab if NERDTree is the only window remaining in it. autocmd BufEnter * if winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | call feedkeys(":quit\:\") | endif " If another buffer tries to replace NERDTree, put it in the other window, and bring back NERDTree. autocmd BufEnter * if winnr() == winnr('h') && bufname('#') =~ 'NERD_tree_\d\+' && bufname('%') !~ 'NERD_tree_\d\+' && winnr('$') > 1 | \ let buf=bufnr() | buffer# | execute "normal! \w" | execute 'buffer'.buf | endif " Remap cursor movement keys in Normal mode nnoremap j h nnoremap k j nnoremap l k nnoremap ; l nnoremap nnoremap nnoremap execute "nnoremap " . g:ctrl_semicolon_key_code . " " " Remap cursor movement keys in Visual mode vnoremap j h vnoremap k j vnoremap l k vnoremap ; l vnoremap vnoremap vnoremap execute "vnoremap " . g:ctrl_semicolon_key_code . " " " Remap cursor movement keys in Select mode snoremap j h snoremap k j snoremap l k snoremap ; l " Remap cursor movement keys in Operator-pending mode onoremap j h onoremap k j onoremap l k onoremap ; l " Remap cursor movement keys in Insert mode inoremap inoremap inoremap execute "inoremap " . g:ctrl_semicolon_key_code . " " " Remap cursor movement keys in Command-line mode cnoremap cnoremap cnoremap execute "cnoremap " . g:ctrl_semicolon_key_code . " " "Remap window movement nnoremap j h nnoremap k j nnoremap l k nnoremap ; l " My custom idea - moving window with the cursor nnoremap K j nnoremap L k "Navigating tabs nnoremap j gT nnoremap ; gt "Rearranging tabs nnoremap J :tabmove -1 nnoremap : :tabmove +1 "Makefile tab highlight augroup MakefileTabHighlight autocmd! "autocmd FileType make syntax match FirstTab /^\t/ "autocmd FileType make highlight FirstTab ctermbg=35 ctermfg=35 autocmd FileType make setlocal noexpandtab autocmd FileType make setlocal list autocmd FileType make setlocal lcs=tab:*\ \* autocmd FileType make highlight SpecialKey ctermbg=35 ctermfg=30 augroup END