Advertisement
Guest User

vvviic

a guest
Jan 14th, 2020
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 5.88 KB | None | 0 0
  1. syntax on
  2.  
  3. call plug#begin('~/.vim/plugged')
  4.   Plug 'itchyny/lightline.vim'
  5.   Plug 'https://github.com/romainl/vim-cool'
  6.   Plug 'https://github.com/tpope/vim-commentary'
  7.   Plug 'https://github.com/tpope/vim-surround'
  8.   Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
  9.   Plug 'junegunn/fzf.vim'
  10.   Plug 'tpope/vim-fugitive'
  11.   Plug 'tpope/vim-vinegar'
  12.   Plug 'https://github.com/airblade/vim-gitgutter'
  13.   Plug 'scrooloose/nerdtree'
  14.   Plug 'mhinz/vim-startify'
  15.   Plug 'bogado/file-line'
  16.   Plug 'easymotion/vim-easymotion'
  17.   Plug 'pangloss/vim-javascript'
  18.   Plug 'sainnhe/edge'
  19.   Plug 'mileszs/ack.vim'
  20.   Plug 'editorconfig/editorconfig-vim'
  21.   Plug 'ntpeters/vim-better-whitespace'
  22.   Plug 'junegunn/goyo.vim'
  23.   Plug 'honza/vim-snippets'
  24.   Plug 'christoomey/vim-tmux-navigator'
  25.   Plug 'schickling/vim-bufonly'
  26.   Plug 'blindFS/vim-taskwarrior'
  27.   if executable('ctags')
  28.       Plug 'majutsushi/tagbar'
  29.   endif
  30.   if executable('ranger')
  31.       Plug 'francoiscabrol/ranger.vim'
  32.   endif
  33.   if v:version > 800
  34.       Plug 'mg979/vim-visual-multi'
  35.       if executable('node')
  36.           Plug 'neoclide/coc.nvim', {'branch': 'release'}
  37.       endif
  38.   endif
  39.   if v:version < 800 && 0 == executable('node') && has('python3')
  40.       Plug 'Shougo/deoplete.nvim'
  41.       Plug 'roxma/nvim-yarp'
  42.       Plug 'roxma/vim-hug-neovim-rpc'
  43.       Plug 'carlitux/deoplete-ternjs', { 'do': 'npm install -g tern' }
  44.   endif
  45. call plug#end()
  46.  
  47.  
  48. " SETS
  49. set undofile
  50. set undodir=$TEMP
  51. set backspace=indent,eol,start
  52. " set autochdir
  53. set autoindent
  54. set completeopt=longest,menuone
  55. set fenc=utf-8
  56. set fileencodings=utf-8,latin2
  57. set gdefault
  58. set hidden
  59. set ignorecase
  60. set incsearch
  61. set laststatus=2
  62. set mouse=a
  63. set nobackup
  64. set nocompatible
  65. set noexpandtab
  66. set foldmethod=indent
  67. set nofoldenable
  68. set nowrap
  69. set nowritebackup
  70. set relativenumber number
  71. set ruler
  72. set showcmd
  73. set t_Co=256
  74. set tabpagemax=50
  75. set wildmenu
  76. set wrapscan
  77. set clipboard+=autoselect
  78. set background=dark
  79. set shiftwidth=4
  80. set softtabstop=4
  81. set tabstop=4
  82. set expandtab
  83. set guioptions=agrLTi
  84. set updatetime=300
  85. set directory^=$HOME/.vim/tmp//
  86.  
  87. "Leader
  88. let mapleader="."
  89.  
  90. "FUNCTIONS
  91. command! DosToUnix %s/\r//g
  92. command! Q q
  93. command! W w
  94. command! Wq wq
  95. command! RmEmptyLines g/^$/d
  96. cnoremap w!! %!sudo tee > /dev/null
  97.  
  98. fun s:TabsToSpaces()
  99.     set expandtab ts=4 sw=4 ai
  100.     %retab
  101. endf
  102. command! TabsToSpaces call s:TabsToSpaces()
  103.  
  104. fun ToggleWrap()
  105.  if (&wrap == 1)
  106.    set nowrap
  107.  else
  108.    set wrap
  109.  endif
  110. endf
  111. command! ToggleWrap call ToggleWrap()
  112.  
  113. "Mappings
  114. map <c-\> :NERDTreeToggle<cr>
  115. map <c-o> :GFiles<cr>
  116. map <c-p> :Ranger<cr>
  117. map <c-b> :Buffers<cr>
  118. map <c-f> :LAck
  119. map <c-z> :Goyo<cr>
  120. map <c-t> :below terminal ++rows=20<cr>
  121.  
  122. "Mappings - easymotion
  123. map  <Leader>f <Plug>(easymotion-bd-f)
  124. nmap <Leader>f <Plug>(easymotion-overwin-f)
  125. nmap s <Plug>(easymotion-overwin-f2)
  126. map  <Leader>L <Plug>(easymotion-bd-jk)
  127. nmap <Leader>L <Plug>(easymotion-overwin-line)
  128. map  <Leader>w <Plug>(easymotion-bd-w)
  129. nmap <Leader>w <Plug>(easymotion-overwin-w)
  130. nmap <F8> :TagbarToggle<CR>
  131.  
  132. "MOUSE
  133. set mouse+=a
  134. if &term =~ '^screen'
  135.     set ttymouse=xterm2
  136. endif
  137.  
  138. "Plugins
  139.  
  140. "CoC
  141. nmap <silent> cR <Plug>(coc-refactor)
  142. nmap <silent> cd <Plug>(coc-definition)
  143. nmap <silent> cf <Plug>(coc-format)
  144. nmap <silent> ci <Plug>(coc-implementation)
  145. nmap <silent> cr <Plug>(coc-references)
  146. nmap <silent> cy <Plug>(coc-type-definition)
  147. nnoremap <silent> <space>w  :<C-b>CocList --normal --top --input windows<cr>
  148. nnoremap <silent> <space>k  :<C-b>CocList --normal --top --input maps<cr>
  149. nnoremap <silent> <space>m  :<C-u>CocList --normal --top --input mru<cr>
  150. nnoremap <silent> <space>o  :<C-u>CocList --normal --top --input outline<cr>
  151. nnoremap <silent> <space>i  :<C-b>CocInstall coc-lists coc-snippets coc-pairs coc-tsserver coc-json coc-html coc-css coc-phpls coc-python<cr>
  152.  
  153. nnoremap <silent> K :call <SID>show_documentation()<CR>
  154. function! s:show_documentation()
  155.   if (index(['vim','help'], &filetype) >= 0)
  156.     execute 'h '.expand('<cword>')
  157.   else
  158.     call CocAction('doHover')
  159.   endif
  160. endfunction
  161.  
  162. "Goyo
  163. let g:goyo_width = 90
  164.  
  165. if has('python3') "deoplete does not work when there's no python3 (pip3 install --user pynvim) installed
  166.     let g:deoplete#enable_at_startup = 1
  167.     let g:deoplete#sources#ternjs#tern_bin = '/home/finch/.nvm/versions/node/v12.14.0/bin/tern'
  168.     let g:deoplete#sources#ternjs#timeout = 1
  169.     let g:deoplete#sources#ternjs#docs = 1
  170.     let g:deoplete#sources#ternjs#case_insensitive = 1
  171.     " inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"
  172. endif
  173.  
  174. if executable('ag')
  175.   let g:ackprg = 'ag --vimgrep'
  176. endif
  177. let g:ack_autoclose = 1
  178. let g:ackhighlight = 1
  179.  
  180. let g:VM_maps = {}
  181. let g:VM_maps['Find Under']         = '<C-d>'           " replace C-n
  182. let g:VM_maps['Find Subword Under'] = '<C-d>'           " replace visual C-n
  183.  
  184. let g:ranger_command_override = 'ranger --cmd "set show_hidden=true"'
  185. let g:fzf_buffers_jump = 1
  186.  
  187. "Vim Session
  188. let g:session_autosave = 'no'
  189. let g:session_autoload = 'no'
  190.  
  191. "Startify
  192. let g:startify_session_dir = '~/.vim/sessions'
  193. let g:startify_list_order = [
  194.             \ ['   Sessions:'],
  195.             \ 'sessions',
  196.             \ ['   Recent files:'],
  197.             \ 'files',
  198.             \ ['   ... in the current directory:'],
  199.             \ 'dir',
  200.             \ ['   Bookmarks:'],
  201.             \ 'bookmarks',
  202.             \ ]
  203.  
  204. " Colors
  205. let g:edge_style = 'neon'
  206. let g:edge_disable_italic_comment = 1
  207. set background=dark
  208. colorscheme edge
  209. let g:lightline = {
  210.             \ 'colorscheme': 'edge',
  211.             \ 'component_function': {
  212.             \   'filename': 'LightlineFilename',
  213.             \ }
  214.             \ }
  215.  
  216. function! LightlineFilename()
  217.   let root = fnamemodify(get(b:, 'git_dir'), ':h')
  218.   let path = expand('%:p')
  219.   if path[:len(root)-1] ==# root
  220.     return path[len(root)+1:]
  221.   endif
  222.   return expand('%')
  223. endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement