Created
May 20, 2024 10:13
-
-
Save blogdron/8c3605f41cdfd6fa9d8b45c6128ab2c5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"echo ">^.^<" | |
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
""""""""""""""""""""""""""""""""""Vundle""""""""""""""""""""""""""""""""""""""" | |
set nocompatible | |
filetype off | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
Plugin 'tiagofumo/vim-nerdtree-syntax-highlight' | |
Plugin 'q60/vim-brainfuck' " ... | |
Plugin 'vim-syntastic/syntastic' " ... | |
Plugin 'gmarik/Vundle.vim' "Менеджер плагинов | |
Plugin 'scrooloose/nerdtree' "Файловый менеджер | |
Plugin 'majutsushi/tagbar' "Менеджер навигации по коду, аля ctag | |
Plugin 'flazz/vim-colorschemes' "Набор цветовых схем/тем | |
Plugin 'bling/vim-airline' "строка состояния | |
Plugin 'vim-airline/vim-airline-themes' "Набор цветовых тем строки состояния | |
Plugin 'morhetz/gruvbox' "just nice theme | |
Plugin 'vim-scripts/AutoComplPop' " ... | |
Plugin 'Shougo/neoinclude.vim' "support autocomplit include files | |
Plugin 'SirVer/ultisnips' "Менеджер сниппетов | |
Plugin 'honza/vim-snippets' " ... | |
Plugin 'ervandew/supertab' "для дружбы ycm и ultisnips | |
Plugin 'justinmk/vim-syntax-extra' | |
Plugin 'fedor-elizarov/vim-startify' | |
Plugin 'gilsondev/searchtasks.vim' | |
Plugin 'tikhomirov/vim-glsl' | |
Plugin 'jlanzarotta/bufexplorer' | |
call vundle#end() | |
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
filetype plugin indent on | |
autocmd! BufNewFile,BufRead *.vs,*.fs,*.ts set ft=glsl | |
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
set cm=blowfish | |
set termguicolors | |
set conceallevel=0 "disable json hiden quotes | |
set relativenumber | |
set encoding=UTF-8 | |
command BA bel term | |
autocmd BufWritePre * :%s/\s\+$//e | |
autocmd BufEnter * silent! lcd %:p:h | |
au BufReadPost *.b set syntax=brainfuck | |
""""""""""""""""""""""" vim terminal support scroll"""""""""""""""""""""""""""" | |
tnoremap <Esc> <C-W>N | |
set notimeout ttimeout timeoutlen=100 | |
"------------------------------------------------------------------------------ | |
let g:UltiSnipsExpandTrigger = "<tab>" | |
let g:UltiSnipsJumpForwardTrigger = "<tab>" | |
let g:UltiSnipsJumpBackwardTrigger = "<s-tab>" | |
"------------------------------------------------------------------------------ | |
"set exrc ""искать дополнительный vimrc в текущем каталоге | |
"set secure ""запретить исполнять внешние комманды из vimrc | |
set noswapfile | |
set nowrap | |
set updatetime=100 | |
set ttyfast | |
set lazyredraw | |
set synmaxcol=240 | |
syntax sync minlines=256 | |
set modifiable | |
set noshowmode | |
"set cursorline | |
set t_Co=256 | |
"let g:auto_save = 1 | |
set guifont=Noto\ Mono\ Regular\ 12 | |
"------------------------------------------------------------------------------ | |
let g:airline#extensions#tabline#enabled = 0 | |
let g:airline#extensions#tabline#left_sep = ' ' | |
let g:airline#extensions#tabline#left_alt_sep = '|' | |
let g:airline#extensions#fugitiveline#enabled = 1 | |
let g:airline#extensions#branch#enabled = 1 | |
let g:airline#extensions#tagbar#enabled = 1 | |
let g:airline#extensions#ctags#enabled = 1 | |
"------------------------------------------------------------------------------ | |
let g:indentLine_char = '┆' | |
let g:indentLine_enabled = 1 | |
"------------------------------------------------------------------------------ | |
set statusline+=%#warningmsg# | |
set statusline+=%{SyntasticStatuslineFlag()} | |
set statusline+=%* | |
let g:syntastic_always_populate_loc_list = 1 | |
"let g:syntastic_auto_loc_list = 1 | |
"let g:syntastic_check_on_open = 1 | |
"let g:syntastic_check_on_wq = 0 | |
let g:syntastic_error_symbol = "➤" | |
let g:syntastic_warning_symbol = "●" | |
let g:syntastic_enable_signs=1 | |
let g:syntastic_check_on_wq = 0 | |
let g:syntastic_check_on_open = 1 | |
"let g:syntastic_lua_checkers = ["luac", "luacheck"] | |
"let g:syntastic_lua_luacheck_args = "--no-unused-args" | |
"------------------------------------------------------------------------------ | |
map <F1> :tabnext <CR> | |
map <F2> :NERDTree <CR> | |
map <F3> :Tagbar <CR> | |
map <F4> :tabnew <CR> | |
map <F5> :sp <CR> | |
map <F6> :vs <CR> | |
map <F8> :bel term <CR> | |
map <F10> :BufExplorerHorizontalSplit <CR> | |
"------------------------------------------------------------------------------ | |
function ToggleMenu() | |
if &go =~ 'e' | |
exec('set guioptions+=m') | |
exec('set go-=e') | |
else | |
exec('set guioptions-=m') | |
exec('set go+=e') | |
endif | |
endfunction | |
nnoremap <F9> :call ToggleMenu() <CR> | |
"------------------------------------------------------------------------------ | |
function ToggleFullScreen() | |
if &go =~ 'e' | |
exec('silent !wmctrl -r :ACTIVE: -b add,fullscreen') | |
exec('set go-=e') | |
else | |
exec('silent !wmctrl -r :ACTIVE: -b remove,fullscreen') | |
exec('set go+=e') | |
endif | |
endfunction | |
nnoremap <F11> :call ToggleFullScreen()<CR> | |
inoremap <F11> :call ToggleFullScreen()<CR> | |
"------------------------------------------------------------------------------ | |
"function UpdateTags() | |
" """"""""""""""""""""""""""""" | |
" let projects = ["~/egnaroc/"] | |
" """"""""""""""""""""""""""""" | |
" for proj in projects | |
" exec('!cd ' . proj . ' && ctags -R include') | |
" tags+= proj . 'tags' | |
" endfor | |
"endfunction | |
"map <F12> :call UpdateTags() <CR> | |
"------------------------------------------------------------------------------ | |
"set wildmenu | |
"set wcm=<tab> | |
"menu Encoding.koi8-r :e ++enc=koi8-r <CR> | |
"menu Encoding.cp1251 :e ++enc=cp1251 <CR> | |
"menu Encoding.cp866 :e ++enc=cp866 <CR> | |
"menu Encoding.ucs-2le :e ++enc=ucs-2le <CR> | |
"menu Encoding.utf-8 :e ++enc=utf-8 <CR> | |
"map <F12> :emenu Encoding.<Tab> | |
"menu Tab.new :tabnew <CR> | |
"menu Tab.next :tabnext <CR> | |
"menu Tab.previous :tabprevious <CR> | |
"------------------------------------------------------------------------------ | |
menu Theme.gruvbox :colorscheme gruvbox <CR> | |
menu Theme.solarized :colorscheme solarized <CR> | |
menu Theme.badwolf :colorscheme badwolf <CR> | |
menu Theme.hybrid :colorscheme hybrid <CR> | |
menu Theme.hybrid_material :colorscheme hybrid_material <CR> | |
menu Theme.atom :colorscheme atom <CR> | |
menu Theme.abra :colorscheme abra <CR> | |
menu Theme.adventurous :colorscheme adventurous <CR> | |
menu Theme.afterglow :colorscheme afterglow <CR> | |
menu Theme.alduin :colorscheme alduin <CR> | |
menu Theme.anderson :colorscheme anderson <CR> | |
menu Theme.antares :colorscheme antares <CR> | |
menu Theme.apprentice :colorscheme apprentice <CR> | |
menu Theme.ayu :colorscheme ayu <CR> | |
menu Theme.base16-alterdune :colorscheme base16-alterdune <CR> | |
menu Theme.basic-dark :colorscheme basic-dark <CR> | |
menu Actions.PasteON :set paste <CR> | |
menu Actions.PasteOFF :set nopaste <CR> | |
menu Actions.Wrap :set wrap <CR> | |
menu Actions.Nowrap :set nowrap <CR> | |
menu Builds.MakeAll :bel terminal make all <CR> | |
menu Builds.MakeClean :bel terminal make clean <CR> | |
menu Builds.Cmake :bel terminal cmake . <CR> | |
menu Vimrc.Reload :so ~/.vimrc <CR> | |
menu Vimrc.Edit :vnew ~/.vimrc <CR> | |
menu Vundle.Update :VundleUpdate <CR> | |
menu Vundle.Search :VundleSearch <CR> | |
menu Vundle.Install :VundleInstall <CR> | |
menu Vundle.Clean :VundleClean <CR> | |
menu Vundle.Docs :VundleDocs <CR> | |
"------------------------------------------------------------------------------ | |
set colorcolumn=80 | |
set mouse=a | |
set showtabline=1 | |
set laststatus=2 "всегда показавать статусную строку | |
set guioptions-=m | |
set guioptions-=e | |
set guioptions-=T | |
"set guioptions-=r | |
syntax on | |
set number | |
set background=dark | |
let g:gruvbox_contrast_dark='medium' | |
let g:gruvbox_italic=v:false | |
try | |
"colorscheme Tomorrow-Night | |
colorscheme gruvbox | |
"colorscheme apprentice | |
"catch E185 | |
endtry | |
hi Bang ctermfg=red guifg=red | |
match Bang /\%>79v.*\%<81v/ | |
highlight Normal guifg=#e0e0e0 guibg=#242B3C | |
highlight Terminal guifg=#e0e0e0 guibg=#2D3853 | |
highlight VertSplit guibg=#1F2531 guifg=#1F2531 | |
syn match keywordAs ";" | |
hi def link keywordAs GruvboxGreen | |
let g:airline_theme='gruvbox' | |
"------------------------------------------------------------------------------ | |
set tabstop=4 "ширина таба | |
set shiftwidth=4 "ширина таба при выравнивании | |
set expandtab "заменять табы пробелами | |
set autoindent "копирует отступы с текущей для новой строки | |
set smartindent "дополнительные умные отступы расширяет autoindent | |
set wrapmargin=4 "отступ от границы правой стороы окна | |
"------------------------------------------------------------------------------ | |
set list "отображать спец символы | |
set listchars=tab:►·,eol:·,trail:↔ "табы ,конец строки, пробелы | |
"------------------------------------------------------------------------------ | |
set textwidth=1024 ""максимальная длинна строки | |
"------------------------------------------------------------------------------ | |
"set virtualedit=all "свободное перемещение курсора в произвольное место | |
"------------------------------------------------------------------------------ | |
set encoding=utf8 | |
set fileformat=unix ""формат по умолчанию | |
set termencoding=utf-8 ""системная кодировка | |
set fileencodings=utf8,cp1251,koi8-r "последовательность перебора кодировок | |
"------------------------------------------------------------------------------ | |
set incsearch ""автоматический поиск совпадений при наборе | |
set hlsearch ""подсвечивать наиденные совпадения | |
set ignorecase ""игнорировать регистр при поиске | |
"set noignorecase ""учитывать регистр при поиске | |
"set smartcase ""умный учёт регистра при поиске если отсуцтвует верхний | |
""регист поиск ведётся без его учёта, если же хоть один | |
""символ в верхнем регистре то регистр учитывается при поиске | |
"set nosmartcase ""отключает умный режим поска | |
"------------------------------------------------------------------------------ | |
set history=10000 ""сколько помнить позиций в истории | |
set undofile ""сохранять историю изменений для закрытых буфферов | |
set undolevels=1000000000 ""сколько помнить позиций в истории | |
set undodir=/tmp/undo/ ""где хранить служебные файлы истоии | |
"------------------------------------------------------------------------------ | |
let g:NERDTreeDisableExactMatchHighlight = 0 | |
let g:NERDTreeDisablePatternMatchHighlight = 0 | |
let g:NERDTreeLimitedSyntax = 0 " limit syntax for the most popular extensions | |
let g:NERDTreeMouseMode = 2 | |
let g:NERDTreeFileExtensionHighlightFullName = 1 | |
let g:NERDTreeExactMatchHighlightFullName = 1 | |
let g:NERDTreePatternMatchHighlightFullName = 1 | |
let g:NERDTreeHighlightFolders = 1 | |
let g:NERDTreeHighlightFoldersFullName = 1 | |
"let g:NERDTreeDirArrowExpandable = '> ' | |
"------------------------------------------------------------------------------ | |
autocmd User Startified setlocal cursorline | |
let g:startify_enable_special = 0 | |
let g:startify_files_number = 8 | |
let g:startify_relative_path = 1 | |
let g:startify_change_to_dir = 1 | |
let g:startify_update_oldfiles = 1 | |
let g:startify_session_autoload = 1 | |
let g:startify_session_persistence = 1 | |
let g:startify_custom_header = | |
\ startify#fortune#cowsay('', '═','║','╔','╗','╝','╚') | |
let g:startify_custom_footer = | |
\ ['', " Make code Йопта", ''] | |
hi StartifyBracket ctermfg=240 | |
hi StartifyFile ctermfg=147 | |
hi StartifyFooter ctermfg=240 | |
hi StartifyHeader ctermfg=114 | |
hi StartifyNumber ctermfg=215 | |
hi StartifyPath ctermfg=245 | |
hi StartifySlash ctermfg=240 | |
hi StartifySpecial ctermfg=240 | |
autocmd VimEnter * | |
\ if !argc() | |
\ | Startify | |
"\ | NERDTree | |
\ | wincmd w | |
\ | endif | |
let g:startify_lists = [ | |
\ { 'type': 'sessions', 'header': [' Сессии'] }, | |
\ { 'type': 'files', 'header': [' Последние файлы'] }, | |
\ { 'type': 'dir', 'header': [' Каталоги '. getcwd()]}, | |
\ { 'type': 'bookmarks', 'header': [' Закладки'] }, | |
\ { 'type': 'commands', 'header': [' Комманды'] }, | |
\ ] | |
let g:startify_files_number = 15 | |
let g:startify_bookmarks = ['~/.vimrc'] | |
let g:startify_commands = ['tabnew ~/.vimrc'] | |
let g:startify_session_before_save = [ | |
\ 'silent! NERDTreeClose' | |
\ ] | |
autocmd SessionLoadpost * NERDTree | |
"------------------------------------------------------------------------------ | |
let g:searchtasks_list=["TODO", "FIXME", "XXX"] | |
set path+=~/egnaroc/include/**2/ | |
"set path+=/usr/include**2/ | |
"set completeopt=menu,popup,preview,longest | |
"set complete+=~/.vim/complete/egnaroc.vim | |
"set tags+=~/egnaroc/tags | |
"set tags+=~/.vim/tags; | |
let g:SuperTabDefaultCompletionType = '<C-X><C-O>' | |
set omnifunc=syntaxcomplete#Complete | |
"let g:easytags_always_enabled = 1 | |
"let g:easytags_cmd = '/usr/bin/env ctags' | |
"let g:easytags_syntax_keyword = 'always' | |
"let g:easytags_file = '~/.vim/tags' | |
"let g:gutentags_enabled = 0 | |
"set statusline+=%{gutentags#statusline()} | |
"let g:gutentags_project_root = ['~/egnaroc/','Makefile'] "can use .git | |
" | |
"let g:gutentags_ctags_exclude = [ | |
" \ '.git', '.svg', '.hg', | |
" \ 'release', | |
" \ 'debut', | |
" \ 'bin', | |
" \ 'build', | |
" \ 'depends', | |
" \ 'docs', | |
" \ '.md', | |
" \ '.rc', | |
" \ '.bak', | |
" \ '.zip', | |
" \ '.pyc', | |
" \ '.class', | |
" \ '.cache', | |
" \ 'tags', | |
" \ 'cscope.', | |
" \ '.css', | |
" \ '.swp', '.swo', | |
" \ '.bmp', '.gif', '.ico', '.jpg', '.png', | |
" \ '.rar', '.zip', '.tar', '.tar.gz', '.tar.xz', '.tar.bz2', | |
" \ '.pdf', '.doc', '.docx', '.ppt', '.pptx', | |
" \ '.vim', | |
"\] | |
"------------------------------------------------------------------------------ | |
set tags+=~/.vim/tags | |
set tags+=~/egnaroc/tags | |
"------------------------------------------------------------------------------ | |
lua << EOF | |
-- тут можно писать код на луа :) | |
EOF | |
"------------------------------------------------------------------------------ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment