255 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			255 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " ===== hasufell's vimrc ))))
 | |
| 
 | |
| " no ATTENTION messages when swap file is already found
 | |
| set shortmess+=A
 | |
| 
 | |
| let g:pymode_python = 'python3'
 | |
| 
 | |
| " plugin stuff
 | |
| filetype plugin on
 | |
| filetype indent on
 | |
| 
 | |
| set backspace=indent,eol,start " backspace through everything in insert mode
 | |
| set cmdheight=1
 | |
| 
 | |
| set wildmenu
 | |
| " set wildmode=longest,list,full
 | |
| 
 | |
| " plugins
 | |
| if &compatible
 | |
|   set nocompatible               " Be iMproved
 | |
| endif
 | |
| 
 | |
| " Required:
 | |
| set runtimepath+=/home/jule/.cache/dein/repos/github.com/Shougo/dein.vim
 | |
| 
 | |
| let s:toml = '/home/jule/.vim/plugins.toml'
 | |
| " Required:
 | |
| if dein#load_state('/home/jule/.cache/dein')
 | |
|   call dein#begin('/home/jule/.cache/dein', ['/home/jule/.vim/vimrc', '/home/jule/.vim/plugins.toml'])
 | |
| 
 | |
|   call dein#load_toml(s:toml)
 | |
| 
 | |
|   " Let dein manage dein
 | |
|   " Required:
 | |
|   call dein#add('/home/jule/.cache/dein/repos/github.com/Shougo/dein.vim')
 | |
| 
 | |
|   " Required:
 | |
|   call dein#end()
 | |
|   call dein#save_state()
 | |
| endif
 | |
| 
 | |
| " ===== further plugin initialization and default config =====
 | |
| so ~/.vim/plugged/cmdalias.vim/plugin/cmdalias.vim
 | |
| 
 | |
| " lustyexplorer
 | |
| set hidden
 | |
| 
 | |
| 
 | |
| " ==== conque ====
 | |
| " command aliases
 | |
| call CmdAlias('t','tabnew')
 | |
| " call CmdAlias('cmd','ConqueTermSplit')
 | |
| " call CmdAlias('bash','ConqueTermSplit bash<CR>')
 | |
| call CmdAlias('openall','tab sball')
 | |
| call CmdAlias('stripw','call StripTrailingWhitespaces()<CR>')
 | |
| call CmdAlias('hotkeys', 'tabnew ~/.vim/hotkeys')
 | |
| call CmdAlias('TC', 'call ToggleComment()<CR>')
 | |
| call CmdAlias('TF', 'call ToggleFoldText()<CR>')
 | |
| call CmdAlias('ctags', '!/usr/bin/ctags -R --langmap=c:.c.h --c++-kinds=+p --c-kinds=+p+x --fields=+i+a+S+t+l+m+n --extra=+q .<CR>')
 | |
| call CmdAlias('Nf', 'Neoformat')
 | |
| call CmdAlias('NF', 'Neoformat')
 | |
| call CmdAlias('nf', 'Neoformat')
 | |
| call CmdAlias('LS', 'LanguageClientStart')
 | |
| 
 | |
| 
 | |
| 
 | |
| " global settings
 | |
| if has('gui_running')
 | |
| 	set guioptions -=T
 | |
| 
 | |
| 	" disable gvim tab
 | |
| 	set guioptions-=e
 | |
| 
 | |
| 	set winaltkeys=no
 | |
| 	set guiheadroom=0
 | |
| else
 | |
| 	set termguicolors
 | |
| endif
 | |
| set foldmethod=syntax   "fold based on indent
 | |
| set foldnestmax=10      "deepest fold is 10 levels
 | |
| set nofoldenable        "dont fold by default
 | |
| set foldlevel=1         "this is just what i useset directory=~/.vimtmp
 | |
| set mouse=a
 | |
| set autoread
 | |
| set number
 | |
| set encoding=utf8
 | |
| set guifont=Monospace\ 14
 | |
| set clipboard=unnamedplus
 | |
| set textwidth=0
 | |
| set tabstop=4
 | |
| set shiftwidth=4
 | |
| set directory=~/.vimtmp
 | |
| set modeline
 | |
| set modelines=1
 | |
| set autoindent
 | |
| set laststatus=2
 | |
| 
 | |
| let g:nickID = 'hasufell'
 | |
| 
 | |
| " don't yank to buffer on deletion
 | |
| " vnoremap d "_d
 | |
| " nnoremap d "_d
 | |
| vnoremap x "_x
 | |
| nnoremap x "_x
 | |
| 
 | |
| " Syntax
 | |
| syntax on
 | |
| 
 | |
| " pane navigation
 | |
| " Use ctrl-[hjkl] to select the active split!
 | |
| let g:C_Ctrl_j = 'off'
 | |
| let g:BASH_Ctrl_j = 'off'
 | |
| 
 | |
| try
 | |
|     lang en_US
 | |
| catch
 | |
| endtry
 | |
| 
 | |
| " ===========================
 | |
| 
 | |
| 
 | |
| " Disable annoying auto line break
 | |
| fu! DisableBr()
 | |
| 	set wrap
 | |
| 	set linebreak
 | |
| 	set nolist  " list disables linebreak
 | |
| 	set textwidth=0
 | |
| 	set wrapmargin=0
 | |
| 	set formatoptions-=t
 | |
| endfu
 | |
| 
 | |
| " Disable line breaks for all file types
 | |
| au BufNewFile,BufRead *.* call DisableBr()
 | |
| 
 | |
| 
 | |
| " ==========copy/paste===========
 | |
| function! Paste(mode)
 | |
| 	if a:mode == 'v'
 | |
| 		normal gv
 | |
| 		normal "_d
 | |
| 		normal "+gP
 | |
| 		normal l
 | |
| 	elseif a:mode == 'i'
 | |
| 		set virtualedit=all
 | |
| 		normal `^"+gP
 | |
| 		let &virtualedit = ''
 | |
| 	endif
 | |
| endfunction
 | |
| 
 | |
| 
 | |
| " ======select all=======
 | |
| function! Select()
 | |
| 	set virtualedit=all
 | |
| 	normal `^ggVG
 | |
| 	let &virtualedit = ''
 | |
| endfunction
 | |
| " =======================
 | |
| 
 | |
| 
 | |
| 
 | |
| " ====== traling whitespace =====
 | |
| fun! ShowTrailingWhitespace(pattern)
 | |
| 	if &ft == 'conque_term'
 | |
| 		call clearmatches()
 | |
| 		return
 | |
| 	endif
 | |
| 	if &ft == 'diff'
 | |
| 		call clearmatches()
 | |
| 		return
 | |
| 	endif
 | |
| 	let str=a:pattern
 | |
| 	if str == '1'
 | |
| 		match ExtraWhitespace /\s\+$/
 | |
| 	elseif str == '2'
 | |
| 		call clearmatches()
 | |
| "		match ExtraWhitespace /\s\+\%#\@<!$/
 | |
| 	elseif str == '3'
 | |
| 		match ExtraWhitespace /\s\+$/
 | |
| 	endif
 | |
| endfun
 | |
| 
 | |
| 
 | |
| highlight ExtraWhitespace ctermbg=red guibg=red
 | |
| match ExtraWhitespace /\s\+$/
 | |
| autocmd BufWinEnter * call ShowTrailingWhitespace('1')
 | |
| autocmd InsertEnter * call ShowTrailingWhitespace('2')
 | |
| autocmd InsertLeave * call ShowTrailingWhitespace('3')
 | |
| autocmd BufWinLeave * call clearmatches()
 | |
| 
 | |
| 
 | |
| fun! StripTrailingWhitespaces()
 | |
|     let l = line(".")
 | |
|     let c = col(".")
 | |
|     %s/\s\+$//e
 | |
|     call cursor(l, c)
 | |
| endfun
 | |
| 
 | |
| 
 | |
| " ===========================
 | |
| 
 | |
| 
 | |
| " comment hiding
 | |
| func! IsComment( lnum )
 | |
| 	return synIDattr(synID(a:lnum, match(getline(a:lnum),'\S')+1, 1),'name') =~? 'comment'
 | |
| endfun
 | |
| 
 | |
| 
 | |
| "set fdm=expr
 | |
| set fde=IsComment(v:lnum)?1:IsComment(prevnonblank(v:lnum))?1:IsComment(nextnonblank\(v:lnum))?1:0
 | |
| 
 | |
| 
 | |
| " light #073642 dark #002b36 grey #586e75
 | |
| highlight Folded gui=NONE guifg=#586e75 guibg=#002b36
 | |
| set foldtext='\ '
 | |
| 
 | |
| 
 | |
| let g:folded = 0
 | |
| function! ToggleComment()
 | |
| 	if (g:folded == 0)
 | |
| 		highlight Comment guifg=#002b36
 | |
| 		let g:folded=1
 | |
| 	else
 | |
| 		highlight Comment guifg=#586e75
 | |
| 		let g:folded=0
 | |
| 	endif
 | |
| endfunction
 | |
| 
 | |
| 
 | |
| let g:myfoldtext = 0
 | |
| function! ToggleFoldText()
 | |
| 	if (g:myfoldtext == 0)
 | |
| 		set foldtext='--'.v:folddashes.'\ '.getline(v:foldstart).'\ '
 | |
| 		let g:myfoldtext=1
 | |
| 	else
 | |
| 		set foldtext='\ '
 | |
| 		let g:myfoldtext=0
 | |
| 	endif
 | |
| endfunction
 | |
| 
 | |
| 
 | |
| """"""""""""""""""""""""""""""
 | |
| " vim macro to jump to devhelp topics.
 | |
| """"""""""""""""""""""""""""""
 | |
| function! DevHelpCurrentWord()
 | |
|         let word = expand('<cword>')
 | |
|         exe '!devhelp -s ' . word . ' &'
 | |
| endfunction
 | |
| 
 | |
| function! ManCurrentWord()
 | |
|         let word = expand('<cword>')
 | |
|         exe '!man 3 ' . word
 | |
| endfunction
 | |
| 
 | |
| " vim:foldmethod=marker:foldlevel=0
 |