Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- syntax on
- call plug#begin('~/.vim/plugged')
- Plug 'itchyny/lightline.vim'
- Plug 'https://github.com/romainl/vim-cool'
- Plug 'https://github.com/tpope/vim-commentary'
- Plug 'https://github.com/tpope/vim-surround'
- Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
- Plug 'junegunn/fzf.vim'
- Plug 'tpope/vim-fugitive'
- Plug 'tpope/vim-vinegar'
- Plug 'https://github.com/airblade/vim-gitgutter'
- Plug 'scrooloose/nerdtree'
- Plug 'mhinz/vim-startify'
- Plug 'bogado/file-line'
- Plug 'easymotion/vim-easymotion'
- Plug 'pangloss/vim-javascript'
- Plug 'sainnhe/edge'
- Plug 'mileszs/ack.vim'
- Plug 'editorconfig/editorconfig-vim'
- Plug 'ntpeters/vim-better-whitespace'
- Plug 'junegunn/goyo.vim'
- Plug 'honza/vim-snippets'
- Plug 'christoomey/vim-tmux-navigator'
- Plug 'schickling/vim-bufonly'
- Plug 'blindFS/vim-taskwarrior'
- if executable('ctags')
- Plug 'majutsushi/tagbar'
- endif
- if executable('ranger')
- Plug 'francoiscabrol/ranger.vim'
- endif
- if v:version > 800
- Plug 'mg979/vim-visual-multi'
- if executable('node')
- Plug 'neoclide/coc.nvim', {'branch': 'release'}
- endif
- endif
- if v:version < 800 && 0 == executable('node') && has('python3')
- Plug 'Shougo/deoplete.nvim'
- Plug 'roxma/nvim-yarp'
- Plug 'roxma/vim-hug-neovim-rpc'
- Plug 'carlitux/deoplete-ternjs', { 'do': 'npm install -g tern' }
- endif
- call plug#end()
- " SETS
- set undofile
- set undodir=$TEMP
- set backspace=indent,eol,start
- " set autochdir
- set autoindent
- set completeopt=longest,menuone
- set fenc=utf-8
- set fileencodings=utf-8,latin2
- set gdefault
- set hidden
- set ignorecase
- set incsearch
- set laststatus=2
- set mouse=a
- set nobackup
- set nocompatible
- set noexpandtab
- set foldmethod=indent
- set nofoldenable
- set nowrap
- set nowritebackup
- set relativenumber number
- set ruler
- set showcmd
- set t_Co=256
- set tabpagemax=50
- set wildmenu
- set wrapscan
- set clipboard+=autoselect
- set background=dark
- set shiftwidth=4
- set softtabstop=4
- set tabstop=4
- set expandtab
- set guioptions=agrLTi
- set updatetime=300
- set directory^=$HOME/.vim/tmp//
- "Leader
- let mapleader="."
- "FUNCTIONS
- command! DosToUnix %s/\r//g
- command! Q q
- command! W w
- command! Wq wq
- command! RmEmptyLines g/^$/d
- cnoremap w!! %!sudo tee > /dev/null
- fun s:TabsToSpaces()
- set expandtab ts=4 sw=4 ai
- %retab
- endf
- command! TabsToSpaces call s:TabsToSpaces()
- fun ToggleWrap()
- if (&wrap == 1)
- set nowrap
- else
- set wrap
- endif
- endf
- command! ToggleWrap call ToggleWrap()
- "Mappings
- map <c-\> :NERDTreeToggle<cr>
- map <c-o> :GFiles<cr>
- map <c-p> :Ranger<cr>
- map <c-b> :Buffers<cr>
- map <c-f> :LAck
- map <c-z> :Goyo<cr>
- map <c-t> :below terminal ++rows=20<cr>
- "Mappings - easymotion
- map <Leader>f <Plug>(easymotion-bd-f)
- nmap <Leader>f <Plug>(easymotion-overwin-f)
- nmap s <Plug>(easymotion-overwin-f2)
- map <Leader>L <Plug>(easymotion-bd-jk)
- nmap <Leader>L <Plug>(easymotion-overwin-line)
- map <Leader>w <Plug>(easymotion-bd-w)
- nmap <Leader>w <Plug>(easymotion-overwin-w)
- nmap <F8> :TagbarToggle<CR>
- "MOUSE
- set mouse+=a
- if &term =~ '^screen'
- set ttymouse=xterm2
- endif
- "Plugins
- "CoC
- nmap <silent> cR <Plug>(coc-refactor)
- nmap <silent> cd <Plug>(coc-definition)
- nmap <silent> cf <Plug>(coc-format)
- nmap <silent> ci <Plug>(coc-implementation)
- nmap <silent> cr <Plug>(coc-references)
- nmap <silent> cy <Plug>(coc-type-definition)
- nnoremap <silent> <space>w :<C-b>CocList --normal --top --input windows<cr>
- nnoremap <silent> <space>k :<C-b>CocList --normal --top --input maps<cr>
- nnoremap <silent> <space>m :<C-u>CocList --normal --top --input mru<cr>
- nnoremap <silent> <space>o :<C-u>CocList --normal --top --input outline<cr>
- 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>
- nnoremap <silent> K :call <SID>show_documentation()<CR>
- function! s:show_documentation()
- if (index(['vim','help'], &filetype) >= 0)
- execute 'h '.expand('<cword>')
- else
- call CocAction('doHover')
- endif
- endfunction
- "Goyo
- let g:goyo_width = 90
- if has('python3') "deoplete does not work when there's no python3 (pip3 install --user pynvim) installed
- let g:deoplete#enable_at_startup = 1
- let g:deoplete#sources#ternjs#tern_bin = '/home/finch/.nvm/versions/node/v12.14.0/bin/tern'
- let g:deoplete#sources#ternjs#timeout = 1
- let g:deoplete#sources#ternjs#docs = 1
- let g:deoplete#sources#ternjs#case_insensitive = 1
- " inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
- endif
- if executable('ag')
- let g:ackprg = 'ag --vimgrep'
- endif
- let g:ack_autoclose = 1
- let g:ackhighlight = 1
- let g:VM_maps = {}
- let g:VM_maps['Find Under'] = '<C-d>' " replace C-n
- let g:VM_maps['Find Subword Under'] = '<C-d>' " replace visual C-n
- let g:ranger_command_override = 'ranger --cmd "set show_hidden=true"'
- let g:fzf_buffers_jump = 1
- "Vim Session
- let g:session_autosave = 'no'
- let g:session_autoload = 'no'
- "Startify
- let g:startify_session_dir = '~/.vim/sessions'
- let g:startify_list_order = [
- \ [' Sessions:'],
- \ 'sessions',
- \ [' Recent files:'],
- \ 'files',
- \ [' ... in the current directory:'],
- \ 'dir',
- \ [' Bookmarks:'],
- \ 'bookmarks',
- \ ]
- " Colors
- let g:edge_style = 'neon'
- let g:edge_disable_italic_comment = 1
- set background=dark
- colorscheme edge
- let g:lightline = {
- \ 'colorscheme': 'edge',
- \ 'component_function': {
- \ 'filename': 'LightlineFilename',
- \ }
- \ }
- function! LightlineFilename()
- let root = fnamemodify(get(b:, 'git_dir'), ':h')
- let path = expand('%:p')
- if path[:len(root)-1] ==# root
- return path[len(root)+1:]
- endif
- return expand('%')
- endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement