medmond919

Interesting Vim #7

Apr 1st, 2018
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. " General {{{
  2. " set shell=/bin/bash
  3.  
  4. " let mapleader = ","
  5. let mapleader = " "
  6. set nocompatible               " be iMproved
  7. filetype off                   " required!
  8. filetype plugin indent off
  9. syntax enable
  10. set vb                         " no bell
  11. set smartcase                  " ignore case if search is all lower
  12. set hidden                     " hide buffers instead of closing them
  13. set hlsearch
  14. set history=1000
  15. set go-=T
  16. set nopaste
  17. set t_Co=256
  18. set autoindent
  19. " set guicursor=a:blinkon0
  20. set winaltkeys=no              " enable alt key
  21. set tabstop=2
  22. set shiftwidth=2
  23. set showmatch
  24. set incsearch
  25. set ignorecase
  26. "set guifont=MyFont\ for\ Powerline:h14
  27. set nobackup
  28. set directory=/tmp
  29. set noerrorbells
  30. set cursorline
  31. set nu
  32. set laststatus=2
  33. set foldenable
  34. set foldmethod=marker
  35. scriptencoding utf-8
  36. set termencoding=utf-8
  37. set encoding=utf-8
  38. set gcr=a:blinkon0 " disable cursor blink
  39. "set fenc=utf-8
  40. "set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
  41. " }}}
  42.  
  43.  
  44. " Auto commands {{{
  45. " au BufEnter * lcd %:p:h
  46. "au VimEnter * NERDTreeFind
  47. au BufRead,BufNewFile *.py set expandtab
  48. au BufRead,BufNewFile *.py set shiftwidth=4
  49. au BufNewFile,BufRead *.py,*.pyw set ft=python
  50. au BufNewFile,BufRead *.go set ft=go
  51. au BufNewFile,BufRead *.ts set ft=typescript
  52. " }}}
  53.  
  54.  
  55. " Key mappings {{{
  56. nmap <leader>n :nohlsearch<CR>
  57. map Q :qall<CR>
  58. nmap <silent> ZZ :x<CR>
  59. nmap <silent> ZQ :q!<CR>
  60. nmap <leader>v :e $MYVIMRC<CR>
  61. map ; :
  62. vmap c !pbcopy<CR>:undo<CR>
  63. " nnoremap <C-H> :Hexmode<CR>
  64. " inoremap <C-H> <Esc>:Hexmode<CR>
  65. " vnoremap <C-H> :<C-U>Hexmode<CR>
  66.  
  67. " NERDTree
  68. nmap <tab> :NERDTreeToggle<CR>
  69. nmap <leader>f :NERDTreeFocus<CR>
  70.  
  71. " Tab
  72. nnoremap <C-t> :tabnew<Space>
  73. inoremap <C-t> <Esc>:tabnew<Space>
  74. noremap <leader>1 1gt
  75. noremap <leader>2 2gt
  76. noremap <leader>3 3gt
  77. noremap <leader>4 4gt
  78. noremap <leader>5 5gt
  79. noremap <leader>6 6gt
  80. noremap <leader>7 7gt
  81. noremap <leader>8 8gt
  82. noremap <leader>9 9gt
  83. noremap <leader>0 :tablast<cr>
  84. nnoremap <C-Left> :tabprevious<CR>
  85. nnoremap <C-Right> :tabnext<CR>
  86.  
  87. " Pane
  88. nmap <silent> vv <C-w>v
  89. nmap <silent> ss <C-w>s
  90.  
  91. " Plugins
  92. noremap <silent> <leader><CR> :BufExplorer<CR>
  93. nmap <leader><space> :YRShow<CR>
  94.  
  95. " nmap <leader>g :set invpaste paste?<CR>
  96. set showmode
  97.  
  98. " Automatically jump to end of text you pasted
  99. vnoremap <silent> y y`]
  100. vnoremap <silent> p p`]
  101. nnoremap <silent> p p`]
  102.  
  103. " Terminal
  104. nmap <leader> :terminal<CR>
  105. tnoremap <Esc> <C-\><C-n>
  106. tnoremap <expr> <C-R> '<C-\><C-N>"'.nr2char(getchar()).'pi'
  107.  
  108. " }}}
  109.  
  110.  
  111. " Bundles {{{
  112. " Github repos
  113. call plug#begin('~/.local/share/nvim/plugged')
  114.  
  115. Plug 'vim-scripts/YankRing.vim'
  116. Plug 'pangloss/vim-javascript'
  117. Plug 'vim-scripts/Rename'
  118. Plug 'scrooloose/nerdtree'
  119. Plug 'Lokaltog/vim-powerline'
  120. Plug 'tpope/vim-markdown'
  121. Plug 'terryma/vim-expand-region'
  122. Plug 'vim-scripts/bufexplorer.zip'
  123. Plug 'mileszs/ack.vim'
  124. Plug 'rizzatti/funcoo.vim'
  125. Plug 'kien/ctrlp.vim'
  126.  
  127. Plug 'fatih/vim-go'
  128. Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugs' }
  129. Plug 'zchee/deoplete-go', { 'do': 'make'}
  130.  
  131. " vim-scripts repos
  132. " Plug 'Solarized'
  133. " Plug 'Zenburn'
  134. Plug 'vim-scripts/python.vim'
  135. Plug 'vim-scripts/git.zip'
  136. Plug 'vim-scripts/nginx.vim'
  137. Plug 'othree/html5.vim'
  138. Plug 'dracula/vim'
  139. Plug 'posva/vim-vue'
  140. Plug 'leafgarland/typescript-vim'
  141. call plug#end()
  142. filetype plugin indent on
  143. " }}}
  144.  
  145.  
  146. " Plug config {{{
  147. let g:ConqueTerm_FastMode = 0
  148. let g:ConqueTerm_CWInsert = 1
  149.  
  150. set mouse=a
  151. let NERDTreeIgnore = ['\.pyc$']
  152. let NERDTreeDirArrows = 1
  153.  
  154. let g:deoplete#enable_at_startup = 1
  155. "let g:Powerline_symbols = 'fancy'
  156. "let g:Powerline_theme = 'skwp'
  157.  
  158. " autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
  159. " autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
  160. " autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
  161. " autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
  162. " autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
  163.  
  164. " }}}
  165.  
  166.  
  167. " Misc {{{
  168. function! WindowNumber()
  169.     let str=tabpagewinnr(tabpagenr())
  170.     return str
  171. endfunction
  172.  
  173. if has("statusline")
  174.   set statusline=%<%F\ buf:%n\ win:%{WindowNumber()}\ %h%m%r%=%{\"[\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\").\"]\ \"}%k\ %-14.(%l,%c%V%)\ %P
  175. endif
  176.  
  177. " colors dracula " use zenburn for terminal, solarized for gui
  178. " }}}
Advertisement
Add Comment
Please, Sign In to add comment