init.vim 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. call plug#begin('/home/kusaeni/.config/nvim/addons')
  2. " Tools
  3. Plug 'junegunn/goyo.vim'
  4. Plug 'vifm/vifm.vim'
  5. Plug 'junegunn/limelight.vim'
  6. "Plug 'neoclide/coc.nvim', {'branch': 'release'}
  7. Plug 'ctrlpvim/ctrlp.vim'
  8. Plug 'tpope/vim-fugitive'
  9. Plug 'tpope/vim-sensible'
  10. Plug 'tpope/vim-surround'
  11. Plug 'ervandew/supertab'
  12. Plug 'ervandew/supertab'
  13. Plug 'jiangmiao/auto-pairs'
  14. Plug 'junegunn/vim-easy-align'
  15. Plug 'alvan/vim-closetag'
  16. Plug 'sheerun/vim-polyglot'
  17. Plug 'mattn/emmet-vim'
  18. Plug 'dense-analysis/ale'
  19. Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
  20. Plug 'junegunn/fzf.vim'
  21. Plug 'airblade/vim-gitgutter'
  22. Plug 'tpope/vim-eunuch'
  23. Plug 'preservim/nerdcommenter'
  24. Plug 'othree/yajs.vim'
  25. Plug 'othree/html5.vim'
  26. Plug 'HerringtonDarkholme/yats.vim'
  27. " dekorasi
  28. Plug 'preservim/nerdtree'
  29. Plug 'Xuyuanp/nerdtree-git-plugin'
  30. Plug 'ryanoasis/vim-devicons'
  31. Plug 'Yggdroot/indentLine'
  32. Plug 'junegunn/rainbow_parentheses.vim'
  33. Plug 'chrisbra/Colorizer'
  34. Plug 'KabbAmine/vCoolor.vim'
  35. Plug 'sonph/onehalf', { 'rtp': 'vim' }
  36. Plug 'junegunn/vim-journal'
  37. Plug 'dracula/vim', { 'as': 'dracula' }
  38. Plug 'itchyny/lightline.vim'
  39. Plug 'junegunn/seoul256.vim'
  40. "Plug 'ayu-theme/ayu-vim'
  41. Plug 'kuntau/ayu-vim'
  42. Plug 'arcticicestudio/nord-vim'
  43. Plug 'drewtempelmeyer/palenight.vim'
  44. Plug 'rakr/vim-one'
  45. Plug 'mhartington/oceanic-next'
  46. " Syntax
  47. Plug 'godlygeek/tabular' | Plug 'plasticboy/vim-markdown'
  48. Plug 'ap/vim-css-color' "Displays a preview of colors with CSS
  49. "Plug 'vim-scripts/fountain.vim'
  50. if has('nvim')
  51. Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
  52. Plug 'deoplete-plugins/deoplete-jedi'
  53. else
  54. Plug 'Shougo/deoplete.nvim'
  55. Plug 'roxma/nvim-yarp'
  56. Plug 'roxma/vim-hug-neovim-rpc'
  57. endif
  58. let g:deoplete#enable_at_startup = 1
  59. " Color-schemes
  60. "Plug 'morhetz/gruvbox' "My favorite theme
  61. "Plug 'kristijanhusak/vim-hybrid-material'
  62. "Plug 'NLKNguyen/papercolor-theme'
  63. "Plug 'ajh17/Spacegray.vim'
  64. "Plug 'chriskempson/base16-vim'
  65. call plug#end()
  66. " Umum
  67. set encoding=UTF-8
  68. filetype plugin indent on
  69. syntax on
  70. set autoread wildmode=longest,list,full
  71. "set spell spelllang=en_us
  72. set backspace=indent,eol,start confirm
  73. set shiftwidth=4 autoindent smartindent tabstop=4 softtabstop=4 expandtab smarttab autoindent
  74. set list listchars=tab:»-
  75. "set fillchars+=vert:\
  76. "set wrap breakindent
  77. "set list listchars=tab:▒░,trail:▓,nbsp:░
  78. "set showbreak=↪
  79. autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
  80. set hls is ic
  81. set laststatus=2 cmdheight=1
  82. au BufRead,BufNewFile *.fountain set filetype=fountain
  83. set splitbelow splitright
  84. set nobackup nowritebackup
  85. set number
  86. set numberwidth=2
  87. set tw=109
  88. set t_Co=256
  89. set cursorline
  90. autocmd ColorScheme * highlight CursorLineNr cterm=bold term=bold gui=bold
  91. "Status-line
  92. set statusline=
  93. set statusline+=%#IncSearch#
  94. set statusline+=\ %y
  95. set statusline+=\ %r
  96. set statusline+=%#CursorLineNr#
  97. set statusline+=\ %F
  98. set statusline+=%= "Right side settings
  99. set statusline+=%#Search#
  100. set statusline+=\ %l/%L
  101. set statusline+=\ [%c]
  102. " Indent
  103. let g:indentLine_char = '⫶'
  104. let g:indentLine_first_char = '⫶'
  105. let g:indentLine_showFirstIndentLevel = 1
  106. let g:indentLine_setColors = 1
  107. " Ale
  108. let g:ale_sign_error = '❌'
  109. let g:ale_sign_warning = '⚠️'
  110. " autocmd
  111. autocmd FileType html setlocal shiftwidth=2 tabstop=2 softtabstop=2
  112. autocmd FileType css setlocal shiftwidth=2 tabstop=2 softtabstop=2
  113. autocmd FileType xml setlocal shiftwidth=2 tabstop=2 softtabstop=240
  114. autocmd FileType markdown setlocal shiftwidth=2 tabstop=2 softtabstop=2
  115. autocmd FileType markdown let g:vim_markdown_conceal = 0
  116. autocmd FileType markdown normal zR
  117. let g:vim_markdown_frontmatter = 1
  118. autocmd FileType journal setlocal shiftwidth=2 tabstop=2 softtabstop=2
  119. augroup rainbow_lisp
  120. autocmd!
  121. autocmd FileType lisp,clojure,scheme RainbowParentheses
  122. augroup END
  123. let g:rainbow#max_level = 16
  124. let g:rainbow#pairs = [['(', ')'], ['[', ']']]
  125. let g:rainbow#blacklist = [233, 234]
  126. "
  127. let g:NERDCreateDefaultMappings = 1
  128. let g:NERDSpaceDelims = 1
  129. let g:NERDCompactSexyComs = 1
  130. let g:NERDCommentEmptyLines = 1
  131. let g:NERDTrimTrailingWhitespace = 1
  132. let g:NERDToggleCheckAllLines = 1
  133. let g:NERDTreeShowHidden=1
  134. "Key-bindings
  135. let mapleader=","
  136. nmap <leader>q :NERDTreeToggle<CR>
  137. nmap \ <leader>q
  138. nnoremap <leader>n :Explore<CR>
  139. nnoremap <leader><Space> :CtrlP<CR>
  140. nnoremap <leader><ENTER> :Goyo<CR>
  141. nnoremap <leader>, :vsplit ~/.config/nvim/init.vim<CR>
  142. nnoremap <leader>g :GitGutterDisable <BAR> :set laststatus=0 <CR>
  143. nnoremap <C-g> :set spelllang=ID_id<CR>
  144. "nnoremap <C-l> :set background=light<CR>
  145. nnoremap <C-s> :source ~/.config/nvim/init.vim<CR>
  146. nmap <leader>j :set filetype=journal<CR>
  147. "nnoremap <Up> :resize +2<CR>
  148. "nnoremap <Down> :resize -2<CR>
  149. "nnoremap <Left> :vertical resize +2<CR>
  150. "nnoremap <Right> :vertical resize -2<CR>
  151. xnoremap K :move '<-2<CR>gv-gv
  152. xnoremap J :move '>+1<CR>gv-gv
  153. nnoremap Q <nop>
  154. nnoremap <leader>h <C-W>h
  155. nnoremap <leader>j <C-W>j
  156. nnoremap <leader>k <C-W>k
  157. nnoremap <leader>l <C-W>l
  158. " colorscheme
  159. set termguicolors
  160. "set background=dark
  161. "let ayucolor="light"
  162. let ayucolor="mirage"
  163. "let ayucolor="dark""
  164. "let g:one_allow_italics=1
  165. "let g:oceanic_next_terminal_bold = 1
  166. "let g:oceanic_next_terminal_italic = 1
  167. colorscheme ayu
  168. hi! Normal ctermbg=NONE guibg=NONE
  169. hi! NonText ctermbg=NONE guibg=NONE guifg=NONE ctermfg=NONE
  170. let g:limelight_conceal_ctermfg = 'gray'
  171. let g:limelight_conceal_ctermfg = 240
  172. let g:limelight_conceal_guifg = 'DarkGray'
  173. let g:limelight_conceal_guifg = '#777777'
  174. " lightline
  175. "let g:lightline = { 'colorscheme': 'seoul256'}
  176. "Goyo settings
  177. function! s:goyo_enter()
  178. set noshowmode
  179. set noshowcmd
  180. set nocursorline
  181. "CocDisable
  182. Limelight
  183. endfunction
  184. function! s:goyo_leave()
  185. set showmode
  186. set showcmd
  187. set cursorline
  188. "CocEnable
  189. Limelight!
  190. endfunction
  191. autocmd! User GoyoEnter nested call <SID>goyo_enter()
  192. autocmd! User GoyoLeave nested call <SID>goyo_leave()
  193. nmap <Tab> :bnext<CR>
  194. nmap <S-Tab> :bprevious<CR>
  195. nmap <leader>h :RainbowParentheses!!<CR>
  196. "italic
  197. highlight Comment cterm=italic
  198. set t_ZH=^[[3m
  199. set t_ZR=^[[23m