First Commit
This is a first dotfiles config. I think I have a lot more to add tho...
This commit is contained in:
		
							
								
								
									
										194
									
								
								vim/.vimrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										194
									
								
								vim/.vimrc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,194 @@
 | 
			
		||||
autocmd Filetype python noremap <F11> <ESC>:vert term python -i %<CR>
 | 
			
		||||
autocmd Filetype python noremap <F12> <ESC>:vert term python %<CR> 
 | 
			
		||||
 | 
			
		||||
autocmd Filetype tex noremap <silent> <F12> <ESC>:silent !pdflatex % && mupdf %:r.pdf&<CR>
 | 
			
		||||
 | 
			
		||||
autocmd FileType asm noremap <F12> <ESC>:execute 'silent !qtspim' expand('%::p')<CR>
 | 
			
		||||
 | 
			
		||||
" autocmd FileType python set sw=4
 | 
			
		||||
" autocmd FileType python set ts=4
 | 
			
		||||
" autocmd FileType python set sts=4
 | 
			
		||||
 | 
			
		||||
" let g:AutoPairsMapCR = 0 "Workaround for 27_AutoPairsReturn
 | 
			
		||||
" imap <silent><CR> <CR><Plug>AutoPairsReturn
 | 
			
		||||
 | 
			
		||||
nnoremap <C-p> :GFiles<CR>
 | 
			
		||||
nnoremap <C-g> :Ag<CR>
 | 
			
		||||
 | 
			
		||||
nnoremap <leader><CR> :vert term<CR>
 | 
			
		||||
 | 
			
		||||
let python_highlight_all=1
 | 
			
		||||
let g:pymode_python = 'python3'
 | 
			
		||||
let g:pymode_options_max_line_length = 120
 | 
			
		||||
" let g:ctrlp_cmd = 'CtrlPTag'
 | 
			
		||||
let g:htmljinja_disable_detection = 1
 | 
			
		||||
let g:vimtex_grammar_vlty = {'lt_command': 'languagetool'}
 | 
			
		||||
let g:vimtex_grammar_textidote = {'jar': '/usr/share/java/textidote.jar'}
 | 
			
		||||
 | 
			
		||||
let g:vimtex_view_method = 'mupdf'
 | 
			
		||||
 | 
			
		||||
" nnoremap <c-p> <plug>(YCMFindSymbolInDirectory)
 | 
			
		||||
" nnoremap <c-P> <plug>(YCMFindSymbolInWorkspace)
 | 
			
		||||
 | 
			
		||||
function ManPage(expr)
 | 
			
		||||
	execute 'silent vert term' &keywordprg a:expr
 | 
			
		||||
endfunction
 | 
			
		||||
 | 
			
		||||
nnoremap gd :YcmCompleter GoToDefinition<CR>
 | 
			
		||||
nnoremap gr :YcmCompleter GoToReferences<CR>
 | 
			
		||||
nnoremap K :YcmCompleter GetDoc<CR>
 | 
			
		||||
nnoremap <F12> :Make<CR>
 | 
			
		||||
nnoremap <leader><F12> :Make run<CR>
 | 
			
		||||
 | 
			
		||||
"Documentation
 | 
			
		||||
" nnoremap K :execute 'Man' expand('<cexpr>')<cr>
 | 
			
		||||
command Curl :execute 'vert term lynx -dump' escape(@+, '#')
 | 
			
		||||
command OpenLink :silent w !urlscan
 | 
			
		||||
command -nargs=? Man call fzf#run(fzf#wrap({'source': 'whatis ' .  shellescape(<q-args>) . '| sed -r "s/(^\w*)\s\((.*)\).*/\2 \1/"', 'sink': function('ManPage') , 'options': ['--preview', 'MANPAGER=cat MANWIDTH='.  (&columns/2-4) .' man {1} {2}']}))
 | 
			
		||||
 | 
			
		||||
" AgIn: Start ag in the specified directory
 | 
			
		||||
"
 | 
			
		||||
" e.g.
 | 
			
		||||
"   :AgIn .. foo
 | 
			
		||||
function! s:ag_in(bang, ...)
 | 
			
		||||
  let start_dir=expand(a:1)
 | 
			
		||||
 | 
			
		||||
  if !isdirectory(start_dir)
 | 
			
		||||
    throw 'not a valid directory: ' .. start_dir
 | 
			
		||||
  endif
 | 
			
		||||
  " Press `?' to enable preview window.
 | 
			
		||||
  call fzf#vim#ag(join(a:000[1:], ' '), fzf#vim#with_preview({'dir': start_dir}, 'up:50%:hidden', '?'), a:bang)
 | 
			
		||||
 | 
			
		||||
endfunction
 | 
			
		||||
 | 
			
		||||
command! -bang -nargs=+ -complete=dir AgIn call s:ag_in(<bang>0, <f-args>)
 | 
			
		||||
 | 
			
		||||
let g:UltiSnipsExpandTrigger="<c-l>"
 | 
			
		||||
let g:UltiSnipsListSnipets="<c-h>"
 | 
			
		||||
let g:UltiSnipsEditSplit="vertical"
 | 
			
		||||
 | 
			
		||||
let g:cpp_attributes_highlight = 1
 | 
			
		||||
 | 
			
		||||
let g:ycm_always_populate_location_list = 1
 | 
			
		||||
let g:ycm_goto_buffer_command = "'split-or-existing-window'"
 | 
			
		||||
let g:ycm_java_binary_path = "/usr/lib/jvm/java-17-openjdk/bin/java"
 | 
			
		||||
 | 
			
		||||
" let g:completor_clang_binary = "/usr/bin/clang"
 | 
			
		||||
"fold with space
 | 
			
		||||
nnoremap <space> za
 | 
			
		||||
syntax on
 | 
			
		||||
 | 
			
		||||
set nu
 | 
			
		||||
set rnu
 | 
			
		||||
set hls
 | 
			
		||||
set tabstop=4
 | 
			
		||||
set shiftwidth=4
 | 
			
		||||
set encoding=utf-8
 | 
			
		||||
set nocompatible
 | 
			
		||||
set ignorecase
 | 
			
		||||
set nowrap
 | 
			
		||||
set splitbelow splitright
 | 
			
		||||
set spelllang+=fr
 | 
			
		||||
set foldmethod=syntax
 | 
			
		||||
set foldlevel=99
 | 
			
		||||
set incsearch
 | 
			
		||||
set autochdir
 | 
			
		||||
" set foldcolumn=1
 | 
			
		||||
set clipboard^=unnamed,unnamedplus
 | 
			
		||||
set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<,space:·
 | 
			
		||||
set concealcursor=
 | 
			
		||||
set conceallevel=2
 | 
			
		||||
set mouse=a
 | 
			
		||||
 | 
			
		||||
color desert 
 | 
			
		||||
hi Normal ctermfg=None ctermbg=None
 | 
			
		||||
hi NonText ctermfg=None ctermbg=None
 | 
			
		||||
 | 
			
		||||
packadd termdebug
 | 
			
		||||
 | 
			
		||||
filetype off
 | 
			
		||||
set rtp+=$HOME/.vim/bundle/vundle.vim/
 | 
			
		||||
call vundle#begin()
 | 
			
		||||
 | 
			
		||||
"Mandatory
 | 
			
		||||
Plugin 'vundleVim/Vundle.vim'		"plugin Manager
 | 
			
		||||
 | 
			
		||||
"Quality of life (any) 
 | 
			
		||||
Plugin 'itchyny/lightline.vim'		"status bar
 | 
			
		||||
Plugin 'kien/rainbow_parentheses.vim'	"Better Raimbow Parentheses
 | 
			
		||||
Plugin 'mhinz/vim-startify'		"start screen 
 | 
			
		||||
Plugin 'lilydjwg/colorizer'		"color hexcode
 | 
			
		||||
Plugin 'jiangmiao/auto-pairs'		"auto Pair Brackets
 | 
			
		||||
" Plugin 'Yggdroot/indentLine'		"show indent - bugging conceal
 | 
			
		||||
Plugin 'szw/vim-maximizer'
 | 
			
		||||
" Plugin 'preservim/nerdtree'		"Directory Visulaliser :Nerdtree
 | 
			
		||||
