Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 3.05 KB | None | 0 0
  1. set nocompatible              " be iMproved, required
  2. filetype off                  " required
  3.  
  4. " set the runtime path to include Vundle and initialize
  5. call plug#begin('~/.vim/plugged')
  6.  
  7. Plug 'jiangmiao/auto-pairs'
  8. Plug 'rhysd/vim-clang-format'
  9. Plug 'kien/ctrlp.vim'
  10. Plug 'morhetz/gruvbox'
  11.  
  12. call plug#end()
  13.  
  14. filetype plugin on
  15. filetype plugin indent on
  16.  
  17. syntax on
  18. syntax enable
  19.  
  20. "
  21. " Basic settings
  22. "
  23.  
  24. set nu
  25.  
  26. " disable backup
  27. set noswapfile
  28. set nobackup
  29.  
  30. " match
  31. set showmatch
  32.  
  33. " gui settings
  34. if has('gui_running')
  35.     set t_Co=256
  36.     " set background=dark
  37.     colorscheme gruvbox
  38.  
  39.     set guioptions-=m
  40.     set guioptions-=T
  41.     set guioptions-=r
  42.     set guioptions-=L
  43.  
  44.     if has('win32')
  45.         set guifont=Consolas:h12
  46.     elseif has('gui_gtk2') || has('gui_gtk3')
  47.         set guifont=Source\ Code\ Pro\ 10
  48.     else
  49.         set guifont=Fira\ Code\ Retina:h13
  50.     endif
  51.  
  52.     hi MatchParen guibg=bg guifg=cyan gui=bold
  53. endif
  54.  
  55. " tabs
  56. set tabstop=4
  57. set softtabstop=0
  58. set expandtab
  59. set shiftwidth=4
  60. set smarttab
  61.  
  62. " indent
  63. set smartindent
  64.  
  65. " backspace
  66. set backspace=indent,eol,start
  67.  
  68. " encoding
  69. set ff=unix
  70. set encoding=utf-8
  71. set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
  72.  
  73. " search
  74. set ignorecase
  75. set hlsearch
  76. set incsearch
  77.  
  78. " editor
  79. set linespace=0
  80.  
  81. set tags=./.tags;,.tags
  82.  
  83. " disable bell
  84. autocmd! GUIEnter * set vb t_vb=
  85.  
  86. " maximum
  87. autocmd GUIEnter * simalt ~x
  88.  
  89. autocmd FileType python source ~/vimrc/python.vim
  90. autocmd FileType c,cpp source ~/vimrc/cpp.vim
  91.  
  92. """
  93. " Key Binding.
  94. """"
  95.  
  96. let mapleader = ","
  97.  
  98. " map
  99. map q: :q
  100. map <C-s> :w<CR>
  101.  
  102. " Close all the buffers
  103. map <leader>ba :bufdo bd<CR>
  104.  
  105. map <leader>l :bnext<CR>
  106. map <leader>h :bprevious<CR>
  107. map <leader>k :bd<CR> " kill current buffer
  108.  
  109. nnoremap <C-j> <C-W>j
  110. nnoremap <C-k> <C-W>k
  111. nnoremap <C-h> <C-W>h
  112. nnoremap <C-l> <C-W>l
  113.  
  114. " insert date
  115. nnoremap <C-M-i> "=strftime("%c")<CR>P
  116. inoremap <C-M-i> <C-R>=strftime("%c")<CR>
  117.  
  118. nnoremap <leader>rc :source $MYVIMRC<CR>
  119.  
  120. "
  121. " Additional features
  122. "
  123. set wildmenu
  124. set wildignore+=*.bmp,*.gif,*.ico,*.jpg,*.png,*.ico
  125. set wildignore+=*.pdf,*.psd
  126. set wildignore+=node_modules/*,bower_components/*,.git/*,.svn/*
  127.  
  128. set autochdir
  129. nnoremap gf :vertical wincmd f<CR>
  130.  
  131. "
  132. " Statusline
  133. "
  134.  
  135. set laststatus=2
  136. set statusline=
  137. set statusline+=\ %f
  138. set statusline+=\ %r
  139. set statusline+=%m
  140.  
  141. set statusline+=%= " align left
  142.  
  143. set statusline+=\ %y
  144. set statusline+=[%{strlen(&fenc)?&fenc:'none'}, "file encoding
  145. set statusline+=%{&ff}] "file format
  146. set statusline+=\ %(%3p%%,%3l,%c%)\
  147.  
  148. set statusline+=\
  149. set statusline+=
  150.  
  151. """
  152. " Plugin Settings.
  153. """
  154.  
  155.  
  156. let g:clang_format#code_style="Google"
  157. autocmd FileType c,cpp,objc nnoremap <buffer><Leader>cf :<C-u>ClangFormat<CR>
  158. autocmd FileType c,cpp,objc vnoremap <buffer><Leader>cf :ClangFormat<CR>
  159.  
  160.  
  161. let g:ctrlp_map = '<C-f>'
  162. let g:ctrlp_cmd = 'CtrlP'
  163. let g:ctrlp_custom_ignore = {
  164.             \ 'dir':  '\v[\/](build|node_modules)|(\.(git|hg|svn))$',
  165.             \ 'file': '\v\.(exe|so|dll)$',
  166.             \ }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement