" General {{{ " set shell=/bin/bash " let mapleader = "," let mapleader = " " set nocompatible " be iMproved filetype off " required! filetype plugin indent off syntax enable set vb " no bell set smartcase " ignore case if search is all lower set hidden " hide buffers instead of closing them set hlsearch set history=1000 set go-=T set nopaste set t_Co=256 set autoindent " set guicursor=a:blinkon0 set winaltkeys=no " enable alt key set tabstop=2 set shiftwidth=2 set showmatch set incsearch set ignorecase "set guifont=MyFont\ for\ Powerline:h14 set nobackup set directory=/tmp set noerrorbells set cursorline set nu set laststatus=2 set foldenable set foldmethod=marker scriptencoding utf-8 set termencoding=utf-8 set encoding=utf-8 set gcr=a:blinkon0 " disable cursor blink "set fenc=utf-8 "set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936 " }}} " Auto commands {{{ " au BufEnter * lcd %:p:h "au VimEnter * NERDTreeFind au BufRead,BufNewFile *.py set expandtab au BufRead,BufNewFile *.py set shiftwidth=4 au BufNewFile,BufRead *.py,*.pyw set ft=python au BufNewFile,BufRead *.go set ft=go au BufNewFile,BufRead *.ts set ft=typescript " }}} " Key mappings {{{ nmap n :nohlsearch map Q :qall nmap ZZ :x nmap ZQ :q! nmap v :e $MYVIMRC map ; : vmap c !pbcopy:undo " nnoremap :Hexmode " inoremap :Hexmode " vnoremap :Hexmode " NERDTree nmap :NERDTreeToggle nmap f :NERDTreeFocus " Tab nnoremap :tabnew inoremap :tabnew noremap 1 1gt noremap 2 2gt noremap 3 3gt noremap 4 4gt noremap 5 5gt noremap 6 6gt noremap 7 7gt noremap 8 8gt noremap 9 9gt noremap 0 :tablast nnoremap :tabprevious nnoremap :tabnext " Pane nmap vv v nmap ss s " Plugins noremap :BufExplorer nmap :YRShow " nmap g :set invpaste paste? set showmode " Automatically jump to end of text you pasted vnoremap y y`] vnoremap p p`] nnoremap p p`] " Terminal nmap :terminal tnoremap tnoremap '"'.nr2char(getchar()).'pi' " }}} " Bundles {{{ " Github repos call plug#begin('~/.local/share/nvim/plugged') Plug 'vim-scripts/YankRing.vim' Plug 'pangloss/vim-javascript' Plug 'vim-scripts/Rename' Plug 'scrooloose/nerdtree' Plug 'Lokaltog/vim-powerline' Plug 'tpope/vim-markdown' Plug 'terryma/vim-expand-region' Plug 'vim-scripts/bufexplorer.zip' Plug 'mileszs/ack.vim' Plug 'rizzatti/funcoo.vim' Plug 'kien/ctrlp.vim' Plug 'fatih/vim-go' Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugs' } Plug 'zchee/deoplete-go', { 'do': 'make'} " vim-scripts repos " Plug 'Solarized' " Plug 'Zenburn' Plug 'vim-scripts/python.vim' Plug 'vim-scripts/git.zip' Plug 'vim-scripts/nginx.vim' Plug 'othree/html5.vim' Plug 'dracula/vim' Plug 'posva/vim-vue' Plug 'leafgarland/typescript-vim' call plug#end() filetype plugin indent on " }}} " Plug config {{{ let g:ConqueTerm_FastMode = 0 let g:ConqueTerm_CWInsert = 1 set mouse=a let NERDTreeIgnore = ['\.pyc$'] let NERDTreeDirArrows = 1 let g:deoplete#enable_at_startup = 1 "let g:Powerline_symbols = 'fancy' "let g:Powerline_theme = 'skwp' " autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS " autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags " autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS " autocmd FileType python setlocal omnifunc=pythoncomplete#Complete " autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags " }}} " Misc {{{ function! WindowNumber() let str=tabpagewinnr(tabpagenr()) return str endfunction if has("statusline") set statusline=%<%F\ buf:%n\ win:%{WindowNumber()}\ %h%m%r%=%{\"[\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\").\"]\ \"}%k\ %-14.(%l,%c%V%)\ %P endif " colors dracula " use zenburn for terminal, solarized for gui " }}}