Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let mapleader="\<Space>"
- let maplocalleader="\\"
- " Vim {{{
- let g:startify_custom_header=[
- \ ' %.# ',
- \ ' %%% ### ',
- \ ' @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ % ****### @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ',
- \ ' @%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/ ********### &%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% / ',
- \ ' @%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/ **********## &%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% / ',
- \ ' @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%,/ ************ @*%%%%%%%%%%%%%%%%%%%%%%%%%%%%/// ',
- \ ' &@%%%%%%%%%%%%%%%%%% // ,************* @&%%%%%%%%%%%%%%%%%%%%%/// ',
- \ ' @@%%%%%%%%%%%%%%%%%% // ***************** @@@&%%%%%%%%%%%%%%%%%%%/// ',
- \ ' @@%%%%%%%%%%%%%%%%%% // ******************* @@@@%%%%%%%%%%%%%%%%%%%,// ',
- \ ' @@%%%%%%%%%%%%%%%%%% // ***************** @@@@%%%%%%%%%%%%%%%%%%% // ',
- \ ' @@%%%%%%%%%%%%%%%%%% // *************** @@@@%%%%%%%%%%%%%%%%%%% // ',
- \ ' @@%%%%%%%%%%%%%%%%%% // ************* @@@@%%%%%%%%%%%%%%%%%%% // ',
- \ ' @@%%%%%%%%%%%%%%%%%% // *********** @@@@%%%%%%%%%%%%%%%%%%% // ',
- \ ' @@%%%%%%%%%%%%%%%%%% // ********* @@@@%%%%%%%%%%%%%%%%%%% // ',
- \ ' @@%%%%%%%%%%%%%%%%%% // ******* @@@@%%%%%%%%%%%%%%%%%%% //. ',
- \ ' @@%%%%%%%%%%%%%%%%%% // ***** @@@@%%%%%%%%%%%%%%%%%%%*//* ## ',
- \ ' @@%%%%%%%%%%%%%%%%%% // *** @@@@%%%%%%%%%%%%%%%%%%%#/// **,### ',
- \ ' @@%%%%%%%%%%%%%%%%%% // * @@@@%%%%%%%%%%%%%%%%%%%%/// ******.### ',
- \ ' @@%%%%%%%%%%%%%%%%%% // @@@@%%%%%%%%%%%%%%%%%%%%/// **********.### ',
- \ ' %% @@%%%%%%%%%%%%%%%%%% // @@@@%%%%%%%%%%%%%%%%%%%%/// **************.### ',
- \ ' %%%* @@%%%%%%%%%%%%%%%%%% // @@@@%%%%%%%%%%%%%%%%%%%%/// ******************.### ',
- \ ' %%%/** @@%%%%%%%%%%%%%%%%%% //@@@#%%%%%%%%%%%%%%%%%%%/// .********************* ### ',
- \ '%%%/**** @@%%%%%%%%%%%%%%%%%% /@@(%%%%%%%%%%%%%%%%%%%/// ************************* ### ',
- \ ',,,***** @@%%%%%%%%%%%%%%%%%% @*%%%%%%%%%%%%%%%%%%%*// ****************************,,, ',
- \ ' ,,,*** @@%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%.// ****************************,,, ',
- \ ' ,,,* @@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# ****************************,,, ',
- \ ' ,, @@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% ****************************,,, ',
- \ ' @@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% **************************,,, ',
- \ ' @@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% .%%%%%( *************************.,, ',
- \ ' @@%%%%%%%%%%%%%%%%%%%%%%%%%%%% // ************************.,, ',
- \ ' @@%%%%%%%%%%%%%%%%%%%%%%%%%%.// ****************************.,, ',
- \ ' @@%%%%%%%%%%%%%%%%%%%%%%%%(/ ........ ** **** ',
- \ ' @@%%%%%%%%%%%%%%%%%%%%%%%// %%%%%% ** %%%%%%% %%%%%%%% %%%%%%%% ',
- \ ' @@%%%%%%%%%%%%%%%%%%%%%// * %%%%%% **** (%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ',
- \ ' @@%%%%%%%%%%%%%%%%%%%// ** /%%%%%, **** %%%%% %%%%% %%%%%% ',
- \ ' @@%%%%%%%%%%%%%%%%%// *** %%%%%% ***** %%%%% ***. %%%%% %%%%% ',
- \ ' @@%%%%%%%%%%%%%%%//. ***** %%%%%% **** #%%%%% ** ,, %%%%%% %%%%%% ',
- \ ' @@%%%%%%%%%%%%%//* ****** %%%%%% **** %%%%% ,, %%%%% /%%%%% ',
- \ ' @@%%%%%%%%%%%*// ,,,**** %%%%%% ***** %%%%%. ,, %%%%%( %%%%%% ',
- \ ' @@%%%%%%%%%.// ,,,* %%%%%% **** %%%%%% , .%%%%% %%%%%% ',
- \ ' @@*%%%%%% // ,, %%%%%%... ** %%%%%.. %%%%% %%%%%.. ',
- \ ' ** ',
- \ ' ,,,********* ,, ',
- \ ' ,,,***** ,, ',
- \ ' ,,,* ,, ',
- \ ' , , ',
- \ ' ',
- \ ]
- " }}}
- " Setup {{{
- if v:progname == 'vi'
- set noloadplugins
- endif
- augroup vimrc
- autocmd!
- augroup END
- " }}}
- " Plugins {{{
- call plug#begin('~/.vim/plugged')
- Plug 'prettier/vim-prettier', { 'do': 'npm install' }
- Plug 'neoclide/coc.nvim', {'branch': 'release'}
- Plug 'dense-analysis/ale'
- Plug 'scrooloose/nerdtree'
- Plug 'Xuyuanp/nerdtree-git-plugin'
- Plug 'ctrlpvim/ctrlp.vim'
- Plug 'terryma/vim-multiple-cursors'
- Plug 'sheerun/vim-polyglot'
- Plug 'tpope/vim-surround'
- Plug 'tpope/vim-sensible'
- Plug 'tpope/vim-fugitive'
- Plug 'tpope/vim-eunuch'
- Plug 'psliwka/vim-smoothie'
- Plug 'Yggdroot/indentLine'
- Plug 'Raimondi/delimitMate'
- Plug 'lifepillar/vim-solarized8'
- Plug 'wincent/ferret'
- Plug 'wincent/terminus'
- Plug 'wincent/loupe'
- Plug 'wincent/scalpel'
- Plug 'melonmanchan/vim-tmux-resizer'
- Plug 'christoomey/vim-tmux-navigator'
- Plug 'roxma/vim-tmux-clipboard'
- Plug 'ryanoasis/vim-devicons'
- Plug 'SirVer/ultisnips'
- Plug 'honza/vim-snippets'
- Plug 'morhetz/gruvbox'
- 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
- noremap <c-p> :NERDTreeToggle<CR>
- " }}}
- " Ale {{{
- let g:ale_linters = {
- \ 'javascript': ['eslint'],
- \ 'javascript.jsx': ['eslint'],
- \}
- " }}}
- " 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>'],
- \ }
- "}}}
- " 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 vimrc 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'
- \ }
- " }}}
- " Loupe {{{
- let g:loupeCenterResults=1
- " }}}
- " Devicons {{{
- let g:WebDevIconsUnicodeDecorateFolderNodes = 1
- let g:NERDTreeDirArrowExpandable = ''
- let g:NERDTreeDirArrowCollapsible = ''
- let g:DevIconsEnableFoldersOpenClose = 1
- let g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol = ' '
- let g:DevIconsDefaultFolderOpenSymbol = ''
- "}}}
- " Ultisnips and Snippets {{{
- " tab to move into menu, ctrl-y to complete
- let g:UltiSnipsExpandTrigger='<Nop>'
- let g:coc_snippet_next = '<TAB>'
- let g:coc_snippet_prev = '<S-TAB>'
- inoremap <silent><expr> <TAB>
- \ pumvisible() ? "\<C-n>" :
- \ <SID>check_back_space() ? "\<TAB>" :
- \ coc#refresh()
- function! s:check_back_space() abort
- let col = col('.') - 1
- return !col || getline('.')[col - 1] =~# '\s'
- endfunction
- " }}}
- "}}}
- " 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 ; :
- " Default reg
- nnoremap ]p "0p
- "
- nnoremap <space> za
- "
- nmap u <c-r>
- nmap <s-u> u
- " }}}
- " Colors {{{
- filetype plugin on
- filetype indent plugin on
- let &t_Co=256
- hi def link jsObjectProp Identifier
- syntax enable
- set termguicolors
- let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
- let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
- set background=dark
- colorscheme gruvbox
- filetype plugin indent on
- " }}}
- " UI {{{
- set modelines=1
- set showcmd
- " }}}
- " Splits {{{
- " Always show line numbers, but only in current window.
- " }}}
- " Misc {{{
- if has('gui_running')
- " Turn off scrollbars. (Default on macOS is "egmrL").
- set guioptions-=L
- set guioptions-=R
- set guioptions-=b
- set guioptions-=l
- set guioptions-=r
- endif
- " }}}
- " 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 noundofile
- 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>
- " }}}
- " File Reading {{{
- " Read-only .doc through antiword
- autocmd BufReadPre *.doc silent set ro
- autocmd BufReadPost *.doc silent %!antiword "%"
- " Read-only odt/odp through odt2txt
- autocmd BufReadPre *.odt,*.odp silent set ro
- autocmd BufReadPost *.odt,*.odp silent %!odt2txt "%"
- " Read-only pdf through pdftotext
- autocmd BufReadPre *.pdf silent set ro
- autocmd BufReadPost *.pdf silent %!pdftotext -nopgbrk -layout -q -eol unix "%" - | fmt -w78
- " Read-only rtf through unrtf
- autocmd BufReadPre *.rtf silent set ro
- autocmd BufReadPost *.rtf silent %!unrtf --text
- " }}}
- " Optimizations {{{
- set nofoldenable
- set synmaxcol=256
- set foldmethod=manual
- set nohlsearch
- set regexpengine=1
- set lazyredraw
- set ttyfast
- " }}}
- " Source vim after every write
- autocmd vimrc BufWritePost $MYVIMRC source $MYVIMRC
- " vim:foldmethod=marker:foldlevel=0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement