diff options
| author | Christian Chiarulli <[email protected]> | 2019-02-16 11:44:35 -0500 | 
|---|---|---|
| committer | Christian Chiarulli <[email protected]> | 2019-02-16 11:44:35 -0500 | 
| commit | fa1be111d1224f9dad7c4c94ff3ab30f64894023 (patch) | |
| tree | 8f31624cbe76c8cc3789cfd48485b0d4bb6837c6 | |
| parent | 74c68a986fb9dcc6d43290de65d3361d8e63a8a1 (diff) | |
added new features goyo, sneak
| -rw-r--r-- | init.vim | 9 | ||||
| -rwxr-xr-x | install/install.sh | 59 | ||||
| -rw-r--r-- | install/utils/installer.sh (renamed from utils/installer.sh) | 0 | ||||
| -rw-r--r-- | modules/ale.vim | 2 | ||||
| -rw-r--r-- | modules/deoplete.vim | 6 | ||||
| -rw-r--r-- | modules/general.vim | 34 | ||||
| -rw-r--r-- | modules/goyo-limelight.vim | 39 | ||||
| -rw-r--r-- | modules/language_server.vim | 11 | ||||
| -rw-r--r-- | modules/nerdtree.vim | 26 | ||||
| -rw-r--r-- | modules/plugins.vim | 30 | ||||
| -rw-r--r-- | modules/pythonpath.vim | 2 | ||||
| -rw-r--r-- | modules/relativenums.vim | 11 | 
12 files changed, 198 insertions, 31 deletions
| @@ -11,8 +11,11 @@ source $HOME/.config/nvim/modules/gutentags_plus.vim  source $HOME/.config/nvim/modules/markdown-preview.vim  source $HOME/.config/nvim/modules/language_server.vim  source $HOME/.config/nvim/modules/ale.vim -"install ripgrep" +source $HOME/.config/nvim/modules/goyo-limelight.vim +source $HOME/.config/nvim/modules/relativenums.vim + + +"npm i -g bash-language-server +"install ripgrep" for gutentags to ignore .gitignore  "install universal ctags" -"pip install 'python-language-server[all]' -" pip install vim-vint  " TODO add this to script npm i -g bash-language-server diff --git a/install/install.sh b/install/install.sh new file mode 100755 index 00000000..ebd186b5 --- /dev/null +++ b/install/install.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +if [ "$(uname)" == "Darwin" ]; then +    echo 'MacOS Detected' +    echo "installing miniconda" +	wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -O ~/.config/nvim/install/miniconda.sh +    echo " Grabbing a font to use foe devicons " +    brew tap caskroom/fonts +    brew cask install font-hack-nerd-font +elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then +    echo 'Linux Detected' +	wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/.config/nvim/install/miniconda.sh +    mkdir -p ~/.local/share/fonts +    cd ~/.local/share/fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf +fi + +#chmod +x ~/.config/nvim/install/miniconda.sh + +sh ~/.config/nvim/install/miniconda.sh -b -f -p  $HOME/.miniconda + +echo 'export PATH="$HOME/.miniconda/bin:$PATH"' >> ~/.bash_profile + +. ~/.bash_profile + +conda create --name neovim python=3.7 --yes + +. activate neovim  + +pip install neovim + +. deactivate + +conda create --name pyls python=3.7 --yes + +. activate pyls + +pip install 'python-language-server[all]' +pip install vim-vint + +. deactivate + +pip install 'python-language-server[all]' + +if [ ! -f ~/.bash_aliases ]; then +    echo ".bash_aliases not found!" +    touch ~/.bash_aliases +    echo 'source ~/.bash_aliases' >> ~/.bashrc +fi + +echo 'alias mkenv="conda create --clone pyls --name"' >> ~/.bash_aliases + +echo 'let g:python3_host_prog = expand("~/.miniconda/envs/neovim/bin/python3.7")' > ~/.config/nvim/modules/pythonpath.vim      + +if [ ! -d ~/.config/nvim/dein ]; then +    echo "dein  package manager not found" +    sh ~/.config/nvim/install/utils/installer.sh ~/.config/nvim/dein +fi + +rm ~/.config/nvim/install/miniconda.sh diff --git a/utils/installer.sh b/install/utils/installer.sh index de8c093e..de8c093e 100644 --- a/utils/installer.sh +++ b/install/utils/installer.sh diff --git a/modules/ale.vim b/modules/ale.vim index 1dd151e5..d2834cbd 100644 --- a/modules/ale.vim +++ b/modules/ale.vim @@ -3,7 +3,7 @@ let g:ale_linters = {      \ 'cpp' : ['gcc'],      \ 'c' : ['gcc'],      \ 'vim' : ['vint'], -    \ 'python': ['pyls', 'pydocstyle', 'pycodestyle', 'vulture'], +    \ 'python': ['pydocstyle', 'pycodestyle', 'vulture'],      \ 'javascript': ['eslint']      \} diff --git a/modules/deoplete.vim b/modules/deoplete.vim index 0db16ded..663a780b 100644 --- a/modules/deoplete.vim +++ b/modules/deoplete.vim @@ -4,7 +4,11 @@ let g:deoplete#complete_method = "omnifunc"  let g:deoplete#auto_complete_delay = 0  " let g:deoplete#ignore_sources = ['buffer'] -" <TAB>: completion. +"better nav for omnicomplete +inoremap <expr> <c-j> ("\<C-n>") +inoremap <expr> <c-k> ("\<C-p>") + +"<TAB>: completion.  ""inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"  "use TAB as the mapping  inoremap <silent><expr> <TAB> diff --git a/modules/general.vim b/modules/general.vim index 0752298d..786152d2 100644 --- a/modules/general.vim +++ b/modules/general.vim @@ -10,6 +10,7 @@ nmap <space> \  xmap <space> \  syntax enable                           " Enables syntax highlighing +set hidden                              " Required for specific actions that require multiple buffers  set nowrap                              " display long lines as just one line  set encoding=utf-8                      " The encoding displayed   set fileencoding=utf-8                  " The encoding written to file @@ -58,25 +59,25 @@ nnoremap <silent> <F1> :10split term://bash<CR>  autocmd BufWinEnter,WinEnter term://* startinsert  autocmd BufLeave term://* stopinsert  " Toggle tagbar -nnoremap <silent> <F2> :TagbarToggle<CR> +"nnoremap <silent> <F2> :TagbarToggle<CR>  " Toggle Line numbers -nnoremap <silent> <F4> :set nonumber!<CR> +"nnoremap <silent> <F4> :set nonumber!<CR>  " Toggle NERDTree -nnoremap <silent> <F5> :NERDTreeToggle<CR> +"nnoremap <silent> <F5> :NERDTreeToggle<CR>  " Startify -nnoremap <silent> <F6> :Startify<CR> +"nnoremap <silent> <F6> :Startify<CR>  " Get rid of highlights after search -nnoremap <silent> <F7> :nohlsearch<CR><F7> +"nnoremap <silent> <F7> :nohlsearch<CR><F7>  " Toggle open buffers -nnoremap <silent> <F8> :BuffergatorToggle<CR> +" nnoremap <silent> <F8> :BuffergatorToggle<CR>  " For fuzzy finder  ""nnoremap <silent> <F9> :Files<CR>  " F10 split vertical -nnoremap <silent> <F9> :vsplit<CR> +"nnoremap <silent> <F9> :vsplit<CR>  " F11 split horizontal -nnoremap <silent> <F10> :split<CR> +"nnoremap <silent> <F10> :split<CR>  " Make current buffer only buffer -nnoremap <silent> <F12> :only<CR> +"nnoremap <silent> <F12> :only<CR>  " Remap window switch  " Switch to rename for LSP to do add leader  ""nnoremap <F4> :SearchTasks *<CR> @@ -84,12 +85,22 @@ nnoremap <silent> <F12> :only<CR>  nnoremap <silent> <leader>n :NERDTreeToggle<return>  nnoremap <silent> <leader>m :TagbarToggle<return>  nnoremap <silent> <leader>l :set nonumber!<return> +nnoremap <silent> <leader>o :only<return>  nnoremap <silent> <leader>s :Startify<return>  nnoremap <silent> <leader>w :w<return> -nnoremap <silent> <leader>b :<return>  nnoremap <silent> <leader>p :pclose<return> +nnoremap <silent> <leader>bu :BuffergatorToggle<return> +nnoremap <silent> <leader>gy :Goyo<return> +nnoremap <silent> <leader>hi :nohlsearch<return> +nnoremap <silent> <leader>hs :split<return> +nnoremap <silent> <leader>vs :vsplit<return> +nnoremap <silent> <leader>gh :call LanguageClient_textDocument_hover()<CR> +nnoremap <silent> <leader>gd :call LanguageClient_textDocument_definition()<CR> +nnoremap <silent> <leader>gr :call LanguageClient_textDocument_rename()<CR> +nnoremap <silent> <leader>gc :call LanguageClient_contextMenu()<CR> +nnoremap <silent> <leader>fr :call LanguageClient_textDocument_references()<CR> -" Split edit your vimrc. Type space, v, r in sequence to trigger +" This is a funtion to open any file with <leader>(key sequence)      fun! OpenConfigFile(file)        if (&filetype ==? 'startify')          execute 'e ' . a:file @@ -98,6 +109,7 @@ nnoremap <silent> <leader>p :pclose<return>        endif      endfun  nnoremap <silent> <leader>in :call OpenConfigFile('~/.config/nvim/init.vim')<cr> +nnoremap <silent> <leader>bashrc :call OpenConfigFile('~/.bashrc')<cr>  nnoremap <C-h> <C-w>h  nnoremap <C-j> <C-w>j diff --git a/modules/goyo-limelight.vim b/modules/goyo-limelight.vim new file mode 100644 index 00000000..5b46b129 --- /dev/null +++ b/modules/goyo-limelight.vim @@ -0,0 +1,39 @@ + +"Make window a little bigger" +" +let g:goyo_width=100 +let g:goy_height=95 +" +" +" Disable Deoplete " + +function! s:goyo_enter() +   +  call deoplete#custom#option('auto_complete', v:false) +  set spell spelllang=en_us +  set wrap +  set tw=100 +  set noshowcmd +  set scrolloff=999 +""  set background=light +""  colorscheme flattened_light +  Limelight +  " ... +endfunction + +function! s:goyo_leave() + +  call deoplete#custom#option('auto_complete', v:true) +  set nospell +  set wrap! +  set showcmd +  set scrolloff=5 +""  set background=dark +""  colorscheme Tender +  Limelight! +  " ... +endfunction + +autocmd! User GoyoEnter nested call <SID>goyo_enter() +autocmd! User GoyoLeave nested call <SID>goyo_leave() + diff --git a/modules/language_server.vim b/modules/language_server.vim index e9ac06c3..e96c45a7 100644 --- a/modules/language_server.vim +++ b/modules/language_server.vim @@ -9,8 +9,13 @@ let g:LanguageClient_serverCommands = {      \ 'javascript.jsx': ['tcp://127.0.0.1:2089'],      \ 'python': ['pyls'],       \ 'sh': ['bash-language-server', 'start'], +    \ 'c' : ['cquery'], +    \ 'cpp' : ['cquery'],      \ } -nnoremap <silent> K :call LanguageClient#textDocument_hover()<CR> -nnoremap <silent> gd :call LanguageClient#textDocument_definition()<CR> -nnoremap <silent> <F3> :call LanguageClient#textDocument_rename()<CR> +nnoremap <silent> <leader>gh :call LanguageClient_textDocument_hover()<CR> +nnoremap <silent> <leader>gd :call LanguageClient_textDocument_definition()<CR> +nnoremap <silent> <leader>gr :call LanguageClient_textDocument_rename()<CR> +nnoremap <silent> <leader>gc :call LanguageClient_contextMenu()<CR> +nnoremap <silent> <leader>fr :call LanguageClient_textDocument_references()<CR> + diff --git a/modules/nerdtree.vim b/modules/nerdtree.vim index e0ba7ea0..e445a189 100644 --- a/modules/nerdtree.vim +++ b/modules/nerdtree.vim @@ -1 +1,25 @@ -let NERDTreeShowHidden = 1 +let NERDTreeShowHidden = 1              " show hidden files + +" automatically close when you open a file" +"let NERDTreeQuitOnOpen = 1 + +" let nvim close when nerdtree is last thing" +autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif + + +" nerdtree will delete buffer of file " + + let NERDTreeAutoDeleteBuffer = 1 + +" if you need help press ? while in nerdtree " +""let NERDTreeMinimalUI = 1 +let NERDTreeDirArrows = 1 + + +"This depends on vim-nerdtree-syntax-highlight" +let g:NERDTreeFileExtensionHighlightFullName = 1 +let g:NERDTreeExactMatchHighlightFullName = 1 +let g:NERDTreePatternMatchHighlightFullName = 1 + +let g:NERDTreeHighlightFolders = 1 " enables folder icon highlighting using exact match +let g:NERDTreeHighlightFoldersFullName = 1 " highlights the folder name diff --git a/modules/plugins.vim b/modules/plugins.vim index 714c6f27..feaa9ed2 100644 --- a/modules/plugins.vim +++ b/modules/plugins.vim @@ -9,10 +9,13 @@ if dein#load_state('~/.config/nvim/dein')    call dein#begin('~/.config/nvim/dein') -  " Themes -  call dein#add('liuchengxu/space-vim-dark') -  call dein#add('joshdick/onedark.vim') -  call dein#add('morhetz/gruvbox') +  " All the Themes +  call dein#add('flazz/vim-colorschemes') +  "  call dein#add('liuchengxu/space-vim-dark') +  "  call dein#add('joshdick/onedark.vim') +  "  call dein#add('morhetz/gruvbox') +  "  Neoterm +  call dein#add('kassio/neoterm')    call dein#add('jacoborus/tender.vim')    " Better Syntax Support    call dein#add('sheerun/vim-polyglot') @@ -21,6 +24,9 @@ if dein#load_state('~/.config/nvim/dein')    call dein#add('vim-airline/vim-airline-themes')    " File manager    call dein#add('scrooloose/NERDTree') +  " Icons +  call dein#add('ryanoasis/vim-devicons') +  call dein#add('tiagofumo/vim-nerdtree-syntax-highlight')    " Start Screen    call dein#add('mhinz/vim-startify')    " For ctags @@ -43,16 +49,20 @@ if dein#load_state('~/.config/nvim/dein')    " Fuzzy finder    call dein#add('junegunn/fzf.vim',  { 'dir': '~/.fzf', 'do': './install --all' })    call dein#add('junegunn/fzf') - - -  "Git +  " Sneak mode " +  call dein#add('justinmk/vim-sneak') +  ""Git    call dein#add('airblade/vim-gitgutter')    call dein#add('tpope/vim-fugitive')    " BufOnly use :BufOnly to unload all or pass it a single buffer    call dein#add('vim-scripts/BufOnly.vim') -  " Markdown viewer TODO Fix this stupid thing -  "call dein#add('iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install'  }) - +  " Distraction free writing " +  call dein#add('junegunn/goyo.vim') +  call dein#add('junegunn/limelight.vim') +  "Markdown viewer TODO Fix this stupid thing +  call dein#add('iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install'  }) +""  call dein#add('iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }}) +""  call dein#add('euclio/vim-markdown-composer')    call dein#add('~/.config/nvim/dein/repos/github.com/Shougo/dein.vim')    call dein#add('Shougo/deoplete.nvim', {'do': 'UpdateRemotePlugins'})    call dein#add('Shougo/neoinclude.vim') diff --git a/modules/pythonpath.vim b/modules/pythonpath.vim index b0607962..676078bc 100644 --- a/modules/pythonpath.vim +++ b/modules/pythonpath.vim @@ -1 +1 @@ -let g:python3_host_prog = expand('~/Miniconda/envs/neovim/bin/python3.7') +let g:python3_host_prog = expand("~/.miniconda/envs/neovim/bin/python3.7") diff --git a/modules/relativenums.vim b/modules/relativenums.vim new file mode 100644 index 00000000..6451203f --- /dev/null +++ b/modules/relativenums.vim @@ -0,0 +1,11 @@ +function! NumberToggle() +  if(&relativenumber == 1) +    set number +    set norelativenumber +  else +    set number +    set relativenumber +  endif +endfunc + +nnoremap <leader>rn :call NumberToggle()<cr> | 
