You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							154 lines
						
					
					
						
							5.4 KiB
						
					
					
				
			
		
		
		
			
			
				
					
				
				
					
				
			
		
		
	
	
							154 lines
						
					
					
						
							5.4 KiB
						
					
					
				
								" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
							 | 
						|
								" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
							 | 
						|
								" you can find below.  If you wish to change any of those settings, you should
							 | 
						|
								" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
							 | 
						|
								" everytime an upgrade of the vim packages is performed.  It is recommended to
							 | 
						|
								" make changes after sourcing debian.vim since it alters the value of the
							 | 
						|
								" 'compatible' option.
							 | 
						|
								
							 | 
						|
								" Uncomment the next line to make Vim more Vi-compatible
							 | 
						|
								" NOTE: debian.vim sets 'nocompatible'.  Setting 'compatible' changes numerous
							 | 
						|
								" options, so any other options should be set AFTER setting 'compatible'.
							 | 
						|
								"set compatible
							 | 
						|
								
							 | 
						|
								" Vim5 and later versions support syntax highlighting. Uncommenting the
							 | 
						|
								" following enables syntax highlighting by default.
							 | 
						|
								if has("syntax")
							 | 
						|
									set t_Co=256
							 | 
						|
									syntax on
							 | 
						|
									" Uncomment the following 'let' lines if using xter16 color scheme
							 | 
						|
									" Select colormap: 'soft', 'softlight', 'standard', or 'allblue'
							 | 
						|
									let xterm16_colormap = 'allblue'
							 | 
						|
									" Select brightness: 'low', 'med', 'high', 'default', or custom levels
							 | 
						|
									let xterm16_brightness = 'high'
							 | 
						|
									"Other override options:
							 | 
						|
									let xterm16fg_Cursor = '555'
							 | 
						|
									let xterm16bg_Normal = 'none'
							 | 
						|
									"Set color scheme
							 | 
						|
									colorscheme xterm16
							 | 
						|
								endif
							 | 
						|
								
							 | 
						|
								" If using a dark background within the editing area and syntax highlighting
							 | 
						|
								" turn on this option as well
							 | 
						|
								set background=dark
							 | 
						|
								
							 | 
						|
								" Uncomment the following to have Vim jump to the last position when
							 | 
						|
								" reopening a file
							 | 
						|
								if has("autocmd")
							 | 
						|
									au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
							 | 
						|
								endif
							 | 
						|
								
							 | 
						|
								" Uncomment the following to have Vim load indentation rules and plugins
							 | 
						|
								" according to the detected filetype.
							 | 
						|
								if has("autocmd")
							 | 
						|
									filetype plugin indent on
							 | 
						|
								endif
							 | 
						|
								
							 | 
						|
								" The following are commented out as they cause vim to behave a lot
							 | 
						|
								" differently from regular Vi. They are highly recommended though.
							 | 
						|
								set showcmd             " Show (partial) command in status line.
							 | 
						|
								set showmatch           " Show matching brackets.
							 | 
						|
								set ignorecase          " Do case insensitive matching
							 | 
						|
								set smartcase           " Do smart case matching
							 | 
						|
								"set incsearch          " Incremental search
							 | 
						|
								"set autowrite          " Automatically save before commands like :next and :make
							 | 
						|
								"set hidden             " Hide buffers when they are abandoned
							 | 
						|
								set mouse=a             " Enable mouse usage (all modes)
							 | 
						|
								"set nohlsearch          " Turn off search highlighting
							 | 
						|
								set hlsearch            " Turn on search highlighting
							 | 
						|
								"set expandtab           " Turn tabs to spaces
							 | 
						|
								set shiftwidth=4        " Auto-indent amount when using cindent, <<, >>, etc.
							 | 
						|
								set softtabstop=4       " How many spaces represent a tab
							 | 
						|
								set tabstop=4           " Real tab size
							 | 
						|
								set autoindent    " Indent level of new line set by previous line
							 | 
						|
								"set smartindent   " Attempt to intelligently guess level of indent for new line
							 | 
						|
								set cindent   " Attempt to intelligently guess level of indent for new line
							 | 
						|
								set cinkeys-=0#         " Don't un-indent comments
							 | 
						|
								set indentkeys-=0#      " Don't un-indent comments
							 | 
						|
								set nf=octal,hex,alpha	" additional ctrl-a increments
							 | 
						|
								set spell spelllang=en_us   " Set spell check language
							 | 
						|
								set scrolloff=5         " Add visible lines beyond cursor at top or bottom of window
							 | 
						|
								
							 | 
						|
								" Turn off search highlighting with Enter
							 | 
						|
								nnoremap <silent> <CR> :nohlsearch<CR><CR>
							 | 
						|
								
							 | 
						|
								noremap n nzz
							 | 
						|
								noremap N Nzz
							 | 
						|
								noremap * *zz
							 | 
						|
								noremap # #zz
							 | 
						|
								noremap g* g*zz
							 | 
						|
								noremap g# g#zz
							 | 
						|
								
							 | 
						|
								" Allow saving files with sudo after starting vim
							 | 
						|
								cmap w!! w !sudo tee > /dev/null %
							 | 
						|
								
							 | 
						|
								autocmd FileType plaintex,tex,latex syntax spell toplevel
							 | 
						|
								autocmd FileType plaintex,tex,latex set tw=80
							 | 
						|
								autocmd FileType pug,jade set tw=80
							 | 
						|
								autocmd FileType text set tw=80 nocindent
							 | 
						|
								
							 | 
						|
								set backspace=indent,eol,start
							 | 
						|
								set ruler
							 | 
						|
								
							 | 
						|
								au BufNewFile,BufRead *.cu set filetype=c
							 | 
						|
								au BufNewFile,BufRead *.tp set filetype=taskpaper
							 | 
						|
								
							 | 
						|
								aug python
							 | 
						|
									" to override ftype/python.vim
							 | 
						|
									au FileType python setlocal ts=4 sts=4 sw=4 noexpandtab
							 | 
						|
								aug end
							 | 
						|
								
							 | 
						|
								" Source a global configuration file if available
							 | 
						|
								if filereadable("/etc/vim/vimrc.local")
							 | 
						|
									source /etc/vim/vimrc.local
							 | 
						|
								endif
							 | 
						|
								
							 | 
						|
								syntax spell toplevel
							 | 
						|
								let g:tex_flavor = 'latex'
							 | 
						|
								
							 | 
						|
								function! BuildYCM(info)
							 | 
						|
									" info is a dictionary with 3 fields
							 | 
						|
									" - name:   name of the plugin
							 | 
						|
									" - status: 'installed', 'updated', or 'unchanged'
							 | 
						|
									" - force:  set on PlugInstall! or PlugUpdate!
							 | 
						|
									if a:info.status == 'installed' || a:info.force
							 | 
						|
										!./install.py --all
							 | 
						|
									endif
							 | 
						|
								endfunction
							 | 
						|
								
							 | 
						|
								let g:YouCompleteMeLazyLoaded = 0
							 | 
						|
								function! LazyLoadingYMC()
							 | 
						|
									if g:YouCompleteMeLazyLoaded == 0
							 | 
						|
										let g:YouCompleteMeLazyLoaded = 1
							 | 
						|
										call plug#load('YouCompleteMe') | call youcompleteme#Enable()
							 | 
						|
									endif
							 | 
						|
								endfunction
							 | 
						|
								autocmd BufRead * call timer_start(1, {id->execute('call LazyLoadingYMC()')} )
							 | 
						|
								"autocmd BufWinEnter * call timer_start(1, {id->execute('call LazyLoadingYMC()')} )
							 | 
						|
								"autocmd InsertEnter * call LazyLoadingYMC()
							 | 
						|
								"autocmd CursorHold * call LazyLoadingYMC()
							 | 
						|
								"autocmd CursorHoldI * call LazyLoadingYMC()
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								call plug#begin('~/.vim/vim-plug')
							 | 
						|
								
							 | 
						|
								Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
							 | 
						|
								Plug 'ycm-core/YouCompleteMe', { 'do': function('BuildYCM'), 'on': [] }
							 | 
						|
								Plug 'lervag/vimtex'
							 | 
						|
								Plug 'tpope/vim-surround'
							 | 
						|
								Plug 'dense-analysis/ale'
							 | 
						|
								
							 | 
						|
								call plug#end()
							 | 
						|
								
							 | 
						|
								map <C-n> :NERDTreeToggle<CR>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								let g:ycm_autoclose_preview_window_after_insertion = 1
							 | 
						|
								let g:ycm_autoclose_preview_window_after_completion = 1
							 | 
						|
								
							 | 
						|
								" enable vimtex completions for YCM
							 | 
						|
								if !exists('g:ycm_semantic_triggers')
							 | 
						|
									let g:ycm_semantic_triggers = {}
							 | 
						|
								endif
							 | 
						|
								autocmd VimEnter * let g:ycm_semantic_triggers.tex=g:vimtex#re#youcompleteme
							 | 
						|
								
							 |