First commit

This commit is contained in:
Alexey Norets 2025-09-27 19:04:28 +03:00
commit d51fcb1cc2
2 changed files with 384 additions and 0 deletions

132
.vimrc Normal file
View File

@ -0,0 +1,132 @@
""" Install plugin manager if not installed yet
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
if empty(glob(data_dir . '/autoload/plug.vim'))
silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
"""
""" It's for manpage in vim. `:Man 3 printf`
runtime! ftplugin/man.vim
"""
""" Save position in file.
autocmd BufReadPost * silent! normal! g`"zv
"""
""" Plugin manager
call plug#begin()
" List your plugins here
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'tpope/vim-commentary'
Plug 'vimwiki/vimwiki'
Plug 'machakann/vim-highlightedyank'
Plug 'unblevable/quick-scope'
call plug#end()
"""
" let g:vimwiki_list = [{'path': '/Users/norets/Library/Mobile Documents/iCloud~md~obsidian/Documents/Main/',
" \ 'syntax': 'markdown', 'ext': 'md'}]
let g:vimwiki_list = [{'path': '/Users/norets/Library/Mobile Documents/iCloud~com~logseq~logseq/Documents/logseqnotes/pages',
\ 'syntax': 'markdown', 'ext': 'md'}]
""" quick-scope settings:
let g:qs_highlight_on_keys = ['f', 'F', 't', 'T']
""" Remaping
let mapleader = " "
" FZF
nnoremap <leader>pf :Files<CR>
nnoremap <leader>bb :Buffers<CR>
nnoremap <leader>pg :GFiles<CR>
nnoremap <leader>ps :RG<CR>
" end_fzf
nnoremap <leader>z :noh<CR>
nnoremap <leader>bk :bdelete<CR>
vnoremap <leader>y "+y
nnoremap <leader>y "+y
" inoremap jk <ESC>
" inoremap kj <ESC>
nnoremap <leader>s :%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>
vnoremap J :m '>+1<CR>gv=gv
vnoremap K :m '<-2<CR>gv=gv
nnoremap <C-d> <C-d>zz
nnoremap <C-u> <C-u>zz
nnoremap n nzzzv
nnoremap N Nzzzv
nnoremap <leader>vsl :set wrap!<CR>
nnoremap <C-z> :cnext<CR>
nnoremap <C-q> :cprev<CR>
"""
syntax on
filetype plugin indent on
set cursorlineopt=number
set cul
set tabstop=4
set shiftwidth=4
set expandtab
set nowrap
" set guifont=Iosevka\ 20
set guioptions-=m
set guioptions-=T
set noesckeys
set relativenumber
set number
set ignorecase
set smartcase
set incsearch
set cinoptions=l1
set modeline
set keymap=russian-jcukenwin
set iminsert=0
set imsearch=0
set autoindent
set autochdir
set hlsearch
set ruler
set termguicolors
" colorscheme habamax
colorscheme jimbo
"" Cursor changer for `insert mode`
let &t_SI = "\e[6 q"
let &t_EI = "\e[2 q"
" reset the cursor on start (for older versions of vim, usually not required)
augroup myCmds
au!
autocmd VimEnter * silent !echo -ne "\e[2 q"
augroup END
"" End Cursor changer
map gf :e <cfile><CR>
set laststatus=1
set statusline=%4r
set statusline+=[
set statusline+=%n
set statusline+=]\
set statusline+=%F " Path to the file
set statusline+=%4m
set statusline+=%= " Switch to the right side
set statusline+=%y\ " Filetype of the file
set statusline+=%l,%c%V\ %P " Current line
" set statusline+=/ " Separator
" set statusline+=%L " Total lines
" autocmd FileType c setlocal makeprg=cc\
" augroup Linting
" autocmd!
" autocmd FileType c compiler gcc
" autocmd BufWritePost *.c silent make! <afile> | silent redraw!
" autocmd QuickFixCmdPost [^l]* cwindow
" augroup END
" augroup project
" autocmd!
" autocmd BufRead,BufNewFile *.h,*.c set filetype=c
" augroup END

252
jimbo.vim Normal file
View File

@ -0,0 +1,252 @@
" Jimbo (my personal theme) Theme for Vim
"
" templated from and somewhat inspired by:
" https://github.com/dr-sooch/gruber-darker-vim
" which was adapted from an Emacs theme:
" https://github.com/rexim/gruber-darker-theme
"
" some of it could be written better but idc, it works :)
"
" --------------------------------------------
" setup and options for italics, bold, transparent, gitgutter
set background=dark
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name="jimbo"
let g:jimbo_transparent = get(g:, 'jimbo_transparent', 0)
let g:jimbo_italic = get(g:, 'jimbo_italic', 0)
let s:italic = "NONE"
if g:jimbo_italic == 1
let s:italic="italic"
endif
let g:jimbo_bold = get(g:, 'jimbo_bold', 0)
let s:bold = "NONE"
if g:jimbo_bold == 1
let s:bold = "bold"
endif
let g:jimbo_gitgutter = get(g:, 'jimbo_gitgutter', 1)
" palette
let s:jimboFG= ['#e4e4ef', '255']
let s:jimboFG1= ['#f4f4ff', '255']
let s:jimboFG2= ['#f5f5ff', '255']
let s:jimboFG3= ['#65737e', '255']
let s:jimboWhite= ['#ffffff', '255'] " done
let s:jimboBlack= ['#000000', '0'] " done
let s:jimboBG= ['#181818', '0'] " done
let s:jimboBG1= ['#282828', '0'] " done
let s:jimboBG2= ['#33242c', '0'] " done
let s:jimboBG3= ['#453d41', '0'] " done
let s:jimboLightRed= ['#c73c3f', '255']
let s:jimboRed= ['#f43841', '255']
let s:jimboNiagara= ['#96a6c8', '255'] " done
let s:jimboQuartz= ['#95a99f', '255']
let s:jimboYellow= ['#ffdd33', '255']
" let s:jimboGreen= ['#02bf51', '255'] " can't decide
let s:jimboGreen= ['#73c936', '255'] " can't decide
" let s:jimboMain= ['#ffdd33', '255']
" let s:jimboMain= ['#c73c3f', '255']
let s:jimboMain= ['#c94245', '255'] " done?
let s:jimboBrown= ['#cc8c3c', '255'] " done
let s:jimboPurple= ['#978ad1', '255'] " done
let s:jimboPink= ['#d6bddb', '255'] " done
let s:jimboLightBlue= ['#0087d7', '255']
let s:jimboBlue= ['#0000d7', '255']
let s:jimboGold= ['#d7af00', '255']
let s:jimboDiffAdd= ['#003b00', '255']
let s:jimboDiffCha= ['#2c2c2c', '255']
let s:jimboDiffDel= ['#3b0000', '255']
let s:none= ['NONE', 'NONE']
" highlight function
function! <sid>hi(group, fg, bg, attr, attrsp)
" fg, bg, attr, attrsp
if !empty(a:fg)
exec "hi " . a:group . " guifg=" . a:fg[0]
exec "hi " . a:group . " ctermfg=" . a:fg[1]
endif
if !empty(a:bg)
exec "hi " . a:group . " guibg=" . a:bg[0]
exec "hi " . a:group . " ctermbg=" . a:bg[1]
endif
if a:attr != ""
exec "hi " . a:group . " gui=" . a:attr
exec "hi " . a:group . " cterm=" . a:attr
endif
if !empty(a:attrsp)
exec "hi " . a:group . " guisp=" . a:attrsp[0]
endif
endfunction
" call <sid>:hi(group, fg, bg, gui, guisp)
call <sid>hi('Bold', '', '', 'bold', '')
call <sid>hi('Debug', s:jimboFG2, '', '', '')
call <sid>hi('Directory', s:jimboLightBlue, '', '', '')
call <sid>hi('ErrorMsg', s:jimboWhite, s:jimboRed, '', '')
call <sid>hi('Exception', s:jimboBrown, '', '', '')
call <sid>hi('FoldColumn', s:jimboBrown, s:jimboBG, '', '')
call <sid>hi('Folded', s:jimboBrown, s:jimboBG1, s:italic, '')
call <sid>hi('IncSearch', s:jimboBlack, s:jimboFG2, 'NONE', '')
call <sid>hi('Italic', '', '', s:italic, '')
call <sid>hi('Macro', s:jimboFG, '', '', '')
call <sid>hi('MatchParen', s:jimboBG2, s:jimboMain, '', '')
call <sid>hi('ModeMsg', s:jimboFG2, '', '', '')
call <sid>hi('MoreMsg', s:jimboFG2, '', '', '')
call <sid>hi('Question', s:jimboNiagara, '', '', '')
call <sid>hi('Search', s:jimboBlack, s:jimboMain, '', '')
call <sid>hi('SpecialKey', s:jimboFG2, '', '', '')
call <sid>hi('TooLong', s:jimboFG2, '', '', '')
call <sid>hi('Underlined', s:jimboPurple, '', '', '')
call <sid>hi('Visual', '', s:jimboBG3, '', '')
call <sid>hi('VisualNOS', s:jimboRed, '', '', '')
call <sid>hi('WarningMsg', s:jimboRed, '', '', '')
call <sid>hi('WildMenu', s:jimboBlack, s:jimboMain, '', '')
call <sid>hi('Title', s:jimboQuartz, '', '', '')
call <sid>hi('Conceal', s:jimboFG, s:jimboBG, '', '')
call <sid>hi('Cursor', s:jimboBG, s:jimboFG, '', '')
call <sid>hi('NonText', s:jimboFG2, '', '', '')
call <sid>hi('Normal', s:jimboFG, s:jimboBG, '', '')
call <sid>hi('EndOfBuffer', s:jimboFG, s:jimboBG, '', '')
" call <sid>hi('LineNr', s:jimboFG, s:jimboBG, '', '')
call <sid>hi('SignColumn', s:none, s:none, '', '')
call <sid>hi('VertSplit', s:jimboFG2, s:jimboBG1, '', '')
call <sid>hi('ColorColumn', '', s:jimboBG2, '', '')
call <sid>hi('CursorColumn', '', s:jimboBG2, '', '')
" call <sid>hi('CursorLine', , s:jimboBG2, 'NONE', '')
call <sid>hi('CursorLineNr', s:jimboYellow, s:jimboBG, 'NONE', '')
call <sid>hi('LineNR', s:jimboBG3, s:jimboBG, '', '')
call <sid>hi('PMenu', s:jimboFG, s:jimboBG1, '', '')
call <sid>hi('PMenuSel', s:jimboFG, s:jimboBG2, '', '')
call <sid>hi('PmenuSbar', '', s:jimboBG, '', '')
call <sid>hi('PmenuThumb', '', s:jimboBG, '', '')
call <sid>hi('helpExample', s:jimboMain, '', '', '')
call <sid>hi('helpCommand', s:jimboMain, '', '', '')
" gitgutter sign column and line highlighting
if g:jimbo_gitgutter == 1
call <sid>hi('GitGutterAdd', s:jimboGreen, '', '', '')
call <sid>hi('GitGutterChange', s:jimboWhite, '', '', '')
call <sid>hi('GitGutterDelete', s:jimboRed, '', '', '')
call <sid>hi('GitGutterAddLine', '', s:jimboDiffAdd, '', '')
call <sid>hi('GitGutterChangeLine', '', s:jimboDiffCha, '', '')
call <sid>hi('GitGutterChangeDeleteLine','', s:jimboDiffDel, '', '')
call <sid>hi('GitGutterDeleteLine', '', s:jimboDiffDel, '', '')
endif
" standard syntax highlighting
call <sid>hi('Boolean', s:jimboQuartz, '', '', '')
call <sid>hi('Character', s:jimboGreen, '', '', '')
call <sid>hi('Comment', s:jimboBrown, '', s:italic, '')
" call <sid>hi('Conditional', s:jimboMain, '', '', '')
call <sid>hi('Conditional', s:jimboYellow, '', s:bold, '')
call <sid>hi('PreCondit', s:jimboQuartz, '', s:bold, '')
call <sid>hi('Constant', s:jimboYellow, '', '', '')
call <sid>hi('cConstant', s:jimboYellow, '', '', '')
" call <sid>hi('Define', s:jimboMain, '', '', '')
call <sid>hi('Define', s:jimboFG, '', '', '')
call <sid>hi('cDefine', s:jimboQuartz, '', '', '')
call <sid>hi('Delimiter', s:jimboFG, '', '', '')
call <sid>hi('Float', s:jimboQuartz, '', '', '')
call <sid>hi('cFunction', s:jimboNiagara, '', '', '')
call <sid>hi('cErrInBracket', s:jimboNiagara, s:none, '', '')
call <sid>hi('Identifier', s:jimboNiagara, '', s:bold, '')
" call <sid>hi('Include', s:jimboMain, '', '', '')
call <sid>hi('Include', s:jimboQuartz, '', '', '')
call <sid>hi('Keyword', s:jimboMain, '', '', '')
call <sid>hi('Label', s:jimboYellow, '', '', '')
call <sid>hi('Number', s:jimboQuartz, '', '', '')
call <sid>hi('Operator', s:jimboQuartz, '', '', '')
call <sid>hi('PreProc', s:jimboFG1, '', '', '')
" call <sid>hi('cJCParamType', s:jimboYellow, '', '', '')
" call <sid>hi('cJCFunc', s:jimboLightBlue, '', '', '')
call <sid>hi('Repeat', s:jimboMain, '', '', '')
call <sid>hi('Special', s:jimboQuartz, '', '', '')
call <sid>hi('SpecialChar', s:jimboGreen, '', '', '')
call <sid>hi('Statement', s:jimboYellow, '', '', '')
call <sid>hi('cCppSkip', s:jimboQuartz, '', '', '')
call <sid>hi('cPreCondit', s:jimboQuartz, '', '', '')
call <sid>hi('cPreConditMatch', s:jimboQuartz, '', '', '')
call <sid>hi('cStatement', s:jimboYellow, '', '', '')
call <sid>hi('StorageClass', s:jimboYellow, '', '', '')
call <sid>hi('String', s:jimboGreen, '', '', '')
call <sid>hi('Structure', s:jimboYellow, '', '', '')
call <sid>hi('Todo', s:jimboBG, s:jimboMain, '', '')
" call <sid>hi('Type', s:jimboPink, '', '', '')
call <sid>hi('Type', s:jimboQuartz, '', '', '')
call <sid>hi('ParamType', s:jimboYellow, '', '', '')
call <sid>hi('Typedef', s:jimboYellow, '', '', '')
call <sid>hi('cTypedef', s:jimboYellow, '', '', '')
call <sid>hi('SpellBad', '', '', 'underline', '')
call <sid>hi('SpellLocal', '', '', 'underline', '')
call <sid>hi('SpellCap', '', '', 'underline', '')
call <sid>hi('SpellRare', '', '', 'underline', '')
" markdown
call <sid>hi('markdownCode', s:jimboGreen, '', '', '')
call <sid>hi('markdownCodeBlock', s:jimboGreen, '', '', '')
call <sid>hi('markdownHeadingDelimiter', s:jimboNiagara, '', '', '')
call <sid>hi('markdownItalic', s:jimboPurple, '', s:italic, '')
call <sid>hi('markdownBold', s:jimboMain, '', s:bold, '')
call <sid>hi('markdownCodeDelimiter', s:jimboBrown, '', s:italic, '')
call <sid>hi('markdownError', s:jimboFG, s:jimboBG1, '', '')
call <sid>hi('ALEErrorSign', s:jimboRed, s:jimboBG2, s:bold, '')
call <sid>hi('ALEWarningSign', s:jimboMain, s:jimboBG2, s:bold, '')
call <sid>hi('ALEInfoSign', s:jimboGreen, s:jimboBG2, s:bold, '')
call <sid>hi('NERDTreeExecFile', s:jimboFG, '', '', '')
call <sid>hi('NERDTreeDirSlash', s:jimboNiagara, '', '', '')
call <sid>hi('NERDTreeOpenable', s:jimboNiagara, '', '', '')
call <sid>hi('NERDTreeFile', '', s:none, '', '')
call <sid>hi('NERDTreeFlags', s:jimboNiagara, '', '', '')
call <sid>hi('DirvishPathTail', s:jimboYellow, '', '', '')
call <sid>hi('DirvishArg', s:jimboWhite, s:jimboRed, '', '')
let g:terminal_color_0= s:jimboBG1[0]
let g:terminal_color_8= s:jimboBG1[0]
let g:terminal_color_1= s:jimboLightRed[0]
let g:terminal_color_9= s:jimboLightRed[0]
let g:terminal_color_2= s:jimboGreen[0]
let g:terminal_color_10= s:jimboGreen[0]
let g:terminal_color_3= s:jimboMain[0]
let g:terminal_color_11= s:jimboMain[0]
let g:terminal_color_4= s:jimboNiagara[0]
let g:terminal_color_12= s:jimboNiagara[0]
let g:terminal_color_5= s:jimboPurple[0]
let g:terminal_color_13= s:jimboPurple[0]
let g:terminal_color_6= s:jimboNiagara[0]
let g:terminal_color_14= s:jimboNiagara[0]
let g:terminal_color_7= s:jimboFG[0]
let g:terminal_color_15= s:jimboFG[0]
let g:terminal_color_background=s:jimboBG1[0]
let g:terminal_color_foreground=s:jimboWhite[0]
if g:jimbo_transparent == 1
hi Normal guibg=NONE ctermbg=NONE
hi NormalFloat guibg=NONE ctermbg=NONE
hi NormalNC guibg=NONE ctermbg=NONE
hi LineNr guibg=NONE ctermbg=NONE
hi SignColumn guibg=NONE ctermbg=NONE
hi FoldColumn guibg=NONE ctermbg=NONE
hi EndOfBuffer guibg=NONE ctermbg=NONE
hi CursorLineNr guibg=NONE cterm=NONE
endif