Advertisement
Guest User

Untitled

a guest
May 27th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 3.46 KB | None | 0 0
  1. """""""""""MISC"""""""""""
  2.  
  3. "clear all existing autocmds
  4. autocmd!
  5.  
  6. "makes sure all the features all available
  7. set nocompatible
  8.  
  9. "required for vim-plug and :! to work
  10. set shell=cmd.exe
  11. set noshellslash
  12. set shellquote="\""
  13.  
  14. "make the global variable if it doesn't exist
  15. if !exists('g:BG')
  16.     let g:BG=&background
  17. endif
  18.  
  19. "make vim store g:CAPS variables to ~/_viminfo
  20. set viminfo+=!
  21.  
  22.  
  23. """""""""PLUGINS""""""""""
  24.  
  25. call plug#begin('~/vimfiles/plugged')
  26. Plug 'altercation/vim-colors-solarized'
  27. Plug 'tpope/vim-surround'
  28. Plug 'ervandew/supertab'
  29. Plug 'exvim/ex-aftercolors'
  30. Plug 'scrooloose/nerdtree'
  31. Plug 'tpope/vim-commentary'
  32. call plug#end()
  33.  
  34.  
  35. """""""""GENERAL""""""""""
  36.  
  37. "font and theming
  38. set guifont=Consolas:h12
  39. colorscheme solarized
  40. let g:solarized_italic=0
  41. syntax enable
  42. set guioptions-=m
  43. set guioptions-=T
  44. set guioptions-=L
  45. set guioptions-=l
  46. set guioptions-=R
  47. set guioptions-=r
  48. set guioptions-=b
  49. set guioptions-=h
  50. set guioptions-=e
  51. set guicursor+=n-v-c:blinkon0  "stop cursor blinking
  52.  
  53. "line wrapping
  54. set wrap
  55. set linebreak
  56. set nolist  " list disables linebreak
  57. set textwidth=0
  58. set wrapmargin=0
  59. set formatoptions-=t
  60.  
  61. "visuals
  62. set cursorline
  63. set number
  64. set relativenumber
  65. set ruler
  66. set showcmd
  67.  
  68. "indentation settings
  69. set tabstop=4
  70. set softtabstop=4
  71. set expandtab
  72. set autoindent
  73. set smartindent
  74.  
  75. "search is case sensitive if it has a upper case letter
  76. set ignorecase
  77. set smartcase
  78.  
  79. "no errorbells
  80. set noerrorbells visualbell t_vb=
  81. autocmd GUIEnter * set visualbell t_vb=
  82.  
  83. "language settings
  84. set langmenu=en_US
  85. let $LANG = 'en_US'
  86. set encoding=utf-8
  87. set fileformats=unix,dos
  88.  
  89. "highlight matches when searching
  90. set incsearch
  91. set hlsearch
  92.  
  93. "use system clipboard
  94. set clipboard=unnamed
  95.  
  96. "update changes to file automatically
  97. set autoread
  98.  
  99. "make backspace behave normally
  100. set backspace=indent,eol,start
  101.  
  102.  
  103. """""""""MAPPINGS""""""""""
  104.  
  105. "sets space as the leader key
  106. let mapleader=" "
  107.  
  108. "makes these keys easier to use
  109. noremap , :
  110. noremap : ;
  111. noremap ; ,
  112.  
  113. "split navigations
  114. nnoremap <C-J> <C-W><C-J>
  115. nnoremap <C-K> <C-W><C-K>
  116. nnoremap <C-L> <C-W><C-L>
  117. nnoremap <C-H> <C-W><C-H>
  118.  
  119. "make Y behave the same way as D and C
  120. nnoremap Y y$
  121.  
  122. "new line with enter/shift-enter in normal mode
  123. nnoremap <S-Enter> O<Esc>j
  124. nnoremap <CR> o<Esc>k
  125.  
  126. "don't show match highlights
  127. nnoremap <Leader>n :noh<cr>
  128.  
  129. "make split equal
  130. nnoremap <Leader>eq <C-w>=
  131.  
  132. "exceute current python file
  133. nnoremap <Leader>py :w<CR>:!python %<CR>
  134.  
  135. "open vimrc in a tab
  136. nnoremap <Leader>vr :tabe $MYVIMRC<CR>
  137.  
  138. "source vimrc
  139. nnoremap <Leader>so :so $MYVIMRC<CR>
  140.  
  141. "show NERDTree
  142. nnoremap <Leader>t :NERDTree
  143.  
  144. "vim-plug commands
  145. nnoremap <Leader>pi :PlugInstall<CR>
  146. nnoremap <Leader>pc :PlugClean<CR>
  147. nnoremap <Leader>pu :PlugUpdate<CR>
  148.  
  149. "toggle theme background
  150. nnoremap <F12> :call ToggleBG()<CR>
  151.  
  152.  
  153. """""""""FUNCTIONS""""""""""
  154.  
  155. "funtion to toggle between solarized dark/light
  156. function! ToggleBG()
  157.     if &background == "dark"
  158.         set background=light
  159.         let g:BG="light"
  160.     else
  161.         set background=dark
  162.         let g:BG="dark"
  163.     endif
  164.     colorscheme solarized
  165. endfunction
  166.  
  167.  
  168. """""""""AUTOCMD""""""""""
  169.  
  170. "toggle relative numbers between modes
  171. augroup LineNumbers
  172.     autocmd!
  173.     autocmd InsertEnter * :set norelativenumber
  174.     autocmd InsertLeave * :set relativenumber
  175. augroup END
  176.  
  177. "source vimrc when it's saved
  178. augroup Source
  179.     autocmd!
  180.     autocmd! BufWritePost _vimrc source %
  181. augroup END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement