Skip to content

Instantly share code, notes, and snippets.

@junhg0211
Last active June 20, 2024 02:11
Show Gist options
  • Save junhg0211/bb54207e7bc1176d7304960b76bf7033 to your computer and use it in GitHub Desktop.
Save junhg0211/bb54207e7bc1176d7304960b76bf7033 to your computer and use it in GitHub Desktop.
call plug#begin()
" the colorscheme you know right
Plug 'doums/darcula' " darcula
Plug 'kitten/vim-adventurous' " adventurous
Plug 'bignimbus/pop-punk.vim' " pop-punk
Plug 'folke/tokyonight.nvim' " tokyonight
Plug 'sickill/vim-monokai' " monokai
Plug 'joshdick/onedark.vim' " onedark
Plug 'cocopon/iceberg.vim' " iceberg
Plug 'morhetz/gruvbox' " gruvbox
Plug 'sainnhe/everforest' " everforest
Plug 'axvr/photon.vim' " photon
Plug 'liuchengxu/space-vim-theme' " space_vim_theme
" indentation guide
" Plug 'nathanaelkane/vim-indent-guides'
" Plug 'Yggdroot/indentLine'
" shows where the line is modified or added in github projects
Plug 'airblade/vim-gitgutter'
" highlights the current-editing tab when working with tab yk
" Plug 'blueyed/vim-diminactive'
" autocomplete
" Plug 'vim-scripts/AutoComplPop'
Plug 'neoclide/coc.nvim', {'branch': 'master'} " :CocInstall coc-python
" tree explorer
Plug 'preservim/nerdtree'
" bottom bar
Plug 'vim-airline/vim-airline'
" scope first line previewer
Plug 'wellle/context.vim'
" rainbow brackets
Plug 'luochen1990/rainbow'
" prettier
Plug 'neovim/nvim-lspconfig'
Plug 'jose-elias-alvarez/null-ls.nvim'
Plug 'MunifTanjim/prettier.nvim'
Plug 'nvim-lua/plenary.nvim'
" discord presence
Plug 'andweeb/presence.nvim'
call plug#end()
" select random theme in mylist
let mypicks = ["darcula", "adventurous", "pop-punk", "monokai", "onedark", "iceberg", "gruvbox", "everforest", "photon", "space_vim_theme"]
" let mypicks = ["gruvbox", "iceberg"]
let mypick = mypicks[localtime() % len(mypicks)]
execute 'colo' mypick
" syntax highlighting
if has("syntax")
syntax on
endif
" numberbar at left side
set nu rnu
" trailing whitespace highlighting
highlight ExtraWhitespace ctermbg=red guibg=red
match ExtraWhitespace /\s\+$/
" tab size and using spaces for tabs
set tabstop=4
set softtabstop=4 expandtab
set shiftwidth=4
set smarttab
autocmd BufEnter *.htm,*.html setlocal tabstop=2 shiftwidth=2 softtabstop=2
autocmd BufEnter *.json setlocal tabstop=2 shiftwidth=2 softtabstop=2
autocmd BufEnter *.md setlocal tabstop=2 shiftwidth=2 softtabstop=2
autocmd BufEnter *.gf setlocal tabstop=2 shiftwidth=2 softtabstop=2
autocmd BufEnter *.tsx setlocal tabstop=2 shiftwidth=2 softtabstop=2
autocmd BufEnter *.js setlocal tabstop=2 shiftwidth=2 softtabstop=2
autocmd BufEnter *.jsx setlocal tabstop=2 shiftwidth=2 softtabstop=2
autocmd BufEnter *.ts setlocal tabstop=2 shiftwidth=2 softtabstop=2
set autoindent
" emphasizes current cursor line
set cursorline
" set cursorcolumn
" sets the upper and lower limit of the cursor
set so=5
" width limit indicator
set colorcolumn=80
" tab guide
let g:indentLine_char = ':'
" set horizontal wrapping disabled
set nowrap
set siso=10
" gitgutter update time
set updatetime=100
" rainbow bracket enable
let g:rainbow_active = 1
let g:rainbow_conf = {
\'ctermfgs': ['red', 'yellow', 'green', 'lightblue', 'blue']
\}
" nerdtree ignore by extension
let NERDTreeIgnore = ['\.class$', '\.out$']
" vim, md special characters
autocmd BufEnter *.tex set conceallevel=1
autocmd BufEnter *.tex set concealcursor="inc"
autocmd BufEnter *.md set concealcursor="inc"
autocmd BufEnter *.json set conceallevel=1
autocmd BufEnter *.json set concealcursor="inc"
autocmd BufEnter *.prettierrc set conceallevel=1
autocmd BufEnter *.prettierrc set concealcursor="inc"
" NERDTree hidden file showing
let NERDTreeShowHidden=1
" enable folding for python
set foldmethod=indent
" preventing vim from appending new line character at the eof
set nofixeol
" markdown code block syntax highlighting
let g:markdown_fenced_languages = ['js=javascript', 'python', 'java', 'c']
" c-d c-u scroll unit
set scroll=5
" -- prettier mapping
" Prettier 포멧 적용 함수
function! PrettierFormat()
execute "w"
let extension = expand("%:e")
if extension == "txt"
" does nothing...
elseif extension == "c" || extension == "cpp"
execute "!clang-format -i %"
elseif extension == "rs"
execute "!rustfmt %"
elseif extension == "py"
execute "!black %"
else
execute "!prettier --write %"
endif
endfunction
" -- discord presence configuration
" General options
let g:presence_auto_update = 1
let g:presence_main_image = "neovim"
let g:presence_debounce_timeout = 10
let g:presence_enable_line_number = 1
let g:presence_blacklist = []
let g:presence_buttons = 1
let g:presence_file_assets = {}
let g:presence_show_time = 1
" Rich Presence text options
let g:presence_editing_text = "Editing %s"
let g:presence_file_explorer_text = "Browsing %s"
let g:presence_git_commit_text = "Committing changes"
let g:presence_plugin_manager_text = "Managing plugins"
let g:presence_reading_text = "Reading %s"
let g:presence_workspace_text = "Working on %s"
let g:presence_line_number_text = "Line %s out of %s"
" svelte syntax highlighting
autocmd BufEnter *.svelte set filetype=html
autocmd BufEnter *.svelte setlocal tabstop=2 shiftwidth=2 softtabstop=2
" coc keymaps
inoremap <expr> <Tab> coc#pum#visible() ? coc#pum#next(1) : "\<Tab>"
inoremap <expr> <S-Tab> coc#pum#visible() ? coc#pum#prev(1) : "\<S-Tab>"
inoremap <expr> <cr> coc#pum#visible() ? coc#pum#confirm() : "\<CR>"
" Prettier 포멧 단축키 설정
nnoremap == :silent call PrettierFormat()<CR>
autocmd BufWritePost * silent call PrettierFormat()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment