Advertisement
Guest User

Untitled

a guest
Nov 24th, 2019
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 5.41 KB | None | 0 0
  1. let mapleader="\<Space>"
  2. let maplocalleader="\\"
  3.  
  4.   if has('gui')
  5.     " Turn off scrollbars. (Default on macOS is "egmrL").
  6.     set guioptions-=L
  7.     set guioptions-=R
  8.     set guioptions-=b
  9.     set guioptions-=l
  10.     set guioptions-=r
  11.   endif
  12.  
  13.   if v:progname == 'vi'
  14.     set noloadplugins
  15.   endif
  16.  
  17. " Plugins {{{
  18.     call plug#begin('~/Development/configuration/dotfiles/.vim/plugged')
  19.       Plug 'prettier/vim-prettier', { 'do': 'npm install' }
  20.       Plug 'tpope/vim-surround'
  21.       Plug 'tpope/vim-fugitive'
  22.       Plug 'scrooloose/nerdtree'
  23.       Plug 'chriskempson/base16-vim'
  24.       Plug 'Yggdroot/indentLine'
  25.       Plug 'wincent/pinnacle'
  26.       Plug 'tpope/vim-eunuch'
  27.       Plug 'mxw/vim-jsx'
  28.       Plug 'tpope/vim-repeat'
  29.       Plug 'thinca/vim-textobj-comment'
  30.       Plug 'kana/vim-textobj-user'
  31.       Plug 'neoclide/coc.nvim', {'branch': 'release'}
  32.       Plug 'dense-analysis/ale'
  33.       Plug 'ctrlpvim/ctrlp.vim'
  34.       Plug 'Raimondi/delimitMate'
  35.       Plug 'luochen1990/rainbow'
  36.       Plug 'pangloss/vim-javascript'
  37.       Plug 'psliwka/vim-smoothie'
  38.       Plug 'joshdick/onedark.vim'
  39. "    Plug 'SirVer/ultisnips'
  40. "    Plug 'honza/vim-snippets'
  41.     call plug#end()
  42. " }}}
  43.  
  44. " Plugin Settings {{{
  45. " COC {{{
  46.     " Remap keys for gotos
  47.     nmap <silent> gd <Plug>(coc-definition)
  48.     nmap <silent> gy <Plug>(coc-type-definition)
  49.     nmap <silent> gi <Plug>(coc-implementation)
  50.     nmap <silent> gr <Plug>(coc-references)
  51.     " Remap for rename current word
  52.     nmap <leader>nn <Plug>(coc-rename)
  53.     " Create mappings for function text object, requires document symbols feature of languageserver.
  54.     xmap if <Plug>(coc-funcobj-i)
  55.     xmap af <Plug>(coc-funcobj-a)
  56.     omap if <Plug>(coc-funcobj-i)
  57.     omap af <Plug>(coc-funcobj-a)
  58. " }}}
  59.  
  60. " NERDTree  {{{
  61.     let g:NERDTreeCaseSensitiveSort=1
  62.     let NERDTreeAutoDeleteBuffer = 1
  63.     let NERDTreeShowHidden=1
  64.     nmap <C-n> :NERDTreeToggle<CR>
  65. " }}}
  66.  
  67.     " Ale  {{{
  68.     let g:ale_linters = {
  69.       \ 'javascript': ['eslint'],
  70.       \ 'javascript.jsx': ['eslint'],
  71.       \}
  72.     " }}}
  73.  
  74.     " Ultisnips  {{{
  75.     " Set ultisnips triggers
  76.     let g:UltiSnipsExpandTrigger="<tab>"
  77.     let g:UltiSnipsJumpForwardTrigger="<tab>"
  78.     let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
  79.     " }}};
  80.  
  81. " Rainbow {{{
  82.   let g:rainbow_active = 1
  83.   let g:rainbow_conf = {
  84.     \"guifgs": ['#931621', '#1E2EDE','#DD1C1A', '#8FC93A', '#BC2C1A']
  85.     \}
  86. "  }}}
  87.  
  88. " CTRLP {{{
  89.   let g:ctrlp_map = '<leader>t'
  90.   nmap <leader>r  :CtrlPBuffer<CR>
  91.   let g:ctrlp_show_hidden = 1
  92.  
  93.   let g:ctrlp_custom_ignore = {
  94.     \   'dir' : '\.git$\|build$\|bower_components\|node_modules\|dist\|target' ,
  95.     \   'file' : '\v\.(exe|dll|lib)$'
  96.     \ }
  97.  
  98.   " open in vertical split by default
  99.   let g:ctrlp_prompt_mappings = {
  100.     \ 'AcceptSelection("e")': ['<c-v>', '<2-LeftMouse>'],
  101.     \ 'AcceptSelection("v")': ['<cr>', '<RightMouse>'],
  102.     \ }
  103. "}}}
  104.  
  105. " Fzf {{{
  106.   set rtp+=/usr/local/opt/fzf
  107. " }}}
  108.  
  109. " NERDComment {{{
  110. "  inoremap ,m <C-o>:call NERDComment(0,"toggle")<C-m>
  111. " }}}
  112.  
  113. " Prettier {{{
  114.   let g:prettier#exec_cmd_async = 1
  115.   let g:prettier#autoformat = 1
  116.   autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.yaml,*.html PrettierAsync
  117. " }}}
  118.  
  119. " Ferret {{{
  120.   nmap <leader>f <Plug>(FerretAck)
  121.   let g:FerretExecutable="rg,ag,ack,ack-grep"
  122.   let g:FerretMaxResults=1000
  123.   let s:excludes = [
  124.   \ '.git',
  125.   \ 'bin',
  126.   \ 'dist',
  127.   \ 'node_modules',
  128.   \ 'obj',
  129.   \ 'packages',
  130.   \ 'tags'
  131.   \]
  132.   let &grepprg = "rg --hidden -g '!" . join(s:excludes, "' -g '!") . "' -S --vimgrep"
  133.   let g:FerretExecutableArguments = {
  134.   \   'rg': '--smart-case --vimgrep --no-heading --no-config --max-columns 4096'
  135.   \ }
  136. " }}}
  137.  
  138. "}}}
  139.  
  140. " Remaps {{{
  141.     "
  142.     inoremap hk <Esc>
  143.     "
  144.     :nmap <c-q> :q<CR>
  145.     :imap <c-q> <Esc>:q<CR>
  146.     "
  147.     :nmap <c-s> :w<CR>
  148.     :imap <c-s> <Esc>:w<CR>
  149.     "
  150.     nmap ; :
  151.     " Make Y yank till end of line
  152.     nnoremap Y y$
  153.     " Default reg
  154.     nnoremap ]p "0p
  155.     "
  156.     nnoremap <space> za
  157. " }}}
  158.  
  159. " Colors {{{
  160.     filetype plugin on
  161.     filetype indent plugin on
  162.     let &t_Co=256
  163.     hi def link jsObjectProp Identifier
  164.     syntax on
  165.     colorscheme onedark
  166. " }}}
  167.  
  168. " UI {{{
  169.     set modelines=1
  170.     set showcmd
  171. " }}}
  172.  
  173. " Splits {{{
  174.   " Always show line numbers, but only in current window.
  175.   set number
  176.   :au WinEnter * :setlocal number
  177.   :au WinLeave * :setlocal nonumber
  178.  
  179. " }}}
  180.  
  181. " Variables {{{
  182.     set backspace=indent,eol,start
  183.     set smartindent
  184.     set autoindent
  185.     set ls=2            " display filename statusbar
  186.     set ignorecase          " ignore case when searching
  187.     set hlsearch            " highlight searches
  188.     set incsearch           " increamental search, find as you type word
  189.     set smartcase
  190.     set tabstop=4
  191.     set softtabstop=0
  192.     set shiftwidth=4
  193.     set expandtab
  194.     set nobackup
  195.     set noswapfile
  196.     set incsearch
  197.     set number
  198.     set relativenumber
  199.  
  200. " }}}
  201.  
  202. " File Find {{{
  203.     set path+=**
  204.     set wildmenu
  205.     set wildignore+=**/node_modules/**
  206.     set wildignore+=*/node_modules/*
  207.     set hidden
  208. " }}}
  209.  
  210. " VIMRC {{{
  211.     nnoremap <leader>ev :vsp $MYVIMRC<CR>
  212. " }}}
  213.  
  214. " Optimizations {{{
  215.   set nofoldenable
  216.   set synmaxcol=256
  217.   set foldmethod=manual
  218.   set nohlsearch
  219.   set regexpengine=1
  220.   set lazyredraw
  221.   set ttyfast
  222. " }}}
  223.  
  224. " Source vim after every write
  225. autocmd BufWritePost .vimrc source %
  226. " vim:foldmethod=marker:foldlevel=0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement