Created
October 23, 2017 15:09
-
-
Save RyanParsley/4555c745e7eff58fbd7baf68791a1c87 to your computer and use it in GitHub Desktop.
A fresh start on my vim config. This is early days and super WIP.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| " Specify a directory for plugins | |
| " - For Neovim: ~/.local/share/nvim/plugged | |
| " - Avoid using standard Vim directory names like 'plugin' | |
| call plug#begin('~/.vim/plugged') | |
| Plug 'tpope/vim-fugitive' | |
| Plug 'kien/ctrlp.vim' | |
| Plug 'valloric/youcompleteme' | |
| Plug 'pangloss/vim-javascript' | |
| Plug 'plasticboy/vim-markdown' | |
| Plug 'editorconfig/editorconfig-vim' | |
| Plug 'leafgarland/typescript-vim' | |
| Plug 'mattn/gist-vim' | |
| Plug 'digitaltoad/vim-pug' | |
| Plug 'posva/vim-vue' | |
| Plug 'altercation/vim-colors-solarized' | |
| Plug 'w0rp/ale' | |
| Plug 'terryma/vim-multiple-cursors' | |
| Plug 'bronson/vim-trailing-whitespace' | |
| Plug 'tpope/vim-unimpaired' | |
| Plug 'tpope/vim-surround' | |
| " Make sure you use single quotes | |
| " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align | |
| Plug 'junegunn/vim-easy-align' | |
| " Any valid git URL is allowed | |
| Plug 'https://github.com/junegunn/vim-github-dashboard.git' | |
| " Multiple Plug commands can be written in a single line using | separators | |
| Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets' | |
| " On-demand loading | |
| Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } | |
| Plug 'tpope/vim-fireplace', { 'for': 'clojure' } | |
| " Using a non-master branch | |
| Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' } | |
| " Using a tagged release; wildcard allowed (requires git 1.9.2 or above) | |
| Plug 'fatih/vim-go', { 'tag': '*' } | |
| " Plugin options | |
| Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' } | |
| " Plugin outside ~/.vim/plugged with post-update hook | |
| Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } | |
| " Unmanaged plugin (manually installed and updated) | |
| Plug '~/my-prototype-plugin' | |
| " Initialize plugin system | |
| call plug#end() | |
| noremap <Leader>n :NERDTree<space> | |
| nnoremap ,x :s/<[^>]*>/\r&\r/g<CR> | |
| nnoremap <leader><space> :noh<cr> | |
| nnoremap <leader>l :ls<CR>:b<space> | |
| " Navigate splits more easily | |
| nmap <C-h> <C-w>h | |
| nmap <C-j> <C-w>j | |
| nmap <C-k> <C-w>k | |
| nmap <C-l> <C-w>l | |
| if $TMUX == '' | |
| set clipboard+=unnamed | |
| endif | |
| vmap <C-x> :!pbcopy<CR> | |
| vmap <C-c> :w !pbcopy<CR><CR> | |
| syntax on | |
| filetype indent on | |
| set smartindent | |
| set tabstop=2 | |
| set shiftwidth=2 | |
| set number | |
| set autoread | |
| " Cursor shape fix for tmux | |
| if exists('$ITERM_PROFILE') | |
| if exists('$TMUX') | |
| let &t_SI = "\<Esc>[3 q" | |
| let &t_EI = "\<Esc>[0 q" | |
| else | |
| let &t_SI = "\<Esc>]50;CursorShape=1\x7" | |
| let &t_EI = "\<Esc>]50;CursorShape=0\x7" | |
| endif | |
| end | |
| " for tmux to automatically set paste and nopaste mode at the time pasting (as | |
| " happens in VIM UI) | |
| function! WrapForTmux(s) | |
| if !exists('$TMUX') | |
| return a:s | |
| endif | |
| let tmux_start = "\<Esc>Ptmux;" | |
| let tmux_end = "\<Esc>\\" | |
| return tmux_start . substitute(a:s, "\<Esc>", "\<Esc>\<Esc>", 'g') . tmux_end | |
| endfunction | |
| let &t_SI .= WrapForTmux("\<Esc>[?2004h") | |
| let &t_EI .= WrapForTmux("\<Esc>[?2004l") | |
| function! XTermPasteBegin() | |
| set pastetoggle=<Esc>[201~ | |
| set paste | |
| return "" | |
| endfunction |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment