feat: re-organise files dir
This commit is contained in:
220
home/.vimrc
Normal file
220
home/.vimrc
Normal file
@@ -0,0 +1,220 @@
|
||||
let mapleader = " "
|
||||
|
||||
set number relativenumber
|
||||
set ignorecase smartcase incsearch hlsearch
|
||||
set autoindent expandtab tabstop=4 shiftwidth=4 softtabstop=4
|
||||
set scrolloff=8 wildmenu showcmd laststatus=2
|
||||
set mouse=a
|
||||
set hidden
|
||||
set noswapfile nobackup undofile
|
||||
let s:undo_dir = expand('~/.vim/undodir')
|
||||
if !isdirectory(s:undo_dir)
|
||||
call mkdir(s:undo_dir, 'p')
|
||||
endif
|
||||
set undodir=~/.vim/undodir
|
||||
set undolevels=1000
|
||||
set undoreload=10000
|
||||
set belloff=all
|
||||
set noerrorbells
|
||||
|
||||
set lazyredraw
|
||||
set synmaxcol=500
|
||||
set redrawtime=500
|
||||
set maxmempattern=5000
|
||||
set nomodeline
|
||||
set noshowmatch
|
||||
silent! set diffopt+=vertical,algorithm:histogram,indent-heuristic,iwhite,foldcolumn:0
|
||||
|
||||
if executable('rg')
|
||||
set grepprg=rg\ --vimgrep\ --smart-case\ --hidden\ -g\ '!.git'
|
||||
set grepformat=%f:%l:%c:%m
|
||||
endif
|
||||
set path+=**
|
||||
set wildignore+=**/node_modules/**,**/.git/**,**/vendor/**
|
||||
set wildignore+=**/tmp/**,**/dist/**,**/build/**,**/__pycache__/**,**/*.pyc
|
||||
|
||||
augroup filetypes
|
||||
autocmd!
|
||||
autocmd FileType gitcommit setlocal spell spelllang=en_gb textwidth=72 colorcolumn=50,72
|
||||
autocmd FileType go setlocal noexpandtab softtabstop=0
|
||||
autocmd FileType markdown,text setlocal spell spelllang=en_gb wrap
|
||||
autocmd FileType python setlocal textwidth=88 colorcolumn=88
|
||||
autocmd FileType typescript,typescriptreact setlocal syntax=javascript
|
||||
autocmd FileType qf nnoremap <buffer> q :cclose<CR>
|
||||
augroup END
|
||||
|
||||
augroup quickfix
|
||||
autocmd!
|
||||
autocmd QuickFixCmdPost [^l]* cwindow
|
||||
augroup END
|
||||
|
||||
let g:netrw_banner = 0
|
||||
let g:netrw_liststyle = 3
|
||||
let g:netrw_browse_split = 4
|
||||
|
||||
set background=dark
|
||||
|
||||
if has('termguicolors') && ($COLORTERM ==# 'truecolor' || $COLORTERM ==# '24bit')
|
||||
set termguicolors
|
||||
endif
|
||||
|
||||
highlight clear
|
||||
if exists("syntax_on")
|
||||
syntax reset
|
||||
endif
|
||||
syntax enable
|
||||
|
||||
highlight Normal guifg=#CCE0D0 guibg=NONE
|
||||
highlight LineNr guifg=#808080 guibg=NONE
|
||||
highlight CursorLineNr guifg=#FCFC38 guibg=NONE gui=bold
|
||||
highlight StatusLine guifg=#CCE0D0 guibg=#000080 gui=bold
|
||||
highlight StatusLineNC guifg=#808080 guibg=#000080 gui=NONE
|
||||
highlight VertSplit guifg=#808080 guibg=NONE
|
||||
highlight ColorColumn guibg=#2A1A0A
|
||||
|
||||
highlight Comment guifg=#808080 gui=italic
|
||||
highlight Constant guifg=#F88C14
|
||||
highlight String guifg=#2CB494
|
||||
highlight Number guifg=#F88C14
|
||||
highlight Identifier guifg=NONE
|
||||
highlight Function guifg=#7290B8 gui=bold
|
||||
highlight Statement guifg=#4068D4
|
||||
highlight Keyword guifg=#4068D4
|
||||
highlight Type guifg=#2CB494
|
||||
highlight Special guifg=#88409C
|
||||
highlight PreProc guifg=#F88C14
|
||||
highlight Error guifg=#F40404 guibg=NONE gui=bold,underline
|
||||
highlight Todo guifg=#FCFC38 guibg=NONE gui=bold
|
||||
|
||||
highlight Search guifg=#3C3C3C guibg=#FCFC38
|
||||
highlight IncSearch guifg=#3C3C3C guibg=#F88C14
|
||||
|
||||
highlight DiffAdd guifg=#2CB494 guibg=#0A2A1A gui=NONE
|
||||
highlight DiffDelete guifg=#F40404 guibg=#2A0A0A gui=NONE
|
||||
highlight DiffChange guifg=#4068D4 guibg=#0A1A2A gui=NONE
|
||||
highlight DiffText guifg=#CCE0D0 guibg=#1A2A3A gui=bold
|
||||
|
||||
highlight diffAdded guifg=#2CB494 gui=bold
|
||||
highlight diffRemoved guifg=#F40404 gui=bold
|
||||
highlight diffFile guifg=#7290B8 gui=bold
|
||||
highlight diffIndexLine guifg=#88409C
|
||||
highlight diffLine guifg=#00E4FC
|
||||
highlight diffSubname guifg=#F88C14
|
||||
|
||||
highlight SpellBad guifg=#F40404 gui=undercurl guisp=#F40404
|
||||
highlight SpellCap guifg=#FCFC38 gui=undercurl guisp=#FCFC38
|
||||
highlight SpellRare guifg=#88409C gui=undercurl guisp=#88409C
|
||||
|
||||
highlight Visual guibg=#1A3050
|
||||
|
||||
highlight Pmenu guifg=#CCE0D0 guibg=#000080
|
||||
highlight PmenuSel guifg=#3C3C3C guibg=#2CB494 gui=bold
|
||||
|
||||
highlight Folded guifg=#808080 guibg=#1A1A1A gui=NONE
|
||||
highlight FoldColumn guifg=#808080 guibg=NONE
|
||||
|
||||
highlight QuickFixLine guibg=#1A3050 gui=bold
|
||||
|
||||
" UI Groups
|
||||
highlight Title guifg=#00E4FC gui=bold
|
||||
highlight Underlined guifg=#CCE0D0 gui=underline
|
||||
highlight Directory guifg=#7290B8
|
||||
highlight MatchParen guifg=#3C3C3C guibg=#2CB494
|
||||
highlight NonText guifg=#808080
|
||||
highlight SpecialKey guifg=#808080
|
||||
highlight EndOfBuffer guifg=#808080
|
||||
highlight Conceal guifg=#808080
|
||||
highlight CursorLine guibg=#0A2A1A gui=NONE
|
||||
highlight CursorColumn guibg=#0A2A1A
|
||||
highlight SignColumn guifg=#808080 guibg=NONE
|
||||
highlight WarningMsg guifg=#FCFC38
|
||||
highlight ErrorMsg guifg=#F40404 gui=bold
|
||||
highlight ModeMsg guifg=#CCE0D0 gui=bold
|
||||
highlight MoreMsg guifg=#2CB494
|
||||
highlight Question guifg=#2CB494
|
||||
highlight WildMenu guifg=#3C3C3C guibg=#FCFC38
|
||||
highlight TabLine guifg=#808080 guibg=#000080 gui=NONE
|
||||
highlight TabLineFill guibg=#000080
|
||||
highlight TabLineSel guifg=#CCE0D0 guibg=#000080 gui=bold
|
||||
highlight SpellLocal guifg=#00E4FC gui=undercurl guisp=#00E4FC
|
||||
|
||||
" Syntax Groups
|
||||
highlight Boolean guifg=#F88C14
|
||||
highlight Float guifg=#F88C14
|
||||
highlight Character guifg=#2CB494
|
||||
highlight Conditional guifg=#4068D4
|
||||
highlight Repeat guifg=#4068D4
|
||||
highlight Label guifg=#88409C
|
||||
highlight Operator guifg=#CCE0D0
|
||||
highlight Exception guifg=#F40404
|
||||
highlight Include guifg=#F88C14
|
||||
highlight Define guifg=#F88C14
|
||||
highlight Macro guifg=#F88C14
|
||||
highlight PreCondit guifg=#F88C14
|
||||
highlight StorageClass guifg=#4068D4
|
||||
highlight Structure guifg=#4068D4
|
||||
highlight Typedef guifg=#4068D4
|
||||
highlight Delimiter guifg=#CCE0D0
|
||||
highlight SpecialChar guifg=#88409C
|
||||
highlight SpecialComment guifg=#FCFC38
|
||||
highlight Debug guifg=#F032E6
|
||||
highlight Tag guifg=#7290B8
|
||||
highlight Ignore guifg=#808080
|
||||
|
||||
" HTML/Markdown Groups
|
||||
highlight htmlBold guifg=#CCE0D0 gui=bold
|
||||
highlight htmlItalic guifg=#CCE0D0 gui=italic
|
||||
highlight htmlTagName guifg=#4068D4
|
||||
highlight htmlLink guifg=#CCE0D0 gui=underline
|
||||
highlight htmlTag guifg=#808080
|
||||
highlight htmlEndTag guifg=#808080
|
||||
highlight markdownH1Delimiter guifg=#808080
|
||||
highlight markdownH2Delimiter guifg=#808080
|
||||
highlight markdownH3Delimiter guifg=#808080
|
||||
highlight markdownH4Delimiter guifg=#808080
|
||||
highlight markdownH5Delimiter guifg=#808080
|
||||
highlight markdownH6Delimiter guifg=#808080
|
||||
|
||||
" Language-specific Groups
|
||||
highlight pythonBuiltinObj guifg=#F88C14
|
||||
highlight pythonDottedName guifg=#CCE0D0
|
||||
highlight rubyInterpolation guifg=#88409C
|
||||
highlight rubyInterpolationDelimiter guifg=#88409C
|
||||
highlight rubyBlockParameter guifg=#CCE0D0
|
||||
highlight rubyBlockArgument guifg=#CCE0D0
|
||||
highlight jsxCloseString guifg=#4068D4
|
||||
|
||||
function! GitRoot()
|
||||
let l:root = systemlist('git rev-parse --show-toplevel')[0]
|
||||
if v:shell_error == 0 && isdirectory(l:root)
|
||||
execute 'silent cd' fnameescape(l:root)
|
||||
echo 'Project Root: ' . l:root
|
||||
else
|
||||
echo 'Not in a git repository'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! OpenScratch()
|
||||
split | noswapfile hide enew
|
||||
setlocal buftype=nofile bufhidden=hide localindentkeys=
|
||||
nnoremap <buffer> q :q<CR>
|
||||
endfunction
|
||||
|
||||
nnoremap <leader>gr :call GitRoot()<CR>
|
||||
nnoremap <leader>s :call OpenScratch()<CR>
|
||||
nnoremap <leader>t :!ctags -R .<CR>
|
||||
nnoremap <Esc><Esc> :nohlsearch<CR>
|
||||
nnoremap <leader>dw :set diffopt+=iwhite<CR>
|
||||
nnoremap <leader>dW :set diffopt-=iwhite<CR>
|
||||
|
||||
nnoremap ]c ]czz
|
||||
nnoremap [c [czz
|
||||
nnoremap ]q :cnext<CR>zz
|
||||
nnoremap [q :cprev<CR>zz
|
||||
nnoremap <C-j> :cnext<CR>
|
||||
nnoremap <C-k> :cprev<CR>
|
||||
|
||||
nnoremap <leader>g :silent grep! <cword><CR>
|
||||
vnoremap <leader>g "zy:silent grep! "<C-R>z""<CR>
|
||||
nnoremap <leader>/ :grep<Space>
|
||||
|
||||
Reference in New Issue
Block a user