Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let mapleader="\<Space>"
- let maplocalleader="\\"
- if has('gui')
- " Turn off scrollbars. (Default on macOS is "egmrL").
- set guioptions-=L
- set guioptions-=R
- set guioptions-=b
- set guioptions-=l
- set guioptions-=r
- endif
- if v:progname == 'vi'
- set noloadplugins
- endif
- " Plugins {{{
- call plug#begin('~/Development/configuration/dotfiles/.vim/plugged')
- Plug 'prettier/vim-prettier', { 'do': 'npm install' }
- Plug 'tpope/vim-surround'
- Plug 'tpope/vim-fugitive'
- Plug 'scrooloose/nerdtree'
- Plug 'chriskempson/base16-vim'
- Plug 'Yggdroot/indentLine'
- Plug 'wincent/pinnacle'
- Plug 'tpope/vim-eunuch'
- Plug 'mxw/vim-jsx'
- Plug 'tpope/vim-repeat'
- Plug 'thinca/vim-textobj-comment'
- Plug 'kana/vim-textobj-user'
- Plug 'neoclide/coc.nvim', {'branch': 'release'}
- Plug 'dense-analysis/ale'
- Plug 'ctrlpvim/ctrlp.vim'
- Plug 'Raimondi/delimitMate'
- Plug 'luochen1990/rainbow'
- Plug 'pangloss/vim-javascript'
- Plug 'psliwka/vim-smoothie'
- Plug 'joshdick/onedark.vim'
- " Plug 'SirVer/ultisnips'
- " Plug 'honza/vim-snippets'
- call plug#end()
- " }}}
- " Plugin Settings {{{
- " COC {{{
- " Remap keys for gotos
- nmap <silent> gd <Plug>(coc-definition)
- nmap <silent> gy <Plug>(coc-type-definition)
- nmap <silent> gi <Plug>(coc-implementation)
- nmap <silent> gr <Plug>(coc-references)
- " Remap for rename current word
- nmap <leader>nn <Plug>(coc-rename)
- " Create mappings for function text object, requires document symbols feature of languageserver.
- xmap if <Plug>(coc-funcobj-i)
- xmap af <Plug>(coc-funcobj-a)
- omap if <Plug>(coc-funcobj-i)
- omap af <Plug>(coc-funcobj-a)
- " }}}
- " NERDTree {{{
- let g:NERDTreeCaseSensitiveSort=1
- let NERDTreeAutoDeleteBuffer = 1
- let NERDTreeShowHidden=1
- nmap <C-n> :NERDTreeToggle<CR>
- " }}}
- " Ale {{{
- let g:ale_linters = {
- \ 'javascript': ['eslint'],
- \ 'javascript.jsx': ['eslint'],
- \}
- " }}}
- " Ultisnips {{{
- " Set ultisnips triggers
- let g:UltiSnipsExpandTrigger="<tab>"
- let g:UltiSnipsJumpForwardTrigger="<tab>"
- let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
- " }}};
- " Rainbow {{{
- let g:rainbow_active = 1
- let g:rainbow_conf = {
- \"guifgs": ['#931621', '#1E2EDE','#DD1C1A', '#8FC93A', '#BC2C1A']
- \}
- " }}}
- " CTRLP {{{
- let g:ctrlp_map = '<leader>t'
- nmap <leader>r :CtrlPBuffer<CR>
- let g:ctrlp_show_hidden = 1
- let g:ctrlp_custom_ignore = {
- \ 'dir' : '\.git$\|build$\|bower_components\|node_modules\|dist\|target' ,
- \ 'file' : '\v\.(exe|dll|lib)$'
- \ }
- " open in vertical split by default
- let g:ctrlp_prompt_mappings = {
- \ 'AcceptSelection("e")': ['<c-v>', '<2-LeftMouse>'],
- \ 'AcceptSelection("v")': ['<cr>', '<RightMouse>'],
- \ }
- "}}}
- " Fzf {{{
- set rtp+=/usr/local/opt/fzf
- " }}}
- " NERDComment {{{
- " inoremap ,m <C-o>:call NERDComment(0,"toggle")<C-m>
- " }}}
- " Prettier {{{
- let g:prettier#exec_cmd_async = 1
- let g:prettier#autoformat = 1
- autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.yaml,*.html PrettierAsync
- " }}}
- " Ferret {{{
- nmap <leader>f <Plug>(FerretAck)
- let g:FerretExecutable="rg,ag,ack,ack-grep"
- let g:FerretMaxResults=1000
- let s:excludes = [
- \ '.git',
- \ 'bin',
- \ 'dist',
- \ 'node_modules',
- \ 'obj',
- \ 'packages',
- \ 'tags'
- \]
- let &grepprg = "rg --hidden -g '!" . join(s:excludes, "' -g '!") . "' -S --vimgrep"
- let g:FerretExecutableArguments = {
- \ 'rg': '--smart-case --vimgrep --no-heading --no-config --max-columns 4096'
- \ }
- " }}}
- "}}}
- " Remaps {{{
- "
- inoremap hk <Esc>
- "
- :nmap <c-q> :q<CR>
- :imap <c-q> <Esc>:q<CR>
- "
- :nmap <c-s> :w<CR>
- :imap <c-s> <Esc>:w<CR>
- "
- nmap ; :
- " Make Y yank till end of line
- nnoremap Y y$
- " Default reg
- nnoremap ]p "0p
- "
- nnoremap <space> za
- " }}}
- " Colors {{{
- filetype plugin on
- filetype indent plugin on
- let &t_Co=256
- hi def link jsObjectProp Identifier
- syntax on
- colorscheme onedark
- " }}}
- " UI {{{
- set modelines=1
- set showcmd
- " }}}
- " Splits {{{
- " Always show line numbers, but only in current window.
- set number
- :au WinEnter * :setlocal number
- :au WinLeave * :setlocal nonumber
- " }}}
- " Variables {{{
- set backspace=indent,eol,start
- set smartindent
- set autoindent
- set ls=2 " display filename statusbar
- set ignorecase " ignore case when searching
- set hlsearch " highlight searches
- set incsearch " increamental search, find as you type word
- set smartcase
- set tabstop=4
- set softtabstop=0
- set shiftwidth=4
- set expandtab
- set nobackup
- set noswapfile
- set incsearch
- set number
- set relativenumber
- " }}}
- " File Find {{{
- set path+=**
- set wildmenu
- set wildignore+=**/node_modules/**
- set wildignore+=*/node_modules/*
- set hidden
- " }}}
- " VIMRC {{{
- nnoremap <leader>ev :vsp $MYVIMRC<CR>
- " }}}
- " Optimizations {{{
- set nofoldenable
- set synmaxcol=256
- set foldmethod=manual
- set nohlsearch
- set regexpengine=1
- set lazyredraw
- set ttyfast
- " }}}
- " Source vim after every write
- autocmd BufWritePost .vimrc source %
- " vim:foldmethod=marker:foldlevel=0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement