Last active
June 20, 2024 02:11
-
-
Save junhg0211/bb54207e7bc1176d7304960b76bf7033 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
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