Advertisement
Guest User

Untitled

a guest
Jun 6th, 2021
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.37 KB | None | 0 0
  1. call plug#begin(stdpath('data'))
  2.  
  3. Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
  4. Plug 'junegunn/fzf.vim'
  5. Plug 'sheerun/vim-polyglot'
  6. Plug 'tpope/vim-surround'
  7. Plug 'Raimondi/delimitMate'
  8. Plug 'vim-airline/vim-airline'
  9. Plug 'vim-syntastic/syntastic'
  10. Plug 'ryanoasis/vim-devicons'
  11. Plug 'vim-airline/vim-airline-themes'
  12. Plug 'rafi/awesome-vim-colorschemes'
  13. Plug 'preservim/nerdcommenter'
  14. Plug 'ervandew/supertab'
  15. Plug 'micha/vim-colors-solarized'
  16. Plug 'octol/vim-cpp-enhanced-highlight'
  17. Plug 'lervag/vimtex'
  18. call plug#end()
  19.  
  20. filetype plugin on
  21.  
  22. let mapleader = "-"
  23. let maplocalleader = "\\"
  24.  
  25. "split navigations
  26. nnoremap <C-J> <C-W><C-J>
  27. nnoremap <C-K> <C-W><C-K>
  28. nnoremap <C-L> <C-W><C-L>
  29. nnoremap <C-H> <C-W><C-H>
  30.  
  31. set splitbelow
  32. set splitright
  33.  
  34. " Enable folding
  35. set foldmethod=indent
  36. set foldlevel=99
  37. "Enable folding with the spacebar
  38. nnoremap <space> za
  39.  
  40. " open files with ctrl-p
  41. nnoremap <c-p> :Files<cr>
  42.  
  43. au BufNewFile,BufRead *.py,*.java,*.cpp,*.c,*.cs,*.rkt,*.h,*.html
  44.     \ set tabstop=4 |
  45.     \ set softtabstop=4 |
  46.     \ set shiftwidth=4 |
  47.     \ set textwidth=120 |
  48.     \ set expandtab |
  49.     \ set autoindent |
  50.     \ set fileformat=unix |
  51.  
  52. set encoding=utf-8
  53.  
  54. syntax on
  55.  
  56. " air-line
  57. let g:airline_powerline_fonts = 1
  58. let g:airline_theme = 'solarized'
  59. let g:airline#extensions#tabline#enabled = 1
  60. let g:vimtex_view_general_viewer = 'SumatraPDF'
  61. let g:vimtex_view_general_options = '-reuse-instance @pdf'
  62. let g:vimtex_view_general_options_latexmk = '-reuse-instance'
  63. let g:tex_flavor = 'latex'
  64. let g:vimtex_motion_matchparen = 0
  65. let g:vimtex_fold_manual = 1
  66. let g:vimtex_matchparen_enabled = 0
  67.  
  68. if !exists('g:airline_symbols')
  69.    let g:airline_symbols = {}
  70. endif
  71.  
  72. " unicode symbols
  73. let g:airline_left_sep = '»'
  74. let g:airline_left_sep = '▶'
  75. let g:airline_right_sep = '«'
  76. let g:airline_right_sep = '◀'
  77. let g:airline_symbols.linenr = '␊'
  78. let g:airline_symbols.linenr = '␤'
  79. let g:airline_symbols.linenr = '¶'
  80. let g:airline_symbols.branch = '⎇'
  81. let g:airline_symbols.paste = 'ρ'
  82. let g:airline_symbols.paste = 'Þ'
  83. let g:airline_symbols.paste = '∥'
  84. let g:airline_symbols.whitespace = 'Ξ'
  85.  
  86. " airline symbols
  87. let g:airline_left_sep = ''
  88. let g:airline_left_alt_sep = ''
  89. let g:airline_right_sep = ''
  90. let g:airline_right_alt_sep = ''
  91. let g:airline_symbols.branch = ''
  92. let g:airline_symbols.readonly = ''
  93. let g:airline_symbols.linenr = ''
  94.  
  95. highlight Comment cterm=italic gui=italic
  96.  
  97. set laststatus=2
  98. " set showtabline=2
  99.  
  100. colorscheme solarized8
  101.  
  102. " true colours
  103. set background=light
  104. set t_Co=256
  105.  
  106. if (has("nvim"))
  107.  let $NVIM_TUI_ENABLE_TRUE_COLOR=1
  108. endif
  109.  
  110. if (has("termguicolors"))
  111.  set termguicolors
  112. endif
  113.  
  114.  
  115. "General editor settings
  116. set nocompatible
  117. set showcmd
  118. set tabstop=4
  119. set shiftwidth=4
  120. set expandtab
  121. set autoindent
  122. set smartindent
  123. set ruler
  124. set incsearch
  125. set shellslash
  126. set number
  127. set relativenumber
  128. set cino+=L0
  129. syntax on
  130. filetype indent on
  131. filetype off
  132. setlocal indentkeys-=:
  133.  
  134. "clears highlights
  135. nnoremap // :noh<return>
  136. " moves current line down or up
  137. nnoremap <leader>- ddp
  138. nnoremap <leader>_ ddkP
  139. " open vimrc in vertical split
  140. nnoremap <leader>ev :vsplit $MYVIMRC<cr>
  141. " update changes into current buffer
  142. nnoremap <leader>sv :source $MYVIMRC<cr>
  143. " enable or disable line wrapping in current buffer
  144. nnoremap <buffer> <localleader>w :set wrap!<cr>
  145.  
  146. " c++11 support in syntastic
  147. let g:syntastic_cpp_compiler = 'clang++'
  148. let g:syntastic_cpp_compiler_options = ' -std=c++11'
  149.  
  150. "Append template to new C++ files
  151. autocmd BufNewFile *.cpp 0r /home/alex/vimcp/Library/Template.cpp
  152.  
  153. nnoremap <C-c> <esc>ggVGy<CR>
  154.  
  155. "Note that this line requires the build.sh script!
  156. autocmd filetype cpp nnoremap <F9> :w <bar> !build.sh %:r <CR>
  157. autocmd filetype cpp nnoremap <F10> :!./%:r<CR>
  158.  
  159. set clipboard=unnamedplus
  160.  
  161. "Clipboard configuration
  162. let s:clip = '/mnt/c/Windows/System32/clip.exe'  " change this path according to your mount point
  163. if executable(s:clip)
  164.         augroup WSLYank
  165.                     autocmd!
  166.                             autocmd TextYankPost * if v:event.operator ==# 'y' | call system(s:clip, @0) | endif
  167.                                 augroup END
  168.                             endif
  169.  
  170.         au BufNewFile,BufRead *.tex
  171.             \ set nocursorline |
  172.             \ set nornu |
  173.             \ set number |
  174.             \ let g:loaded_matchparen=1 |
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement