Advertisement
Guest User

.vimrc

a guest
Nov 23rd, 2013
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 5.54 KB | None | 0 0
  1. " Header ---------------------------------------------------------------------
  2. filetype on
  3. call pathogen#infect() " Load Scripts from .vim/bundle
  4. call pathogen#helptags()
  5. set nocompatible
  6.  
  7. " Basic Options --------------------------------------------------------------
  8. filetype plugin indent on
  9. syntax on
  10. set encoding=utf-8
  11. set showmode
  12. set showcmd
  13. set hidden
  14. set number
  15. set lazyredraw
  16. set ttyfast
  17. "set list
  18. set listchars=tab:>ยท
  19. set splitbelow
  20. set splitright
  21. set timeoutlen=3000
  22. set ttimeoutlen=300
  23. set more
  24. " set tildeop
  25. set dictionary+=/usr/share/dict/words
  26. set clipboard=unnamedplus
  27. set mouse=a
  28.  
  29. " Indentation Behavior -------------------------------------------------------
  30. set tabstop=4
  31. set softtabstop=4
  32. set shiftwidth=4
  33. set smarttab
  34. set expandtab
  35. set autoindent
  36.  
  37. " Wildmenu -------------------------------------------------------------------
  38. set wildmenu
  39. set wildmode=list:longest
  40.  
  41. " File Behavior --------------------------------------------------------------
  42. if has("autocmd")
  43.   augroup prog
  44.     au!
  45.     " Don't expand tabs to spaces in Makefiles
  46.     au BufEnter  [Mm]akefile*  set noet
  47.     au BufLeave  [Mm]akefile*  set et
  48.  
  49.     au FileType lua setlocal tabstop=2 shiftwidth=2 softtabstop=2
  50.  
  51.   augroup END
  52. end
  53.  
  54. au BufReadPost *.py set syntax=python " instead of conf
  55.  
  56. " Searching and Movement -----------------------------------------------------
  57. set incsearch       " do incremental searching
  58. set hlsearch        " highlight searched
  59. set ignorecase      " ignore case when searching
  60. set scrolloff=1
  61. set sidescrolloff=3
  62. set whichwrap=b,s,h,l,<,>,[,]   " move freely between files
  63. nn <silent> <Cr> :noh<Cr>
  64.  
  65. " Up and down are more logical with g
  66. nn <silent> k gk
  67. nn <silent> j gj
  68. nn <silent> <Up> gk
  69. nn <silent> <Down> gj
  70. ino <silent> <Up> <C-O>gk
  71. ino <silent> <Down> <C-O>gj
  72.  
  73. " Status Line ----------------------------------------------------------------
  74. set laststatus=2
  75. hi statusline ctermbg=black
  76. set statusline=\ %n:\ %f\ %y%r%m%h%w%<%=%v\,\ %l\/%L\,\ %3P\
  77.  
  78. " Folding --------------------------------------------------------------------
  79. set foldmethod=indent
  80. set foldlevel=99
  81. nn <silent> <space> za
  82.  
  83. " Key Mappings ---------------------------------------------------------------
  84. nmap <F1> <nop>
  85. imap <F1> <nop>
  86. nn <silent> <F2> <esc>:NERDTreeToggle<cr>
  87. nn <silent> <Leader><F2> <esc>:NERDTreeFind<cr>
  88. nn <silent> <Leader><F3> <esc>:TlistToggle<cr>
  89. nn <silent> <F3> <esc>n
  90. nn <silent> <F4> <esc>:BuffergatorToggle<cr>
  91. nn <silent> <F6> :e %:p:s,.h$,.X123X,:s,.cpp$,.h,:s,.X123X$,.cpp,<CR>
  92. nn <silent> <F12> :bn!<Cr>
  93. nn <silent> <Leader><F12> :bp!<Cr>
  94. nn <silent> <leader>ev :e ~/.vimrc<cr>
  95. nn <silent> <leader>v :so ~/.vimrc<cr>:echo ".vimrc reloaded"<cr>
  96. nn ; :
  97. nn <silent> , ;
  98. nn Q gq
  99. nn <silent> <Leader>t :r !date<cr>
  100. nn <C-s> <esc>:w<cr>
  101.  
  102. " Pastemode Stuff
  103. map <silent> <F8> :set paste<cr>
  104. map <silent> <S-F8> :set nopaste<cr>
  105. imap <silent> <F8> <C-O>:set paste<cr>
  106. imap <silent> <S-F8> <nop>
  107. set pastetoggle=<S-F8>
  108.  
  109. "make Y behave more like C and D
  110. nmap Y y$
  111. " \d to delete without storing in a register.
  112. nn <silent> <Leader>d "_d
  113. nn <silent> <Leader>D "_D
  114. vn <silent> <Leader>d "_d
  115. vn <silent> <Leader>D "_D
  116. " \p to paste what was recently yanked ignoring deletes.
  117. nn <silent> <Leader>p "0p
  118. nn <silent> <Leader>P "0P
  119. " Tildeops is magic, but let's get around the voodoo for a second.
  120. nn <silent> <Leader>~ g~l
  121. nn <silent> <Leader>l <esc>:set list!<CR>
  122. " Change directory more easily
  123. nn <Leader>cd :cd %:p:h<CR>:pwd<CR>
  124.  
  125. " window switching like weechat
  126. nn <silent> <M-Left> <esc><C-W><Left>
  127. nn <silent> <M-Right> <esc><C-W><Right>
  128. nn <silent> <M-Up> <esc><C-W><Up>
  129. nn <silent> <M-Down> <esc><C-W><Down>
  130. nn <silent> <Leader><Left> <esc><C-W><Left>
  131. nn <silent> <Leader><Right> <esc><C-W><Right>
  132. nn <silent> <Leader><Up> <esc><C-W><Up>
  133. nn <silent> <Leader><Down> <esc><C-W><Down>
  134.  
  135. " Aliases for common typos ---------------------------------------------------
  136. cnoreabbrev E e
  137. cnoreabbrev W w
  138. cnoreabbrev WQ wq
  139. cnoreabbrev Wa wa
  140. cnoreabbrev WA wa
  141. cnoreabbrev Wall wall
  142. cnoreabbrev WAll wall
  143. cnoreabbrev WALL wall
  144. cnoreabbrev Q q
  145. cnoreabbrev QA qa
  146.  
  147. " Preventing Spam ------------------------------------------------------------
  148. set suffixes+=.bak
  149. set suffixes+=.swp
  150. set suffixes+=.o
  151. set suffixes+=.class
  152. set suffixes+=.pyc
  153. set suffixes+=.pyo
  154. set suffixes+=.png
  155. set suffixes+=.jpg
  156. set suffixes+=.gif
  157. set suffixes+=.bmp
  158.  
  159. " swap files make me a sad panda
  160. if has("win32") || has("win64")
  161.    set directory=$TMP
  162. else
  163.    set directory=/tmp
  164. end
  165.  
  166. " Settings for Plugins -------------------------------------------------------
  167.  
  168. " -- taglist.vim
  169. let Tlist_Use_Right_Window=1
  170. let Tlist_Auto_Open=0
  171. let Tlist_Enable_Fold_Column=0
  172. let Tlist_Compact_Format=0
  173. let Tlist_Exit_OnlyWindow=1
  174. let Tlist_File_Fold_Auto_Close = 1
  175.  
  176. " -- NERDTree
  177. let NERDTreeIgnore = []
  178. for suffix in split(&suffixes, ',')
  179.   let NERDTreeIgnore += [ escape(suffix, '.~') . '$' ]
  180. endfor
  181. let NERDTreeWinSize = 19
  182.  
  183. " -- Buffer Explorer
  184. let g:bufExplorerSortBy='name'
  185.  
  186. " -- Buffer Gator
  187. let g:buffergator_viewport_split_policy="T"
  188. let g:buffergator_autoexpand_on_split=0
  189. let g:buffergator_split_size=10
  190. let g:buffergator_display_regime='filepath'
  191.  
  192. " -- xolox's Notes.vim
  193. let g:notes_directory = '~/Documents/Notes'
  194. let g:notes_suffix = '.txt'
  195. let g:notes_lists_bullets = ['*', '-', '+', '.']
  196. let g:notes_smart_quotes = 0
  197.  
  198. " -- xolox's Session.vim
  199. let g:session_autoload = 'no'
  200. let g:session_autosave = 'yes'
  201. let g:session_command_aliases = 1
  202.  
  203. " -- SuperTab
  204. let g:SuperTabDefaultCompletionType = "context"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement