" ===== 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 " git-gutter workaround " https://github.com/airblade/vim-gitgutter/issues/696 autocmd ColorScheme * highlight! link SignColumn LineNr " ==========colors=========== " set t_Co=256 let g:solarized_termcolors=256 if exists('g:GtkGuiLoaded') let g:neosolarized_contrast = 'normal' let g:neosolarized_visibility = 'normal' let g:neosolarized_vertSplitBgTrans = 0 let g:neosolarized_bold = 1 let g:neosolarized_underline = 1 let g:neosolarized_italic = 1 set background=dark colorscheme NeoSolarized else let g:neosolarized_contrast = 'normal' let g:neosolarized_visibility = 'normal' let g:neosolarized_vertSplitBgTrans = 0 let g:neosolarized_bold = 1 let g:neosolarized_underline = 1 let g:neosolarized_italic = 1 set background=dark colorscheme NeoSolarized endif " =========================== " 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