diff --git a/.vimrc b/.vimrc index 18c24b9..5370e89 100644 --- a/.vimrc +++ b/.vimrc @@ -6,11 +6,6 @@ source ~/.config/nvim/defaults.vim "ln -s ~/.vimrc ~/.config/nvim/init.vim "set rtp^=/usr/share/vim/vimfiles/ -if &t_Co > 2 || has("gui_running") - " Switch on highlighting the last used search pattern. - set hlsearch -endif - " Only do this part when compiled with support for autocommands. if has("autocmd") @@ -29,7 +24,7 @@ else endif " has("autocmd") -" Setup vim-plugin +"Setup vim-plugin if empty(glob('~/.vim/autoload/plug.vim')) silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim @@ -42,56 +37,62 @@ Plug 'junegunn/fzf.vim' Plug 'tpope/vim-sensible' Plug 'chriskempson/base16-vim' -" Comments -"Plug 'tpope/vim-commentary' -"Plug 'tpope/surround' +" Writing mode toggle `:Goyo` and `:Limelight` +Plug 'junegunn/goyo.vim' +Plug 'junegunn/limelight.vim' + +"Comments "use \cc \cl c, \cm \ci for commenting lines blocks in vis, norm modes "use ,c to comment out line(s) Plug 'scrooloose/nerdcommenter' Plug 'majutsushi/tagbar' -" Plug 'vimwiki/vimwiki' -"Plug 'jedi-vim' -"Plug 'bling/vim-airline' -"Plug 'vim-airline/vim-airline-themes' -" Denite, like emacs 'Helm' app -"Plug 'Shougo/denite.nvim' +" Plug 'tpope/vim-commentary' +" Plug 'tpope/surround' -" Search -"Plug 'ctrlpvim/ctrlp.vim' -"Plug 'vim-grepper' -"Plug 'vim-netranger' +"Commonly used vim helpers +" Plug 'jedi-vim' +" Plug 'bling/vim-airline' +" Plug 'vim-airline/vim-airline-themes' +"Denite, like emacs 'Helm' app +" Plug 'Shougo/denite.nvim' -" Git integration -"Plug 'tpope/vim-fugitive' -"Plug 'airblade/vim-gitgutter' +"Search +" Plug 'ctrlpvim/ctrlp.vim' +" Plug 'vim-grepper' +" Plug 'vim-netranger' -" Linting +"Git integration +" Plug 'tpope/vim-fugitive' +" Plug 'airblade/vim-gitgutter' + +"Linting " Plug 'neomake/neomake' " Plug 'w0rp/ale' -" Syntax -"Plug 'sheerun/vim-polyglot' -"Plug 'matthewbdaly/vim-filetype-settings' -"Plug 'rhysd/vim-grammarous' "cmd :GrammarousCheck, req java +"Syntax +" Plug 'sheerun/vim-polyglot' +" Plug 'matthewbdaly/vim-filetype-settings' +" Plug 'rhysd/vim-grammarous' "cmd :GrammarousCheck, req java -" External languages +"External languages " Plug 'Vigemus/iron.nvim' " Plug 'bfredl/nvim-ipy' " Plug 'jalvesaq/Nvim-R' -"Plug 'python-mode/python-mode', { 'branch': 'develop' } +" Plug 'python-mode/python-mode', { 'branch': 'develop' } "latex -"Plug 'lervag/vimtex' -"Plug 'vim-pandoc' +" Plug 'lervag/vimtex' +" Plug 'vim-pandoc' -" Markdown -"Plug 'suan/vim-instant-markdown' " Markdown preview instant-markdown-d +"Markdown +" Plug 'vimwiki/vimwiki' +" Plug 'suan/vim-instant-markdown' " Markdown preview instant-markdown-d "next one uses a rust lib for fast async md, requires rust/cargo install -"Plug 'euclio/vim-markdown-composer' -"Plug 'aaren/notedown' +" Plug 'euclio/vim-markdown-composer' +" Plug 'aaren/notedown' "https://github.com/iamcco/markdown-preview.nvim -" if have nodejs and yarn, this is markdown-it js lib based +"if have nodejs and yarn, this is markdown-it js lib based " Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install' } call plug#end() @@ -103,6 +104,8 @@ filetype plugin indent on "let g:polyglot_disabled = ['markdown'] let g:markdown_fenced_languages = ['html','r', 'javascript', 'python', 'sh', 'bash=sh', 'css', 'js=javascript', 'json=javascript'] +"Tagbar config +nmap :TagbarToggle let g:tagbar_type_markdown = { \ 'ctagstype' : 'markdown', \ 'kinds' : [ @@ -132,6 +135,7 @@ let g:tagbar_type_bib = { \ ] \ } +"Python repl config let g:python_host_prog = '/usr/bin/python3' let g:loaded_python3_provider = 1 @@ -143,12 +147,12 @@ let g:loaded_python3_provider = 1 "xmap ,r (iron-send-motion) "nmap yR V,r - -" Neomake config +"Neomake config " Full config: when writing or reading a buffer, and on changes in insert and " normal mode (after 1s; no delay when writing). "call neomake#configure#automake('nrwi', 500) +"General vim config set tabstop=4 set shiftwidth=4 set expandtab @@ -156,41 +160,46 @@ set expandtab " set relativenumber " set hlsearch " set spell + +"Mouse/trackpad pointer config " set mouse=a "already set by defaults.vim set mouse=n " OR try set mouse=r mouse=& -" shortcuts for next or prev file like after vim *.py + +" Shortcuts for next or prev file like after vim *.py " :map v :n " :map V :N " or just use :n or :N followed by the dot . cmd! -" quick save from insert mode if any changes + + +"Quick save config +imap ;s :update imap jjw :update " vs and running code -imap jk `^ -":imap kj + +"Quick mode exit config " Two semicolons are easy to type. The `^ fixes the cursor position. -" imap ;; `^ +imap ;; `^ inoremap `^ -"imap ;; i -" Just press Space to enter insert mode. +" imap jk `^ +" Just press Space to enter insert mode while in normal mode. nmap i " On gvim and Linux console Vim, you can also use ctrl-Space. " :imap <> -"copy with ctrl-c in visual highlight mode +"Clipboard config +" copy with ctrl-c in visual highlight mode vmap "+y - "use system clipboard: Now yank y, delete d, or paste p work to/from system set clipboard=unnamedplus -"auto fix common sp errors +"Auto fix common spelling errors :ab teh the :ab Teh The :ab adn and :ab Adn And let mapleader = ',' -nmap :TagbarToggle if filereadable(expand("~/.vimrc_background")) let base16colorspace=256 @@ -204,21 +213,39 @@ augroup END set title -" latex settings -"let g:tex_flavor="latex" -"let g:Tex_DefaultTargetFormat =" pdf" -"let g:Tex_IgnoredWarnings ='' +"latex settings +" let g:tex_flavor="latex" +" let g:Tex_DefaultTargetFormat =" pdf" +" let g:Tex_IgnoredWarnings ='' -" make vimtex work with neovim -"let g:vimtex_compiler_progname='nvr' -"let g:vimtex_view_use_temp_files=2 -"let g:vimtex_view_method='zathura' -"let g:vimtex_quickfix_mode=0 " do not open the quickfix window automatically +"make vimtex work with neovim +" let g:vimtex_compiler_progname='nvr' +" let g:vimtex_view_use_temp_files=2 +" let g:vimtex_view_method='zathura' +" let g:vimtex_quickfix_mode=0 " do not open the quickfix window automatically -" Allow commenting and inverting empty lines (useful when commenting a region +"Allow commenting and inverting empty lines (useful when commenting a region let g:NERDCommentEmptyLines = 1 -" Add spaces after comment delimiters by default +"Add spaces after comment delimiters by default let g:NERDSpaceDelims = 1 -" Use compact syntax for prettified multi-line comments +"Use compact syntax for prettified multi-line comments let g:NERDCompactSexyComs = 1 +"gvim options +" if &t_Co > 2 || has("gui_running") +if has("gui_running") + " Switch on highlighting the last used search pattern. + set hlsearch + " Set font + set gfn=Inconsolata\ 13 + " Can toggle gui toolbar with `T` and menu with `m` in guioptions: + " default is go=aegimrLtT + set go=aegLt + ":set go+=m or go-=m to toggle menu + colorscheme base16-ocean + autocmd VimEnter * Goyo + autocmd VimEnter * Limelight0.8 + "Switch cursor blink rate to 0msec + set guicursor+=a:blinkon0 +endif +