Plugin 'junegunn/fzf', {'do': { -> fzf#install() }}
 | 
			
		||||
Plugin 'junegunn/fzf.vim'
 | 
			
		||||
Plugin 'junegunn/vim-peekaboo'		"see content of register before past for @ C-R and \"
 | 
			
		||||
 | 
			
		||||
"useful in multiple languages
 | 
			
		||||
Plugin 'SirVer/ultisnips'		"fast write
 | 
			
		||||
Plugin 'honza/vim-snippets'		"lib of snips
 | 
			
		||||
Plugin 'majutsushi/tagbar'		"display tagBar with :TagbarToggle
 | 
			
		||||
" Plugin 'maralla/completor.vim'		"completion menu
 | 
			
		||||
" Plugin 'tokorom/completor-shell'	"Add on of completor.vim for shell scripting
 | 
			
		||||
Plugin 'tpope/vim-commentary'		"comment with <gcc>
 | 
			
		||||
" Plugin 'dense-analysis/ale'		"Async error checker (test usefulness)
 | 
			
		||||
Plugin 'puremourning/vimspector'	"Debugger
 | 
			
		||||
 | 
			
		||||
Plugin 'ycm-core/YouCompleteMe'		"completion tool
 | 
			
		||||
 | 
			
		||||
"git
 | 
			
		||||
Plugin 'mhinz/vim-signify'		"git diff show
 | 
			
		||||
Plugin 'tpope/vim-fugitive'		"for the :Git <command>
 | 
			
		||||
 | 
			
		||||
"php
 | 
			
		||||
" Plugin 'StanAngeloff/php.vim'		"php syntax
 | 
			
		||||
" Plugin 'phpactor/phpactor'		"php auto-completion
 | 
			
		||||
 | 
			
		||||
"python
 | 
			
		||||
" Plugin 'python-mode/python-mode'	"A python IDE
 | 
			
		||||
Plugin 'mitsuhiko/vim-jinja'
 | 
			
		||||
 | 
			
		||||
"html/css
 | 
			
		||||
Plugin 'mattn/emmet-vim'		"Fast http
 | 
			
		||||
Plugin 'vim-scripts/loremipsum'		"ipsum generator :Loremipsum <word>
 | 
			
		||||
Plugin 'tpope/vim-surround'		"Surround html tags
 | 
			
		||||
Plugin 'sukima/xmledit'		"Edit XML and HTML
 | 
			
		||||
 | 
			
		||||
"lua
 | 
			
		||||
" Plugin 'wsdjeg/vim-lua'			"lua syntax
 | 
			
		||||
 | 
			
		||||
"markdown
 | 
			
		||||
Plugin 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vundle'] }
 | 
			
		||||
 | 
			
		||||
"c & cpp
 | 
			
		||||
Plugin 'bfrg/vim-cpp-modern'		"Extended vim syntax highlight c++
 | 
			
		||||
Plugin 'a.vim'				"go from hpp to cpp with :A
 | 
			
		||||
" Plugin 'xavierd/clang_complete'		"CLang Complete (don't work with ycm)
 | 
			
		||||
" Plugin 'ctrlpvim/ctrlp.vim'		"ctrl p support
 | 
			
		||||
Plugin 'cdelledonne/vim-cmake'
 | 
			
		||||
 | 
			
		||||
"glsl (shader)
 | 
			
		||||
Plugin 'tikhomirov/vim-glsl'
 | 
			
		||||
 | 
			
		||||
"c sharp
 | 
			
		||||
" Plugin 'OmniSharp/omnisharp-vim'
 | 
			
		||||
 | 
			
		||||
"java
 | 
			
		||||
 | 
			
		||||
Plugin 'hdiniz/vim-gradle'
 | 
			
		||||
 | 
			
		||||
"latex
 | 
			
		||||
 | 
			
		||||
Plugin 'lervag/vimtex'
 | 
			
		||||
 | 
			
		||||
"uml
 | 
			
		||||
Plugin 'weirongxu/plantuml-previewer.vim'
 | 
			
		||||
Plugin 'tyru/open-browser.vim'
 | 
			
		||||
Plugin 'aklt/plantuml-syntax'
 | 
			
		||||
 | 
			
		||||
call vundle#end()
 | 
			
		||||
 | 
			
		||||
filetype plugin indent on
 | 
			
		||||
set omnifunc=syntaxcomplete#Complete
 | 
			
		||||
		Reference in New Issue
	
	Block a user