Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2015
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.90 KB | None | 0 0
  1. source ~/.dotfiles/vim/bundles " Bundles
  2. 2
  3. 3 syntax on " Enable syntax highlighting
  4. 4 filetype plugin indent on " Enable filetype-specific indenting and plugins
  5. 5
  6. 6 nnoremap Q <nop>| " disable EX mode
  7. 7 nnoremap q <nop>| " disable EX mode
  8. 8 nnoremap <Space> <nop>| " remove functionality from spacebar to allow leader to be spacebar
  9. 9 let mapleader = ' '| " leader is spacebar
  10. 10 nnoremap ; :| " remap ; to :
  11. 11 imap jj <esc>| " jj instead of escape
  12. 12 nnoremap ? :Ag<SPACE>| " ? is Ag search|
  13. 13 nnoremap <leader>w :w<cr>| " leader w to save
  14. 14 nnoremap <leader>q :q<cr>| " leader q to quit
  15. 15 nnoremap <leader>fq :q!<cr>| " leader q to quit
  16. 16 nnoremap s <nop>| " disable s entering insert mode
  17. 17 nnoremap <leader>rw :%s/\s\+$//e<cr>| " leader rw removes all trailing whitespace
  18. 18 nnoremap <leader>h :noh<cr>| " leader h removes all search highlighting
  19. 19 nnoremap <leader>cn :vsplit ~/Dropbox/coding/coding-notes.txt<cr>| " open coding notes to the right
  20. 20 nnoremap <leader>p :set paste!<cr>| " toggle paste
  21. 21 nnoremap <leader>a mzgg=G`z;| " auto aligns entire page
  22. 22 noremap <leader>a mzgg=G`z;| " auto aligns entire page visual mode
  23. 23 nnoremap n <nop>| " disable n entering insert mode
  24. 24 nnoremap <leader>rl :call NumberToggle()<cr>| " call NumberToggle
  25. 25 nnoremap <leader>n :set number!<cr>|
  26. 26 nnoremap <leader><leader> :b#<cr>| " leader leader switches between last two files
  27. 27 map <leader>cu :Tabularize /| " align up on whatever I enter
  28. 28 map <leader>ce :Tabularize /=<cr>| " align up on =
  29. 29 map <leader>cc :Tabularize /:<cr>| " align up on :
  30. 30 map <leader>cq :Tabularize /" <cr>| " align up on "
  31. 31
  32. 32 set autoindent " set auto indent
  33. 33 set showbreak=↪ " show character for wrapped lines
  34. 34 set ts=2 " set indent to 2 spaces
  35. 35 set shiftwidth=2
  36. 36 set expandtab " use spaces, not tab characters
  37. 37 set textwidth=0
  38. 38 set splitbelow " Open new split panes to right and bottom, which feels more natural
  39. 39 set splitright " Open new split panes to right and bottom, which feels more natural
  40. 40
  41. 41 set formatoptions-=or " Dont add the comment prefix when I hit enter or o/O on a comment line.
  42. 42 set nocompatible " Dont need to be compatible with old vim
  43. 43 set showmatch " show bracket matches
  44. 44 set scrolloff=3 " minimum lines above/below cursor
  45. 45 set ruler " show row and column in footer
  46. 46 set laststatus=2 " always show status bar
  47. set showcmd " display commands
  48. 48 set noswapfile
  49. 49 set wrap linebreak nolist " dont insert new lines on word wrap
  50. 50 set number
  51. 51
  52. 52 set ignorecase " ignore case in search
  53. 53 set smartcase " pay attention to case when caps are used
  54. 54 set hlsearch " highlight all search matches
  55. 55 set incsearch " show search results as I type
  56. 56
  57. 57 set mouse=a " enable mouse support
  58. 58 set clipboard=unnamed
  59. 59 set ttimeoutlen=500 " decrease timeout for faster insert with 'O'
  60. 60 set ttyfast
  61. 61 set noswapfile
  62. 62 set wildmenu " enable bash style tab completion
  63. 63 set wildmode=longest,list
  64. 64 set wildignore+=*.gif,*.jpg,*.png,*.log " Ignore images and log files
  65. 65 set wildignore+=node_modules/* " Ignore node_modules
  66. 66 set history=500 " keep 500 lines of command line history
  67. 67 match ErrorMsg '\s\+$' " show extra whitespace
  68. 68 set ttimeout " (Hopefully) removes the delay when hitting esc in insert mode
  69. 69
  70. 70 " Toggle between relative and number
  71. 71 function! NumberToggle()
  72. 72 if (&relativenumber == 1)
  73. 73 set number!
  74. 74 set relativenumber!
  75. 75 else
  76. 76 set relativenumber!
  77. 77 set number!
  78. 78 endif
  79. 79 endfunc
  80. 80
  81. 81 " NerdTree
  82. 82 nnoremap <leader>t :NERDTreeToggle<cr>
  83. 83 let NERDTreeQuitOnOpen =1
  84. 84 autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif " Open NerdTree if vim starts with no files
  85. 85
  86. 86 " Use Silver Searcher instead of grep
  87. 87 let g:ctrlp_use_caching = 0
  88. 88 if executable('ag')
  89. 89 set grepprg=ag\ --nogroup\ --nocolor\ --column
  90. 90
  91. 91 let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
  92. else
  93. 93 let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files . -co --exclude-standard', 'find %s -type f']
  94. 94 let g:ctrlp_prompt_mappings = {
  95. 95 \ 'AcceptSelection("e")': ['<space>', '<cr>', '<2-LeftMouse>'],
  96. 96 \ }
  97. 97 endif
  98. 98
  99. 99 " Make those pry and debugger statements painfully obvious
  100. 100 au BufEnter *.rb syn match error contained "\<binding.pry\>"
  101. 101 au BufEnter *.rb syn match error contained "\<debugger\>"
  102. 102 au BufEnter *.js syn match error contained "\<console.log\>"
  103. 103
  104. 104 " Fuzzy finder: ignore stuff that can't be opened, and generated files
  105. 105 let g:fuzzy_ignore = "*.png;*.PNG;*.JPG;*.jpg;*.GIF;*.gif;vendor/**;coverage/**;tmp/**;rdoc/**"
  106. 106
  107. 107 " Reload .vimrc on save
  108. 108 augroup reload_vimrc " {
  109. 109 autocmd!
  110. 110 autocmd BufWritePost $MYVIMRC source $MYVIMRC
  111. 111 augroup END " }
  112. 112
  113. 113 " filetype settings
  114. 114 augroup myfiletypes
  115. 115 autocmd!
  116. 116 au FileType ruby,eruby,yaml setlocal ai sw=2 sts=2 et " autoindent with two spaces, always expand tabs
  117. 117 au FileType ruby,eruby,yaml setlocal path+=lib
  118. 118 au FileType ruby,eruby,yaml setlocal colorcolumn=80
  119. 119 au FileType ruby,eruby,yaml setlocal iskeyword+=? " Make ?s part of words
  120. 120 au FileType gitcommit setlocal spell " spell checking for commit messages
  121. 121 au BufRead,BufNewFile *.md,*.txt setlocal spell " Turn on spell-checking in markdown and text.
  122. 122 au BufNewFile,BufReadPost *.md set filetype=markdown " By default, vim thinks .md is Modula-2.
  123. 123 au BufNewFile,BufRead *.json setf javascript " treat JSON like JavaScript
  124. 124 au BufNewFile,BufRead *.txt setlocal nolist " Don't display whitespace
  125. 125 au FileType xml exe ":silent 1,$!xmllint --format --recover - 2>/dev/null" " Format xml files
  126. 126 augroup END
  127. 127
  128. 128 " Configure Syntastic syntax checking to check on open as well as save
  129. 129 let g:syntastic_check_on_open=1
  130. 130 let g:syntastic_html_tidy_ignore_errors=[" proprietary attribute \"ng-"]
  131. 131
  132. 132 " Make the omnicomplete text readable
  133. 133 " highlight PmenuSel ctermfg=red
  134. 134 " highlight Pmenu ctermfg=red ctermbg=red
  135. 135 " highlight Search cterm=NONE ctermfg=white ctermbg=darkblue
  136.  
  137. 137 " Quicker window movement
  138. 138 nnoremap <C-h> <C-w>h
  139. 139 nnoremap <C-j> <C-w>j
  140. 140 nnoremap <C-k> <C-w>k
  141. 141 nnoremap <C-l> <C-w>l
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement