diff --git a/.vimrc b/.vimrc index 6b7283b..1a51e1d 100644 --- a/.vimrc +++ b/.vimrc @@ -1,5 +1,4 @@ " Modeline and Notes { -" vim: set sw=4 ts=4 sts=4 et tw=78 foldmarker={,} nofoldenable foldmethod=marker spell: " Environment { " The default leader is '\', but many people prefer ',' as it's in a standard let mapleader = ',' @@ -11,18 +10,6 @@ set background=dark " Assume a dark background - " Allow to trigger background - function! ToggleBG() - let s:tbg = &background - " Inversion - if s:tbg == "dark" - set background=light - else - set background=dark - endif - endfunction - - noremap bg :call ToggleBG() noremap h :noh " turn off highlight filetype plugin indent on " Automatically detect file types. @@ -41,7 +28,6 @@ set viewoptions=folds,options,cursor,unix,slash " Better Unix / Windows compatibility set virtualedit=onemore " Allow for cursor beyond last character set history=1000 " Store a ton of history (default is 20) - set nospell " Spell checking off set hidden " Allow buffer switching without saving set iskeyword-=. " '.' is an end of word designator set iskeyword-=# " '#' is an end of word designator @@ -132,10 +118,13 @@ set nojoinspaces " Prevents inserting two spaces after punctuation on a join (J) set splitright " Puts new vsplit windows to the right of the current set splitbelow " Puts new split windows to the bottom of the current - set nolist " let vim not showing '$' or other sign + set nolist " let vim not showing '$' or other sign + "set list " Display unprintable characters f12 - switches + "set listchars=tab:•\ ,trail:•,extends:»,precedes:« " Unprintable chars mapping + set nospell " Spell checking off set matchpairs+=<:> " Match, to be used with % - set comments=sl:/*,mb:*,elx:*/ " auto format comment blocks + "set comments=sl:/*,mb:*,elx:*/ " auto format comment blocks autocmd BufNewFile,BufRead *.html.twig set filetype=html.twig autocmd FileType haskell,puppet,ruby,yml setlocal expandtab shiftwidth=2 softtabstop=2 @@ -190,17 +179,6 @@ nmap f8 :set foldlevel=8 nmap f9 :set foldlevel=9 - " Most prefer to toggle search highlighting rather than clear the current - " search results. To clear search highlighting rather than toggle it on - " and off, add the following to your .vimrc.before.local file: - " let g:spf13_clear_search_highlight = 1 - if exists('g:spf13_clear_search_highlight') - nmap / :nohlsearch - else - nmap / :set invhlsearch - endif - - " Find merge conflict markers map fc /\v^[<\|=>]{7}( .*\|$) @@ -291,20 +269,6 @@ call InitializeDirectories() " } - " Initialize NERDTree as needed { - function! NERDTreeInitAsNeeded() - redir => bufoutput - buffers! - redir END - let idx = stridx(bufoutput, "NERD_tree") - if idx > -1 - NERDTreeMirror - NERDTreeFind - wincmd l - endif - endfunction - " } - " Shell command { function! s:RunShellCommand(cmdline) botright new @@ -326,7 +290,6 @@ command! -complete=file -nargs=+ Shell call s:RunShellCommand() " e.g. Grep current file for : Shell grep -Hn % " } - " Fix file type error for typescript autocmd BufNewFile,BufRead *.ts set filetype=typescript @@ -369,15 +332,8 @@ " copy to system set clipboard=unnamed -" space-d jump to definition if coc is installed - "nnoremap d :call CocAction('jumpDefinition', v: false) - "nnoremap r :call CocAction('jumpReferences', v: false) - if filereadable(expand("~/.dotfile/.exp-coc-config")) - source ~/.vim-config/.exp-coc-config - endif - " fix paste mess up when using tmux - if &term =~ "screen" + if &term =~ "screen" let &t_BE = "\e[?2004h" let &t_BD = "\e[?2004l" exec "set t_PS=\e[200~" diff --git a/.vimrc.bundles b/.vimrc.bundles index 6e6388a..ef078ec 100644 --- a/.vimrc.bundles +++ b/.vimrc.bundles @@ -6,15 +6,11 @@ " } " " Plugin directory + let config_dir = '~/.dotfiles/' let plugin_dir = '~/.vim/plugged/' call plug#begin(plugin_dir) Plug 'neoclide/coc.nvim', {'branch': 'release'} - " add desired extensions to the following global variable - " coc-tsserver: javascript - " coc-pyright: python - " coc-clangd: c/c++, may need to install clangd seperatly - let g:coc_global_extensions = ['coc-pyright', 'coc-rls'] Plug 'rust-lang/rust.vim' " syntax highlighting(and more) for typescript " { @@ -38,7 +34,7 @@ " for window resize{ Plug 'simeji/winresizer' - let g:winresizer_start_key = '' + let g:winresizer_start_key = '' let g:winresizer_vert_resize = 2 let g:winresizer_horiz_resize = 2 " } @@ -54,7 +50,7 @@ Plug 'mg979/vim-visual-multi' " } Plug 'vim-airline/vim-airline' - "Plug 'vim-airline/vim-airline-themes' + Plug 'vim-airline/vim-airline-themes' " For nvim-bufferline " { @@ -70,8 +66,17 @@ Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } endif + " nvim support only theme + " { Plug 'projekt0n/github-nvim-theme' + " } + + " vim theme + " { Plug 'nanotech/jellybeans.vim' + Plug 'danilo-augusto/vim-afterglow' + Plug 'NLKNguyen/papercolor-theme' + " } call plug#end() @@ -105,16 +110,13 @@ " vim-airline { " Set configuration options for the statusline plugin vim-airline. " Use the powerline theme and optionally enable powerline symbols. - " To use the symbols , , , , , , and .in the statusline - " segments add the following to your .vimrc.before.local file: - " let g:airline_powerline_fonts=1 - " If the previous symbols do not render for you then install a - " powerline enabled font. - - " See `:echo g:airline_theme_map` for some more choices - " Default in terminal vim is 'dark' + let g:airline_section_b = '' let g:airline_section_z = '' let g:airline_section_y = '' + let g:airline_section_x = '' + let g:airline_section_warning = '' + let g:airline#extensions#tabline#left_sep = '' + let g:airline#extensions#tabline#left_alt_sep = '|' if isdirectory(expand(plugin_dir . "/vim-airline-themes/")) "let g:airline_theme = 'solarized' @@ -124,28 +126,82 @@ " junegunnjunegunn/fzf { " [Buffers] Jump to the existing window if possible let g:fzf_buffers_jump = 1 - let $FZF_DEFAULT_COMMAND = 'find -L' + "let $FZF_DEFAULT_COMMAND = 'find -L' + let $FZF_DEFAULT_COMMAND='find . \( -name node_modules -o -name .git \) -prune -o -print' noremap f :FZF " } - + + " neoclide/coc.nvim { + " add desired extensions to the following global variable + " coc-tsserver: javascript + " coc-pyright: python + " coc-clangd: c/c++, may need to install clangd seperatly + let g:coc_global_extensions = ['coc-pyright', 'coc-rls'] + + " space-d jump to definition if coc is installed + "nnoremap d :call CocAction('jumpDefinition', v: false) + "nnoremap r :call CocAction('jumpReferences', v: false) + if filereadable(expand(config_dir . "/.exp-coc-config")) + exec "source " . config_dir . "/.exp-coc-config" + endif + + " } +" } + + + +" THEME APPEARANCE +" { " { - "projekt0n/github-nvim-theme + " nvim only theme " has('nvim') check if it's running on nvim rather than " having neovim on your machine if isdirectory(expand(plugin_dir . "/github-nvim-theme")) && has('nvim') let g:github_function_style = "italic" - let g:github_sidebars = ["qf", "vista_kind", "terminal", "packer"] - set background=dark + "let g:github_sidebars = ["qf", "vista_kind", "terminal", "packer"] colorscheme github_dark + + " Allow to trigger background + function! ToggleBG() + " Inversion + if g:colors_name == "github_light" + colorscheme github_dark + else + colorscheme github_light + endif + endfunction + + noremap bg :call ToggleBG() endif " } " { - " nanotech/jellybeans.vim - if isdirectory(expand(plugin_dir . "/jellybeans.vim")) && !has('nvim') - colorscheme jellybeans + " vim theme + "if isdirectory(expand(plugin_dir . "/jellybeans.vim")) && !has('nvim') + if isdirectory(expand(plugin_dir . "/vim-afterglow")) && !has('nvim') + colorscheme afterglow + let g:airline_theme='afterglow' + + " Allow to trigger background + function! ToggleBG() + " Inversion + if g:colors_name == "afterglow" + set background=light + colorscheme PaperColor + "let g:airline_theme='papercolor' + :AirlineTheme papercolor + else + set background=dark + colorscheme afterglow + "let g:airline_theme='afterglow' + :AirlineTheme afterglow + endif + endfunction + + noremap bg :call ToggleBG() endif " } " } +