feat: simplify init.vim
This commit is contained in:
parent
4dae06e460
commit
a081102dd1
254
configs/init.vim
254
configs/init.vim
@ -1,245 +1,31 @@
|
|||||||
""" Optixal's Neovim Init.vim
|
set number
|
||||||
|
|
||||||
""" Vim-Plug
|
" Plugins will be downloaded under the specified directory.
|
||||||
call plug#begin()
|
call plug#begin('~/.vim/plugged')
|
||||||
|
|
||||||
" Aesthetics - Main
|
" Declare the list of plugins.
|
||||||
Plug 'dracula/vim', { 'commit': '147f389f4275cec4ef43ebc25e2011c57b45cc00' }
|
|
||||||
Plug 'vim-airline/vim-airline'
|
|
||||||
Plug 'vim-airline/vim-airline-themes'
|
|
||||||
Plug 'ryanoasis/vim-devicons'
|
|
||||||
Plug 'junegunn/goyo.vim'
|
|
||||||
Plug 'junegunn/limelight.vim'
|
|
||||||
Plug 'junegunn/seoul256.vim'
|
|
||||||
Plug 'junegunn/vim-journal'
|
|
||||||
Plug 'junegunn/rainbow_parentheses.vim'
|
|
||||||
Plug 'nightsense/forgotten'
|
|
||||||
Plug 'zaki/zazen'
|
|
||||||
|
|
||||||
" Aethetics - Additional
|
|
||||||
Plug 'nightsense/nemo'
|
|
||||||
Plug 'yuttie/hydrangea-vim'
|
|
||||||
Plug 'chriskempson/tomorrow-theme', { 'rtp': 'vim' }
|
|
||||||
Plug 'rhysd/vim-color-spring-night'
|
|
||||||
|
|
||||||
" Functionalities
|
|
||||||
Plug 'tpope/vim-fugitive'
|
|
||||||
Plug 'tpope/vim-sensible'
|
Plug 'tpope/vim-sensible'
|
||||||
Plug 'tpope/vim-surround'
|
Plug 'mhartington/oceanic-next'
|
||||||
Plug 'majutsushi/tagbar'
|
Plug 'ryanoasis/vim-devicons'
|
||||||
Plug 'scrooloose/nerdtree'
|
Plug 'preservim/nerdtree'
|
||||||
Plug 'Xuyuanp/nerdtree-git-plugin'
|
|
||||||
Plug 'scrooloose/nerdcommenter'
|
|
||||||
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
|
||||||
Plug 'deoplete-plugins/deoplete-jedi'
|
|
||||||
Plug 'ervandew/supertab'
|
|
||||||
Plug 'jiangmiao/auto-pairs'
|
|
||||||
Plug 'junegunn/vim-easy-align'
|
|
||||||
Plug 'alvan/vim-closetag'
|
|
||||||
Plug 'tpope/vim-abolish'
|
|
||||||
Plug 'Yggdroot/indentLine'
|
|
||||||
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
|
|
||||||
Plug 'junegunn/fzf.vim'
|
|
||||||
Plug 'sheerun/vim-polyglot'
|
|
||||||
Plug 'chrisbra/Colorizer'
|
|
||||||
Plug 'KabbAmine/vCoolor.vim'
|
|
||||||
Plug 'heavenshell/vim-pydocstring', { 'do': 'make install' }
|
|
||||||
Plug 'vim-scripts/loremipsum'
|
|
||||||
" Plug 'SirVer/ultisnips'
|
|
||||||
Plug 'honza/vim-snippets'
|
|
||||||
Plug 'metakirby5/codi.vim'
|
|
||||||
Plug 'dkarter/bullets.vim'
|
|
||||||
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
|
|
||||||
|
|
||||||
Plug 'HerringtonDarkholme/yats.vim'
|
|
||||||
Plug 'mhartington/nvim-typescript', {'do': './install.sh'}
|
|
||||||
|
|
||||||
|
|
||||||
" Entertainment
|
|
||||||
" Plug 'ryanss/vim-hackernews'
|
|
||||||
|
|
||||||
|
" List ends here. Plugins become visible to Vim after this call.
|
||||||
call plug#end()
|
call plug#end()
|
||||||
|
|
||||||
""" Python3 VirtualEnv
|
" For Neovim 0.1.3 and 0.1.4
|
||||||
let g:python3_host_prog = '/usr/bin/python3'
|
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
|
||||||
|
|
||||||
""" Coloring
|
" Or if you have Neovim >= 0.1.5
|
||||||
syntax on
|
if (has("termguicolors"))
|
||||||
color dracula
|
set termguicolors
|
||||||
highlight Pmenu guibg=white guifg=black gui=bold
|
endif
|
||||||
highlight Comment gui=bold
|
|
||||||
highlight Normal gui=none
|
|
||||||
highlight NonText guibg=none
|
|
||||||
|
|
||||||
" Opaque Background (Comment out to use terminal's profile)
|
" Theme
|
||||||
set termguicolors
|
syntax enable
|
||||||
|
colorscheme OceanicNext
|
||||||
|
|
||||||
" Transparent Background (For i3 and compton)
|
let mapleader = ","
|
||||||
highlight Normal guibg=NONE ctermbg=NONE
|
|
||||||
highlight LineNr guibg=NONE ctermbg=NONE
|
|
||||||
|
|
||||||
""" Other Configurations
|
nmap <F6> :NERDTreeToggle<CR>
|
||||||
filetype plugin indent on
|
|
||||||
set tabstop=4 softtabstop=4 shiftwidth=4 expandtab smarttab autoindent
|
|
||||||
set incsearch ignorecase smartcase hlsearch
|
|
||||||
set ruler laststatus=2 showcmd showmode
|
|
||||||
set list listchars=trail:»,tab:»-
|
|
||||||
set fillchars+=vert:\
|
|
||||||
set wrap breakindent
|
|
||||||
set encoding=utf-8
|
|
||||||
set number
|
|
||||||
set title
|
|
||||||
|
|
||||||
""" Plugin Configurations
|
let g:python3_host_prog = expand('~/.pyenv/shims/python3.9')
|
||||||
|
|
||||||
" NERDTree
|
|
||||||
let NERDTreeShowHidden=1
|
|
||||||
let g:NERDTreeDirArrowExpandable = '↠'
|
|
||||||
let g:NERDTreeDirArrowCollapsible = '↡'
|
|
||||||
|
|
||||||
" Airline
|
|
||||||
let g:airline_powerline_fonts = 1
|
|
||||||
let g:airline_section_z = ' %{strftime("%-I:%M %p")}'
|
|
||||||
let g:airline_section_warning = ''
|
|
||||||
"let g:airline#extensions#tabline#enabled = 1
|
|
||||||
|
|
||||||
" Neovim :Terminal
|
|
||||||
tmap <Esc> <C-\><C-n>
|
|
||||||
tmap <C-w> <Esc><C-w>
|
|
||||||
"tmap <C-d> <Esc>:q<CR>
|
|
||||||
autocmd BufWinEnter,WinEnter term://* startinsert
|
|
||||||
autocmd BufLeave term://* stopinsert
|
|
||||||
|
|
||||||
" Deoplete
|
|
||||||
let g:deoplete#enable_at_startup = 1
|
|
||||||
" Disable documentation window
|
|
||||||
set completeopt-=preview
|
|
||||||
|
|
||||||
" vim-pydocstring
|
|
||||||
let g:pydocstring_doq_path = '~/.config/nvim/env/bin/doq'
|
|
||||||
|
|
||||||
" Supertab
|
|
||||||
let g:SuperTabDefaultCompletionType = "<C-n>"
|
|
||||||
|
|
||||||
" Ultisnips
|
|
||||||
let g:UltiSnipsExpandTrigger="<C-Space>"
|
|
||||||
let g:UltiSnipsJumpForwardTrigger="<Tab>"
|
|
||||||
let g:UltiSnipsJumpBackwardTrigger="<C-x>"
|
|
||||||
|
|
||||||
" EasyAlign
|
|
||||||
xmap ga <Plug>(EasyAlign)
|
|
||||||
nmap ga <Plug>(EasyAlign)
|
|
||||||
|
|
||||||
" indentLine
|
|
||||||
let g:indentLine_char = '▏'
|
|
||||||
let g:indentLine_color_gui = '#363949'
|
|
||||||
|
|
||||||
" TagBar
|
|
||||||
let g:tagbar_width = 30
|
|
||||||
let g:tagbar_iconchars = ['↠', '↡']
|
|
||||||
|
|
||||||
" fzf-vim
|
|
||||||
let g:fzf_action = {
|
|
||||||
\ 'ctrl-t': 'tab split',
|
|
||||||
\ 'ctrl-s': 'split',
|
|
||||||
\ 'ctrl-v': 'vsplit' }
|
|
||||||
let g:fzf_colors =
|
|
||||||
\ { 'fg': ['fg', 'Normal'],
|
|
||||||
\ 'bg': ['bg', 'Normal'],
|
|
||||||
\ 'hl': ['fg', 'Comment'],
|
|
||||||
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
|
|
||||||
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
|
|
||||||
\ 'hl+': ['fg', 'Statement'],
|
|
||||||
\ 'info': ['fg', 'Type'],
|
|
||||||
\ 'border': ['fg', 'Ignore'],
|
|
||||||
\ 'prompt': ['fg', 'Character'],
|
|
||||||
\ 'pointer': ['fg', 'Exception'],
|
|
||||||
\ 'marker': ['fg', 'Keyword'],
|
|
||||||
\ 'spinner': ['fg', 'Label'],
|
|
||||||
\ 'header': ['fg', 'Comment'] }
|
|
||||||
|
|
||||||
""" Filetype-Specific Configurations
|
|
||||||
|
|
||||||
" HTML, XML, Jinja
|
|
||||||
autocmd FileType html setlocal shiftwidth=2 tabstop=2 softtabstop=2
|
|
||||||
autocmd FileType css setlocal shiftwidth=2 tabstop=2 softtabstop=2
|
|
||||||
autocmd FileType xml setlocal shiftwidth=2 tabstop=2 softtabstop=2
|
|
||||||
autocmd FileType htmldjango setlocal shiftwidth=2 tabstop=2 softtabstop=2
|
|
||||||
autocmd FileType htmldjango inoremap {{ {{ }}<left><left><left>
|
|
||||||
autocmd FileType htmldjango inoremap {% {% %}<left><left><left>
|
|
||||||
autocmd FileType htmldjango inoremap {# {# #}<left><left><left>
|
|
||||||
|
|
||||||
" Markdown and Journal
|
|
||||||
autocmd FileType markdown setlocal shiftwidth=2 tabstop=2 softtabstop=2
|
|
||||||
autocmd FileType journal setlocal shiftwidth=2 tabstop=2 softtabstop=2
|
|
||||||
|
|
||||||
""" Custom Functions
|
|
||||||
|
|
||||||
" Trim Whitespaces
|
|
||||||
function! TrimWhitespace()
|
|
||||||
let l:save = winsaveview()
|
|
||||||
%s/\\\@<!\s\+$//e
|
|
||||||
call winrestview(l:save)
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Dracula Mode (Dark)
|
|
||||||
function! ColorDracula()
|
|
||||||
let g:airline_theme=''
|
|
||||||
color dracula
|
|
||||||
IndentLinesEnable
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Seoul256 Mode (Dark & Light)
|
|
||||||
function! ColorSeoul256()
|
|
||||||
let g:airline_theme='silver'
|
|
||||||
color seoul256
|
|
||||||
IndentLinesDisable
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Forgotten Mode (Light)
|
|
||||||
function! ColorForgotten()
|
|
||||||
" Light airline themes: tomorrow, silver, alduin
|
|
||||||
" Light colors: forgotten-light, nemo-light
|
|
||||||
let g:airline_theme='tomorrow'
|
|
||||||
color forgotten-light
|
|
||||||
IndentLinesDisable
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Zazen Mode (Black & White)
|
|
||||||
function! ColorZazen()
|
|
||||||
let g:airline_theme='badcat'
|
|
||||||
color zazen
|
|
||||||
IndentLinesEnable
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
""" Custom Mappings
|
|
||||||
|
|
||||||
let mapleader=","
|
|
||||||
nmap <leader>q :NERDTreeToggle<CR>
|
|
||||||
nmap \ <leader>q
|
|
||||||
nmap <leader>w :TagbarToggle<CR>
|
|
||||||
nmap <leader>ee :Colors<CR>
|
|
||||||
nmap <leader>ea :AirlineTheme
|
|
||||||
nmap <leader>e1 :call ColorDracula()<CR>
|
|
||||||
nmap <leader>e2 :call ColorSeoul256()<CR>
|
|
||||||
nmap <leader>e3 :call ColorForgotten()<CR>
|
|
||||||
nmap <leader>e4 :call ColorZazen()<CR>
|
|
||||||
nmap <leader>r :so ~/.config/nvim/init.vim<CR>
|
|
||||||
nmap <leader>t :call TrimWhitespace()<CR>
|
|
||||||
xmap <leader>a gaip*
|
|
||||||
nmap <leader>a gaip*
|
|
||||||
nmap <leader>s <C-w>s<C-w>j:terminal<CR>
|
|
||||||
nmap <leader>vs <C-w>v<C-w>l:terminal<CR>
|
|
||||||
nmap <leader>d <Plug>(pydocstring)
|
|
||||||
nmap <leader>f :Files<CR>
|
|
||||||
nmap <leader>g :Goyo<CR>
|
|
||||||
nmap <leader>h :RainbowParentheses!!<CR>
|
|
||||||
nmap <leader>j :set filetype=journal<CR>
|
|
||||||
nmap <leader>k :ColorToggle<CR>
|
|
||||||
nmap <leader>l :Limelight!!<CR>
|
|
||||||
xmap <leader>l :Limelight!!<CR>
|
|
||||||
autocmd FileType python nmap <leader>x :0,$!~/.config/nvim/env/bin/python -m yapf<CR>
|
|
||||||
"nmap <leader>n :HackerNews best<CR>J
|
|
||||||
nmap <silent> <leader><leader> :noh<CR>
|
|
||||||
nmap <Tab> :bnext<CR>
|
|
||||||
nmap <S-Tab> :bprevious<CR>
|
|
||||||
|
Loading…
Reference in New Issue
Block a user