167 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			167 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| nnoremap <C-p> :Buffers<CR>
 | |
| nnoremap <C-g> :Ag<CR>
 | |
| map gf :e <cfile><CR>
 | |
| 
 | |
| "FZF Buffer Delete
 | |
| 
 | |
| function! s:list_buffers()
 | |
|   redir => list
 | |
|   silent ls
 | |
|   redir END
 | |
|   return split(list, "\n")
 | |
| endfunction
 | |
| 
 | |
| function! s:delete_buffers(lines)
 | |
|   execute 'bwipeout' join(map(a:lines, {_, line -> split(line)[0]}))
 | |
| endfunction
 | |
| 
 | |
| 
 | |
| command! BD call fzf#run(fzf#wrap({
 | |
|   \ 'source': s:list_buffers(),
 | |
|   \ 'sink*': { lines -> s:delete_buffers(lines) },
 | |
|   \ 'options': '--multi --reverse --bind ctrl-a:select-all+accept'
 | |
| \ }))
 | |
| 
 | |
| "alt g to :Gfiles (if in git folder) else :Files
 | |
| function! GFilesFallback()
 | |
|   let output = system('git rev-parse --show-toplevel') " Is there a faster way?
 | |
|   let prefix = get(g:, 'fzf_command_prefix', '')
 | |
|   if v:shell_error == 0
 | |
|     exec "normal :" . prefix . "GFiles\<CR>"
 | |
|   else
 | |
|     exec "normal :" . prefix . "Files\<CR>"
 | |
|   endif
 | |
|   return 0
 | |
| endfunction
 | |
| execute "set <M-g>=\eg"
 | |
| nnoremap <M-g> :call GFilesFallback()<CR>
 | |
| 
 | |
| nnoremap <leader><CR> :vert term<CR>
 | |
| nnoremap <leader>z :MaximizerToggle<CR>
 | |
| 
 | |
| let g:netrw_keepdir=0
 | |
| let g:netrw_banner=0
 | |
| let g:netrw_liststyle=3
 | |
| let python_highlight_all=1
 | |
| let g:pymode_python = 'python3'
 | |
| let g:pymode_options_max_line_length = 120
 | |
| let g:htmljinja_disable_detection = 1
 | |
| 
 | |
| let g:vimtex_view_method = 'zathura'
 | |
| let g:vimtex_grammar_vlty = {'lt_command': 'languagetool'}
 | |
| let g:vimtex_grammar_textidote = {'jar': '/usr/share/java/textidote.jar'}
 | |
| 
 | |
| let g:vimtex_view_method = 'zathura'
 | |
| 
 | |
| " nnoremap gd :YcmCompleter GoToDefinition<CR>
 | |
| " nnoremap gr :YcmCompleter GoToReferences<CR>
 | |
| " nnoremap K :YcmCompleter GetDoc<CR>
 | |
| " nnoremap \<CR> :YcmCompleter FixIt<CR>
 | |
| noremap gN :Lex<CR>
 | |
| 
 | |
| nnoremap <F12> :Make<CR>
 | |
| nnoremap <leader><F12> :Make run<CR>
 | |
| 
 | |
| "Documentation
 | |
| " nnoremap K :execute 'vert term' &keywordprg '<cexpr>'<cr>
 | |
| command Curl :execute 'vert term lynx -dump' escape(@+, '#')
 | |
| command OpenLink :silent w !urlscan
 | |
| 
 | |
| " 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_global_ycm_extra_conf = '~/.vim/ycm_extra_conf.py'
 | |
| " let g:ycm_java_binary_path = "/usr/lib/jvm/java-17-openjdk/bin/java"
 | |
| let g:ycm_language_server = [
 | |
| 			\	{
 | |
| 			\ 	'name': 'tex',
 | |
| 			\ 	'cmdline': ['texlab'],
 | |
| 			\ 	'filetypes': ['tex'],
 | |
| 			\ 	},
 | |
| 			\	{
 | |
| 			\ 	'name': 'vue',
 | |
| 			\ 	'cmdline': [ 'vue-language-server', '--stdio' ],
 | |
| 			\ 	'filetypes': ['vue'],
 | |
| 			\ 	},
 | |
| 			\	{
 | |
| 			\	'name': 'godot',
 | |
| 			\	'filetypes': ['gdscript'],
 | |
| 			\	'port': 6008,
 | |
| 			\	'project_root_files': ['project.godot']
 | |
| 			\	},
 | |
| 			\	{
 | |
| 			\	'name': 'arduino',
 | |
| 			\	'filetypes': ['arduino'],
 | |
| 			\	'cmdline': ['arduino-language-server',
 | |
| 			\				'-clangd',  '/usr/bin/clangd',
 | |
| 			\				'-cli', '/usr/bin/arduino-cli',
 | |
| 			\				'-cli-config', '$HOME/.arduino15/arduino-cli.yaml',
 | |
| 			\				'-fqbn', 'arduino:avr:uno'],
 | |
| 			\	},
 | |
| 			\ ]
 | |
| 
 | |
| " let g:completor_clang_binary = "/usr/bin/clang"
 | |
| "fold with space
 | |
| nnoremap <space> za
 | |
| syntax on
 | |
| 
 | |
| " set foldcolumn=1
 | |
| set autochdir
 | |
| set clipboard^=unnamed,unnamedplus
 | |
| set concealcursor=
 | |
| set conceallevel=2
 | |
| set encoding=utf-8
 | |
| set foldlevel=99
 | |
| set foldmethod=syntax
 | |
| set hidden
 | |
| set hls
 | |
| set ignorecase
 | |
| set incsearch
 | |
| set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<,space:·
 | |
| set mouse=a
 | |
| set nocompatible
 | |
| set nowrap
 | |
| set nu
 | |
| set rnu
 | |
| set scrolloff=10
 | |
| set shiftwidth=4
 | |
| set shortmess=atToOs
 | |
| set showcmd
 | |
| set spelllang+=fr
 | |
| set splitbelow splitright
 | |
| set tabstop=4
 | |
| 
 | |
| if !has('nvim')
 | |
| 	set ttymouse=xterm2
 | |
| endif
 | |
| 
 | |
| color desert 
 | |
| hi Normal ctermfg=None ctermbg=None
 | |
| hi NonText ctermfg=None ctermbg=None
 | |
| 
 | |
| " packadd termdebug
 | |
| let g:termdebug_wide=1
 | |
| filetype plugin indent on
 |