Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.71 KB | None | 0 0
  1. hist(someVariable)
  2.  
  3. set omnifunc=syntaxcomplete#Complete
  4.  
  5. " Map leader
  6. let mapleader = ","
  7. let maplocalleader = ","
  8.  
  9. " Plug in manager
  10. call plug#begin('~/.vim/plugged')
  11.  
  12. " Make sure you use single quotes
  13.  
  14. " Any valid git URL is allowed
  15. Plug 'https://github.com/junegunn/vim-github-dashboard.git'
  16. Plug 'jalvesaq/Nvim-R'
  17. Plug 'yegappan/mru'
  18. Plug 'godlygeek/tabular'
  19. Plug 'plasticboy/vim-markdown'
  20. Plug 'chrisbra/csv.vim'
  21. Plug 'scrooloose/nerdtree'
  22. Plug 'altercation/vim-colors-solarized'
  23. " Plug 'ervandew/supertab'
  24. Plug 'jalvesaq/southernlights'
  25. Plug 'kshenoy/vim-signature'
  26. Plug 'chrisbra/csv.vim'
  27. Plug 'vim-airline/vim-airline'
  28. Plug 'ryanoasis/vim-devicons'
  29. Plug 'scrooloose/nerdcommenter'
  30. Plug 'WolfgangMehner/c-support'
  31. " Plug 'kien/ctrlp.vim'
  32. Plug 'garbas/vim-snipmate'
  33. Plug 'MarcWeber/vim-addon-mw-utils'
  34. Plug 'tomtom/tlib_vim'
  35. Plug 'honza/vim-snippets'
  36. Plug 'mhinz/vim-startify'
  37. Plug 'majutsushi/tagbar'
  38. Plug 'bling/vim-bufferline'
  39. Plug 'vim-airline/vim-airline-themes'
  40. Plug 'easymotion/vim-easymotion'
  41. Plug 'mbbill/undotree'
  42. Plug 'luochen1990/rainbow'
  43. Plug 'junegunn/vim-easy-align'
  44. Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
  45. Plug 'ervandew/screen'
  46. Plug 'itchyny/calendar.vim'
  47. Plug 'tpope/vim-obsession'
  48. Plug 'terryma/vim-multiple-cursors'
  49. Plug 'agude/vim-eldar'
  50. Plug 'whatyouhide/vim-gotham'
  51. Plug 'hhsnopek/vim-firewatch'
  52. Plug 'trusktr/seti.vim'
  53. Plug 'tpope/vim-fugitive'
  54. Plug 'tmhedberg/SimpylFold'
  55. Plug 'nvie/vim-flake8'
  56. Plug 'jistr/vim-nerdtree-tabs'
  57. Plug 'vim-syntastic/syntastic'
  58. " Plug 'othree/vim-autocomplpop'
  59. " Plug 'eparreno/vim-l9'
  60.  
  61.  
  62. " Add plugins to &runtimepath
  63. call plug#end()
  64. " Configure NERD fonts
  65. set encoding=utf8
  66. " set guifont=Droid Sans Mono for Powerline Plus Nerd File Types:h11
  67. " Set font for the airline
  68. let g:airline_powerline_fonts = 1
  69. let g:airline_theme='solarized'
  70.  
  71. " Rainbow parentheses
  72. let g:rainbow_active = 1 " 0 if you want to enable it later via :RainbowToggle
  73.  
  74. " Set spelling language
  75. set spell spelllang=en_gb
  76.  
  77. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  78. """"""""""""""""""""""""" KEY MAPPINGS """"""""""""""""""""""""""""""""""""""""
  79. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  80.  
  81. " Map keys to moving lines up and down
  82. " move selected lines up one line
  83. xnoremap <C-Up> :m-2<CR>gv=gv
  84.  
  85. " move selected lines down one line
  86. xnoremap <C-Down> :m'>+<CR>gv=gv
  87.  
  88. " Map tagbar
  89. nmap <F8> :TagbarToggle<CR>
  90.  
  91. " Add F7 to insert timestamp with current date
  92. nnoremap <F7> "=strftime("%c")<CR>P
  93. inoremap <F7> <C-R>=strftime("%c")<CR>
  94. " Press F4 to toggle highlighting on/off, and show current value.
  95. noremap <F4> :set hlsearch! hlsearch?<CR>
  96.  
  97. " move vertically by visual line
  98. nnoremap j gj
  99. nnoremap k gk
  100.  
  101. " ColorStepper Keys
  102. nmap <F10> <Plug>ColorstepPrev
  103. nmap <F11> <Plug>ColorstepNext
  104. nmap <S-F11> <Plug>ColorstepReload
  105.  
  106. " Move between splits
  107. " Ctrl-j move to the split below
  108. " Ctrl-k move to the split above
  109. " Ctrl-l move to the split to the right
  110. " Ctrl-h move to the split to the left
  111. nnoremap <C-J> <C-W><C-J>
  112. nnoremap <C-K> <C-W><C-K>
  113. nnoremap <C-L> <C-W><C-L>
  114. nnoremap <C-H> <C-W><C-H>
  115.  
  116. " Toggle syntastic checking
  117. let g:syntastic_mode_map = { 'mode': 'passive', 'active_filetypes': [],'passive_filetypes': [] }
  118. nnoremap <C-w>E :SyntasticCheck<CR> :SyntasticToggleMode<CR>
  119.  
  120. " Toggle undo tree
  121. nnoremap <F5> :UndotreeToggle<cr>
  122.  
  123. " Compile and run things
  124. autocmd filetype python nnoremap <F9> :w <bar> exec '!python '.shellescape('%')<CR>
  125. autocmd filetype c nnoremap <F9> :w <bar> exec '!gcc '.shellescape('%').' -o '.shellescape('%:r').' && ./'.shellescape('%:r')<CR>
  126. autocmd filetype cpp nnoremap <F9> :w <bar> exec '!g++ '.shellescape('%').' -o '.shellescape('%:r').' && ./'.shellescape('%:r')<CR>
  127.  
  128. " Start EasyAlign
  129. " Start interactive EasyAlign in visual mode (e.g. vipga)
  130. xmap ga <Plug>(EasyAlign)
  131. " Start interactive EasyAlign for a motion/text object (e.g. gaip)
  132. nmap ga <Plug>(EasyAlign)
  133.  
  134.  
  135. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  136. """"""""""""""""""""""""""" VIM SETTINGS """"""""""""""""""""""""""""""""""""""
  137. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  138.  
  139. " Colour scheme support
  140. set term=xterm-256color
  141.  
  142. " C-support settings
  143. let g:C_UseTool_cmake = 'yes'
  144. let g:C_UseTool_doxygen = 'yes'
  145.  
  146. " Set persistent undo file
  147. set undodir=~/.vim/vimundo
  148. set undofile
  149.  
  150. " Switch on syntax highlighting
  151. " syntax on
  152. " Switch on syntax processing
  153. syntax enable
  154.  
  155. " Other useful settings
  156. set nocompatible
  157. set number
  158. set autoindent
  159.  
  160. " Set backspace
  161. set backspace=2 " make backspace work like most other apps"
  162. " Force deletion of whole word with backspace
  163. imap <C-BS> <C-W>"
  164.  
  165. " Useful syntax settings
  166. syntax enable
  167. filetype plugin on
  168. filetype indent on
  169.  
  170. " Set colour scheme
  171. set background=dark
  172. colorscheme solarized
  173.  
  174. " Matching
  175. set showmatch
  176.  
  177. " Spaces and tabs
  178. set tabstop=4
  179. set softtabstop=4
  180.  
  181. " Other UI settings
  182. set showcmd
  183. set cursorline " Show cursor line
  184. set laststatus=2
  185.  
  186. " Don't fail on error
  187. set confirm
  188.  
  189. " Enable mouse
  190. set mouse=a
  191.  
  192. " Better autocomplete
  193. set wildmenu
  194.  
  195. " Search when types
  196. set incsearch
  197.  
  198. " Fix case
  199. set ignorecase
  200. set smartcase
  201.  
  202. " Ruler
  203. set ruler
  204.  
  205. " Set better search options
  206. set incsearch
  207. set hlsearch
  208.  
  209. " Enable folding
  210. set foldenable
  211.  
  212. " Most folds open by default
  213. set foldlevelstart=10
  214.  
  215. " Maximum folds
  216. set foldnestmax=10
  217.  
  218. " Folds based on indent
  219. set foldmethod=syntax
  220.  
  221. " Autocompletion
  222. " set omnifunc=syntaxcomplete#Complete
  223.  
  224. " highlight last inserted text
  225. nnoremap gV `[v`]
  226.  
  227. " Set vertical line
  228. if exists('+colorcolumn')
  229. set colorcolumn=80
  230. else
  231. au BufWinEnter * let w:m2=matchadd('ErrorMsg', '%>80v.+', -1)
  232. endif
  233.  
  234. " Disable automatic comment insertion
  235. autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
  236.  
  237. " Python indentation
  238. au BufNewFile,BufRead *.py
  239. set tabstop=4
  240. set softtabstop=4
  241. set shiftwidth=4
  242. set textwidth=79
  243. set expandtab
  244. set autoindent
  245. set fileformat=unix
  246.  
  247. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  248. """""""""""""""""""""""""""" Plug-ins """""""""""""""""""""""""""""""""""""""""
  249. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  250.  
  251. " Nvim-R extra settings
  252. " Change assignment operator
  253. let R_assign_map = "__"
  254. " Configure vertical split
  255. let R_vsplit = 1
  256. let R_tmux_split = 1
  257. " Space to send current line
  258. vmap <Space> <Plug>RDSendSelection
  259. nmap <Space> <Plug>RDSendLine
  260. " Configure vertical split for R
  261. " Configuration taken from http://manuals.bioinformatics.ucr.edu/home/programming-in-r/vim-r
  262. let vimrplugin_screenvsplit = 1 " For vertical tmux split
  263. let g:ScreenShellInitialFocus = 'shell'
  264. " instruct to use your own .screenrc file
  265. let g:vimrplugin_noscreenrc = 1
  266. " For integration of r-plugin with screen.vim
  267. let g:vimrplugin_screenplugin = 1
  268. " Don't use conque shell if installed
  269. let vimrplugin_conqueplugin = 0
  270. " map the letter 'r' to send visually selected lines to R
  271. let g:vimrplugin_map_r = 1
  272. " see R documentation in a Vim buffer
  273. let vimrplugin_vimpager = "no"
  274.  
  275. " NERD commenter extra settings
  276. " Add spaces after comment delimiters by default
  277. let g:NERDSpaceDelims = 1
  278. " Use compact syntax for prettified multi-line comments
  279. let g:NERDCompactSexyComs = 1
  280. " Align line-wise comment delimiters flush left instead of following code indentation
  281. let g:NERDDefaultAlign = 'left'
  282. " Set a language to use its alternate delimiters by default
  283. let g:NERDAltDelims_java = 1
  284. " Add your own custom formats or override the defaults
  285. let g:NERDCustomDelimiters = { 'c': { 'left': '/**','right': '*/' } }
  286. " Allow commenting and inverting empty lines (useful when commenting a region)
  287. let g:NERDCommentEmptyLines = 1
  288. " Enable trimming of trailing whitespace when uncommenting
  289. let g:NERDTrimTrailingWhitespace = 1
  290.  
  291. " Enable tabline extension in airline
  292. let g:airline#extensions#tabline#enabled = 1
  293.  
  294. " Syntastic
  295. let g:syntastic_enable_r_lintr_checker = 1
  296. let g:syntastic_r_checkers = ['lintr']
  297.  
  298. " Syntastic recommended settings
  299. set statusline+=%#warningmsg#
  300. set statusline+=%{SyntasticStatuslineFlag()}
  301. set statusline+=%*
  302.  
  303. let g:syntastic_always_populate_loc_list = 1
  304. let g:syntastic_auto_loc_list = 1
  305. let g:syntastic_check_on_open = 1
  306. let g:syntastic_check_on_wq = 0
  307.  
  308. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  309. """"""""""""""""""""""""""" FUNCTIONS """""""""""""""""""""""""""""""""""""""""
  310. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  311.  
  312. " Single compile
  313. au BufEnter *.cpp set makeprg=g++ -g % -o %<
  314. au BufEnter *.c set makeprg=gcc -g % -o %<
  315. au BufEnter *.py set makeprg=python %
  316. au BufEnter *.[rR] set makeprg=Rscript %
  317. map <F9> :call CompileGcc()<CR>
  318. func! CompileGcc()
  319. exec "w"
  320. silent make
  321. endfunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement