Update 2024-02-14 07:51 OpenBSD/amd64-x13
This commit is contained in:
324
.vim/vimrc
324
.vim/vimrc
@@ -1,179 +1,13 @@
|
||||
packadd termdebug
|
||||
|
||||
|
||||
" ###########################################
|
||||
" # CORE BEHAVIOR
|
||||
" ###########################################
|
||||
set nocompatible
|
||||
|
||||
" mouse support
|
||||
set mouse=
|
||||
|
||||
" real backspace, please
|
||||
set backspace=indent,eol,start
|
||||
|
||||
" disable welcome screen
|
||||
set shm+=I
|
||||
|
||||
" don't complain about $( )
|
||||
let g:is_posix=1
|
||||
|
||||
set number
|
||||
set cursorline
|
||||
|
||||
"set cursorline
|
||||
set scrolloff=3
|
||||
set spelllang=de,en
|
||||
|
||||
syntax on
|
||||
filetype plugin on
|
||||
set omnifunc=syntaxcomplete#Complete
|
||||
|
||||
" colors
|
||||
set t_Co=257
|
||||
set background=dark
|
||||
colorscheme candle-grey-transparent
|
||||
hi CursorLineNr ctermbg=NONE ctermfg=30 cterm=NONE
|
||||
hi CursorLine ctermbg=NONE ctermfg=NONE cterm=NONE
|
||||
|
||||
" SEARCH
|
||||
set hlsearch
|
||||
set ignorecase
|
||||
set smartcase
|
||||
|
||||
" SPACES (TABS)
|
||||
set tabstop=8
|
||||
set shiftwidth=4
|
||||
let &softtabstop=&shiftwidth
|
||||
|
||||
set expandtab
|
||||
set smarttab
|
||||
|
||||
set textwidth=72
|
||||
" set colorcolumn=72
|
||||
set formatprg=par\ -w72q
|
||||
|
||||
set list
|
||||
set listchars=tab:>_,trail:>
|
||||
set fillchars=vert:\|,eob:\
|
||||
|
||||
" disable annoances
|
||||
set noshowcmd
|
||||
set noshowmode
|
||||
let html_no_rendering=1
|
||||
|
||||
|
||||
let g:currentmode={
|
||||
\ 'n' : 'NORMAL',
|
||||
\ 'v' : 'VISUAL',
|
||||
\ 'V' : 'V·Line',
|
||||
\ '^V' : 'V·Block',
|
||||
\ 'i' : 'INSERT',
|
||||
\ 'R' : 'R',
|
||||
\ 'Rv' : 'V·Replace',
|
||||
\ 'c' : 'Command',
|
||||
\}
|
||||
|
||||
set statusline=%#Comment#
|
||||
set statusline+=[%{toupper(g:currentmode[mode()])}]
|
||||
set statusline+=\ [%f]
|
||||
set statusline+=%m%r%h%w%q
|
||||
set statusline+=%=
|
||||
set statusline+=\ [BUF:%n]
|
||||
set statusline+=\ [%{&fileencoding?&fileencoding:&encoding}]
|
||||
set statusline+=\ [%{&fileformat}]
|
||||
set statusline+=\ [CHAR:%b/0x%B]
|
||||
set statusline+=\ [ROW:%l\ COL:%c]
|
||||
set statusline+=\ [%p%%]
|
||||
|
||||
set laststatus=2
|
||||
|
||||
" " autocomplete
|
||||
" set wildmenu
|
||||
" set wildmode=longest:full,full
|
||||
"
|
||||
" function! CleverTab()
|
||||
" if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
|
||||
" return "\<Tab>"
|
||||
" else
|
||||
" return "\<C-N>"
|
||||
" endif
|
||||
" endfunction
|
||||
" inoremap <tab> <C-R>=CleverTab()<CR>
|
||||
|
||||
function! s:build_quickfix_list(lines)
|
||||
call setqflist(map(copy(a:lines), '{ "filename": v:val, "lnum": 1 }'))
|
||||
copen
|
||||
cc
|
||||
endfunction
|
||||
|
||||
let g:fzf_layout = { 'down': '60%' }
|
||||
nnoremap <c-o> :Files<CR>
|
||||
nnoremap <c-b> :Buffers<CR>
|
||||
|
||||
let g:fzf_action = {
|
||||
\ 'ctrl-t': 'tab split',
|
||||
\ 'ctrl-x': 'vsplit' }
|
||||
|
||||
let g:fzf_vim = {}
|
||||
let g:fzf_vim.tags_command = 'ksh -ic mktags'
|
||||
|
||||
command! MyFiles call fzf#run(fzf#wrap({
|
||||
\ 'source': 'list-myfiles',
|
||||
\ 'sink': 'edit',
|
||||
\ 'options': ['--multi', '--pointer', '→', '--marker', '♡', '--preview', 'cat {}']
|
||||
\ }))
|
||||
|
||||
let g:mapleader = ","
|
||||
nnoremap <leader>f :Files<CR>
|
||||
nnoremap <leader>b :Buffers<CR>
|
||||
nnoremap <leader>l :Lines<CR>
|
||||
nnoremap <leader>t :Tags<CR>
|
||||
nnoremap <leader>m :MyFiles<CR>
|
||||
nnoremap <leader>h :History<CR>
|
||||
|
||||
let g:tagbar_ctags_bin = "ectags"
|
||||
noremap <leader>tt :TagbarToggle<CR>
|
||||
|
||||
" TAGS FILE
|
||||
set tags=./tags;/
|
||||
"nnoremap gt :cs find 1 <C-R>=expand("<cword>")<CR><CR>
|
||||
"nnoremap gs :cs find 4 <C-R>=expand("<cword>")<CR><CR>
|
||||
nnoremap gb <c-o>
|
||||
"nnoremap gh :FSHere<CR>
|
||||
nnoremap gs :call Cscope('0', expand('<cword>'), 0)<CR>
|
||||
nnoremap gc :call Cscope('3', expand('<cword>'), 0)<CR>
|
||||
nnoremap ge :call Cscope('6', expand('<cword>'), 0)<CR>
|
||||
|
||||
|
||||
let g:fzf_tags_prompt = "Gd "
|
||||
noreabbrev <expr> ts getcmdtype() == ":" && getcmdline() == 'ts' ? 'FZFTselect' : 'ts'
|
||||
nmap gt <Plug>(fzf_tags)
|
||||
|
||||
let g:autotagTagsFile = ".tags"
|
||||
let g:autotagCtagsCmd = "ectags"
|
||||
|
||||
|
||||
let g:termdebugger = "egdb"
|
||||
|
||||
" HIGHLIGHT SPECIAL WORDS
|
||||
match ErrorMsg '\(TODO:\|FIXME\|XXX\|workaround\|WTF\|: error:.*\|\s\+$\| \+\ze\t\)'
|
||||
|
||||
" DIFF
|
||||
set formatoptions=crolj
|
||||
|
||||
" VIMDIFF COLORS
|
||||
hi DiffAdd ctermbg=22 ctermfg=NONE cterm=NONE
|
||||
hi DiffDelete ctermbg=234 ctermfg=NONE cterm=NONE
|
||||
hi DiffChange ctermbg=236 ctermfg=NONE cterm=NONE
|
||||
hi DiffText ctermbg=red ctermfg=NONE cterm=NONE
|
||||
|
||||
" SPLIT AND FOLD COLORS
|
||||
hi VertSplit ctermbg=NONE ctermfg=246 cterm=NONE
|
||||
hi FoldColumn ctermbg=NONE ctermfg=251 cterm=NONE
|
||||
hi Folded ctermbg=233 ctermfg=251 cterm=NONE
|
||||
|
||||
" SPELL COLOR
|
||||
hi SpellBad ctermbg=NONE ctermfg=124
|
||||
|
||||
" TEMPORARY FILES
|
||||
" ###########################################
|
||||
" # TEMPORARY FILES
|
||||
" ###########################################
|
||||
set undofile
|
||||
set undodir=~/.local/vim/undo//
|
||||
set backup
|
||||
@@ -182,11 +16,138 @@ set backupdir=~/.local/vim/backup//
|
||||
set directory=~/.local/vim/swapfiles//
|
||||
silent execute '!mkdir -p ~/.local/vim/backup ~/.local/vim/undo ~/.local/vim/swapfiles'
|
||||
|
||||
" ###########################################
|
||||
" # VISUAL CHANGES
|
||||
" ###########################################
|
||||
set shm+=I
|
||||
set noshowcmd
|
||||
set noshowmode
|
||||
|
||||
" PLUGIN: EASY ALIGN
|
||||
xmap ga <Plug>(EasyAlign)
|
||||
nmap ga <Plug>(EasyAlign)
|
||||
syntax on
|
||||
filetype plugin on
|
||||
|
||||
set t_Co=256
|
||||
set background=dark
|
||||
colorscheme candle-grey-transparent
|
||||
|
||||
hi CursorLineNr ctermbg=NONE ctermfg=30 cterm=NONE
|
||||
hi CursorLine ctermbg=NONE ctermfg=NONE cterm=NONE
|
||||
hi SpellBad ctermbg=NONE ctermfg=124
|
||||
|
||||
match ErrorMsg '\(TODO:\|FIXME\|XXX\|workaround\|WTF\|: error:.*\|\s\+$\| \+\ze\t\)'
|
||||
|
||||
" ###########################################
|
||||
" # VIMDIFF
|
||||
" ###########################################
|
||||
set formatoptions=crolj
|
||||
hi DiffAdd ctermbg=22 ctermfg=NONE cterm=NONE
|
||||
hi DiffDelete ctermbg=234 ctermfg=NONE cterm=NONE
|
||||
hi DiffChange ctermbg=236 ctermfg=NONE cterm=NONE
|
||||
hi DiffText ctermbg=red ctermfg=NONE cterm=NONE
|
||||
hi VertSplit ctermbg=NONE ctermfg=246 cterm=NONE
|
||||
hi FoldColumn ctermbg=NONE ctermfg=251 cterm=NONE
|
||||
hi Folded ctermbg=233 ctermfg=251 cterm=NONE
|
||||
|
||||
" ###########################################
|
||||
" # TOGGLES / SETTINGS
|
||||
" ###########################################
|
||||
|
||||
let g:is_posix=1
|
||||
let g:mapleader = ","
|
||||
|
||||
set scrolloff=3
|
||||
set spelllang=de,en
|
||||
|
||||
set hlsearch
|
||||
set ignorecase
|
||||
set smartcase
|
||||
|
||||
set tabstop=8
|
||||
set shiftwidth=4
|
||||
let &softtabstop=&shiftwidth
|
||||
|
||||
set expandtab
|
||||
set smarttab
|
||||
|
||||
set textwidth=72
|
||||
set formatprg=par\ -w72q
|
||||
|
||||
"set list
|
||||
"set number
|
||||
"set listchars=tab:\ ,trail:
|
||||
"set fillchars=vert:\|,eob:\
|
||||
|
||||
" ###########################################
|
||||
" # STATUS BAR
|
||||
" ###########################################
|
||||
|
||||
function BufInfo()
|
||||
endfunction
|
||||
|
||||
set laststatus=2
|
||||
set statusline=%#Comment#
|
||||
set statusline+=[%{toupper(mode())}]
|
||||
set statusline+=\ <%n/%{g:bufno}>
|
||||
set statusline+=%=
|
||||
set statusline+=\ %f:%l:%c
|
||||
set statusline+=\ %{&fileencoding?&fileencoding:&encoding}\ %{&fileformat}
|
||||
set statusline+=\ 0x%B
|
||||
set statusline+=\ %p%%
|
||||
|
||||
" ###########################################
|
||||
" # OMNI COMPLETE
|
||||
" ###########################################
|
||||
set omnifunc=syntaxcomplete#Complete
|
||||
set wildmenu
|
||||
set wildmode=longest:full,full
|
||||
function! CleverTab()
|
||||
if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
|
||||
return "\<Tab>"
|
||||
else
|
||||
return "\<C-N>"
|
||||
endif
|
||||
endfunction
|
||||
inoremap <tab> <C-R>=CleverTab()<CR>
|
||||
|
||||
" ###########################################
|
||||
" # TERMINAL DEBUGGER
|
||||
" ###########################################
|
||||
packadd termdebug
|
||||
let g:termdebugger = "egdb"
|
||||
|
||||
" ###########################################
|
||||
" # VIM FZF
|
||||
" ###########################################
|
||||
let g:fzf_layout = { 'down': '60%' }
|
||||
let g:fzf_action = { 'ctrl-t': 'tab split', 'ctrl-x': 'vsplit' }
|
||||
|
||||
noreabbrev <expr> ts getcmdtype() == ":" && getcmdline() == 'ts' ? 'FZFTselect' : 'ts'
|
||||
nmap gt <Plug>(fzf_tags)
|
||||
|
||||
nnoremap <leader>g :RG <C-R>=expand("<cword>")<CR><CR>
|
||||
nnoremap <leader>f :Files<CR>
|
||||
nnoremap <leader>b :Buffers<CR>
|
||||
nnoremap <leader>t :Tags<CR>
|
||||
nnoremap <leader>h :History<CR>
|
||||
|
||||
" ###########################################
|
||||
" # TAGBAR
|
||||
" ###########################################
|
||||
let g:tagbar_ctags_bin = "ectags"
|
||||
noremap <F12> :TagbarToggle<CR>
|
||||
|
||||
" ###########################################
|
||||
" # TAGS FILE
|
||||
" ###########################################
|
||||
set tags=./tags;/
|
||||
nnoremap gb <c-o>
|
||||
nnoremap gs :call Cscope('0', expand('<cword>'), 0)<CR>
|
||||
nnoremap gc :call Cscope('3', expand('<cword>'), 0)<CR>
|
||||
nnoremap ge :call Cscope('6', expand('<cword>'), 0)<CR>
|
||||
|
||||
" ###########################################
|
||||
" # CSCOPE
|
||||
" ###########################################
|
||||
function! LoadCscope()
|
||||
let db = findfile("cscope.out", ".;")
|
||||
if (!empty(db))
|
||||
@@ -200,8 +161,21 @@ function! LoadCscope()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
||||
|
||||
" ###########################################
|
||||
" # EASY ALIGN
|
||||
" ###########################################
|
||||
xmap ga <Plug>(EasyAlign)
|
||||
nmap ga <Plug>(EasyAlign)
|
||||
|
||||
" ###########################################
|
||||
" # AUTORUN
|
||||
" ###########################################
|
||||
augroup mystuff
|
||||
au!
|
||||
au VimResized * wincmd =
|
||||
au BufEnter * let g:bufno=len(getbufinfo({'buflisted':1}))
|
||||
au BufEnter * call LoadCscope()
|
||||
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
|
||||
au BufRead,BufNewFile *.h,*.c set filetype=c.doxygen
|
||||
|
||||
Reference in New Issue
Block a user