diff options
| author | Chris <[email protected]> | 2020-05-10 13:29:31 -0400 | 
|---|---|---|
| committer | Chris <[email protected]> | 2020-05-10 13:29:31 -0400 | 
| commit | f491cba67223affa6fcbdf701d62c50afd994459 (patch) | |
| tree | 58caaaff26187b00349a1a54559342eb6466de0c | |
| parent | 481d63b57e524553e6cb2624288afb160e359db7 (diff) | |
which key basics
| -rw-r--r-- | coc-settings.json | 27 | ||||
| -rw-r--r-- | general/settings.vim | 2 | ||||
| -rw-r--r-- | init.vim | 8 | ||||
| -rw-r--r-- | keys/which-key.vim | 97 | ||||
| -rw-r--r-- | plug-config/coc.vim | 49 | ||||
| -rw-r--r-- | plug-config/fzf.vim | 10 | ||||
| -rw-r--r-- | plug-config/sneak.vim | 2 | ||||
| -rw-r--r-- | plug-config/start-screen.vim | 6 | ||||
| -rw-r--r-- | vim-plug/plugins.vim | 1 | 
9 files changed, 160 insertions, 42 deletions
| diff --git a/coc-settings.json b/coc-settings.json index 8599d4ca..edb93d0c 100644 --- a/coc-settings.json +++ b/coc-settings.json @@ -1,10 +1,31 @@  { + +  // suggestions +  // "suggest.echodocSupport": true, + +  // diagnostics +  "diagnostic.errorSign": "✗", +  "diagnostic.warningSign": "âš ", +  "diagnostic.infoSign": "ï„©", +  "diagnostic.hintSign": "ï‚ ", +  // "diagnostic.displayByAle": true, + +  // codelens TODO what does this get me? +  // "codeLens.enable": true, + +  // list +  "list.indicator": ">", +  "list.selectedSignText": " ", + +  // autoformat    "coc.preferences.formatOnSaveFiletypes": ["css", "markdown", "javascript", "graphql", "html", "yaml",  "json", "python"], +  "coc.preferences.hoverTarget": "float",    // python config    "python.linting.enabled": true,    "python.linting.pylintEnabled": true, +  // snippets    "snippets.ultisnips.directories":     [      "UltiSnips", @@ -15,8 +36,14 @@    "explorer.width": 30,    "explorer.icon.enableNerdfont": true,    "explorer.previewAction.onHover": false, +  "explorer.icon.enableVimDevicons": true,    "explorer.keyMappings": {      "<cr>": ["expandable?", "expand", "open"],      "v": "open:vsplit"    } + +  // TODO language servers +  // TODO g:coc_global_extensions +  // TODO b:coc_suggest_disable=1 GOYO +  // TODO add to paths.vim g:coc_node_path  } diff --git a/general/settings.vim b/general/settings.vim index c2f89897..be7e9acf 100644 --- a/general/settings.vim +++ b/general/settings.vim @@ -38,6 +38,8 @@ if !exists('g:vscode')    set formatoptions-=cro                  " Stop newline continution of comments    set clipboard=unnamedplus               " Copy paste between vim and everything else    set incsearch +  set guifont=Hack\ Nerd\ Font +  " let $NVIM_TUI_ENABLE_TRUE_COLOR=1    " set mmp=1300    " set autochdir                           " Your working directory will always be the same as your working directory    " set foldcolumn=2                        " Folding abilities @@ -22,7 +22,6 @@ else    source $HOME/.config/nvim/themes/syntax.vim    source $HOME/.config/nvim/themes/onedark.vim    source $HOME/.config/nvim/themes/airline.vim -  " source $HOME/.config/nvim/themes/eleline.vim    source $HOME/.config/nvim/plug-config/rnvimr.vim    source $HOME/.config/nvim/plug-config/fzf.vim    source $HOME/.config/nvim/plug-config/commentary.vim @@ -37,3 +36,10 @@ else    source $HOME/.config/nvim/plug-config/signify.vim    luafile $HOME/.config/nvim/lua/plug-colorizer.lua  endif + +let g:floaterm_wintype='normal' +let g:floaterm_height=6 +let g:floaterm_keymap_new    = '<F7>' +let g:floaterm_keymap_prev   = '<F8>' +let g:floaterm_keymap_next   = '<F9>' +let g:floaterm_keymap_toggle = '<F12>' diff --git a/keys/which-key.vim b/keys/which-key.vim index 2cf2e48e..d37592e4 100644 --- a/keys/which-key.vim +++ b/keys/which-key.vim @@ -2,15 +2,16 @@  " call which_key#register('<Space>', "g:which_key_map")  nnoremap <silent> <leader> :silent WhichKey ' '<CR> +vnoremap <silent> <leader> :silent WhichKeyVisual ' '<CR> + +let g:which_key_map =  {} +let g:which_key_sep = '→' +" set timeoutlen=100  " Not a fan of floating windows for this  let g:which_key_use_floating_win = 0 -" highlight default link WhichKey          Function -" highlight default link WhichKeySeperator DiffAdded -" highlight default link WhichKeyGroup     Keyword -" highlight default link WhichKeyDesc      Identifier - +" Change the colors if you want  highlight default link WhichKey          Operator  highlight default link WhichKeySeperator DiffAdded  highlight default link WhichKeyGroup     Identifier @@ -19,5 +20,89 @@ highlight default link WhichKeyDesc      Function  " Hide status line  autocmd! FileType which_key  autocmd  FileType which_key set laststatus=0 noshowmode noruler -  \| autocmd BufLeave <buffer> set laststatus=2 noshowmode ruler  +  \| autocmd BufLeave <buffer> set laststatus=2 noshowmode ruler + +" f is for find +let g:which_key_map.f = { +      \ 'name' : '+find' , +      \ '/' : [':History/'     , 'history'], +      \ ';' : [':Commands'     , 'commands'], +      \ 'a' : [':Ag'           , 'text Ag'], +      \ 'b' : [':BLines'       , 'current buffer'], +      \ 'B' : [':Buffers'      , 'open buffers'], +      \ 'c' : [':Commits'      , 'commits'], +      \ 'C' : [':BCommits'     , 'buffer commits'], +      \ 'f' : [':Files'        , 'files'], +      \ 'g' : [':GFiles'       , 'git files'], +      \ 'G' : [':GFiles?'      , 'modified git files'], +      \ 'h' : [':History'      , 'file history'], +      \ 'H' : [':History:'     , 'command history'], +      \ 'l' : [':Lines'        , 'lines'] , +      \ 'm' : [':Marks'        , 'marks'] , +      \ 'M' : [':Maps'         , 'normal maps'] , +      \ 'p' : [':Helptags'     , 'help tags'] , +      \ 'r' : [':Rg'           , 'text Rg'], +      \ 's' : [':Snippets'     , 'snippets'], +      \ 'S' : [':Colors'       , 'color schemes'], +      \ 't' : [':Tags'         , 'project tags'], +      \ 'T' : [':BTags'        , 'buffer tags'], +      \ 'w' : [':Windows'      , 'search windows'], +      \ 'y' : [':Filetypes'    , 'file types'], +      \ 'z' : [':FZF'          , 'FZF'], +      \ } +let g:fzf_buffers_jump = 1 + +" l is for language server protocol +let g:which_key_map.l = { +      \ 'name' : '+lsp' , +      \ '.' : [':CocConfig'                          , 'config'], +      \ ';' : ['<Plug>(coc-refactor)'                , 'refactor'], +      \ 'a' : ['<Plug>(coc-codeaction)'              , 'line action'], +      \ 'A' : ['<Plug>(coc-codeaction-selected)'     , 'selected action'], +      \ 'b' : [':CocNext'                            , 'next action'], +      \ 'B' : [':CocPrev'                            , 'prev action'], +      \ 'c' : [':CocList commands'                   , 'commands'], +      \ 'd' : ['<Plug>(coc-definition)'              , 'definition'], +      \ 'D' : ['<Plug>(coc-declaration)'             , 'declaration'], +      \ 'e' : [':CocList extensions'                 , 'extensions'], +      \ 'f' : ['<Plug>(coc-format-selected)'         , 'format selected'], +      \ 'F' : ['<Plug>(coc-format)'                  , 'format'], +      \ 'h' : ['<Plug>(coc-float-hide)'              , 'hide'], +      \ 'i' : ['<Plug>(coc-implementation)'          , 'implementation'], +      \ 'I' : [':CocList diagnostics'                , 'diagnostics'], +      \ 'j' : ['<Plug>(coc-float-jump)'              , 'float jump'], +      \ 'l' : ['<Plug>(coc-codelens-action)'         , 'code lens'], +      \ 'n' : ['<Plug>(coc-diagnostic-next)'         , 'next diagnostic'], +      \ 'N' : ['<Plug>(coc-diagnostic-next-error)'   , 'next error'], +      \ 'o' : ['<Plug>(coc-openlink)'                , 'open link'], +      \ 'O' : [':CocList outline'                    , 'outline'], +      \ 'p' : ['<Plug>(coc-diagnostic-prev)'         , 'prev diagnostic'], +      \ 'P' : ['<Plug>(coc-diagnostic-prev-error)'   , 'prev error'], +      \ 'q' : ['<Plug>(coc-fix-current)'             , 'quickfix'], +      \ 'r' : ['<Plug>(coc-rename)'                  , 'rename'], +      \ 'R' : ['<Plug>(coc-references)'              , 'references'], +      \ 's' : [':CocList -I symbols'                 , 'references'], +      \ 't' : ['<Plug>(coc-type-definition)'         , 'type definition'], +      \ 'u' : [':CocListResume'                      , 'resume list'], +      \ 'U' : [':CocUpdate'                          , 'update CoC'], +      \ 'z' : [':CocDisable'                         , 'disable CoC'], +      \ 'Z' : [':CocEnable'                          , 'enable CoC'], +      \ } + + +" t is for toggle +let g:which_key_map.t = { +      \ 'name' : '+toggle' , +      \ 'e' : [':CocCommand explorer'    , 'explorer'], +      \ 'n' : [':set nonumber!'          , 'line-numbers'], +      \ 'r' : [':set norelativenumber!'  , 'rel-line-numbers'], +      \ 's' : [':let @/ = ""'            , 'remove-search-highlight'], +      \ 'c' : [':ColorizerToggle'        , 'colorizer'], +      \ 't' : [':FloatermToggle'         , 'terminal'], +      \ } + + + + +call which_key#register('<Space>', "g:which_key_map") diff --git a/plug-config/coc.vim b/plug-config/coc.vim index babae7ed..428230d1 100644 --- a/plug-config/coc.vim +++ b/plug-config/coc.vim @@ -22,10 +22,6 @@ else    imap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"  endif -" Use `[g` and `]g` to navigate diagnostics -nmap <silent> [g <Plug>(coc-diagnostic-prev) -nmap <silent> ]g <Plug>(coc-diagnostic-next) -  " GoTo code navigation.  nmap <silent> gd <Plug>(coc-definition)  nmap <silent> gy <Plug>(coc-type-definition) @@ -49,10 +45,6 @@ autocmd CursorHold * silent call CocActionAsync('highlight')  " Symbol renaming.  nmap <leader>rn <Plug>(coc-rename) -" Formatting selected code. -xmap <leader>f  <Plug>(coc-format-selected) -nmap <leader>f  <Plug>(coc-format-selected) -  augroup mygroup    autocmd!    " Setup formatexpr specified filetype(s). @@ -63,13 +55,13 @@ augroup end  " Applying codeAction to the selected region.  " Example: `<leader>aap` for current paragraph -xmap <leader>a  <Plug>(coc-codeaction-selected) -nmap <leader>a  <Plug>(coc-codeaction-selected) +" xmap <leader>a  <Plug>(coc-codeaction-selected) +" nmap <leader>a  <Plug>(coc-codeaction-selected)  " Remap keys for applying codeAction to the current line. -nmap <leader>ac  <Plug>(coc-codeaction) +" nmap <leader>ac  <Plug>(coc-codeaction)  " Apply AutoFix to problem on the current line. -nmap <leader>qf  <Plug>(coc-fix-current) +" nmap <leader>qf  <Plug>(coc-fix-current)  " Introduce function text object  " NOTE: Requires 'textDocument.documentSymbol' support from the language server. @@ -100,21 +92,22 @@ set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}  " Mappings using CoCList:  " Show all diagnostics. -nnoremap <silent> <space>a  :<C-u>CocList diagnostics<cr> -" Manage extensions. -nnoremap <silent> <space>e  :<C-u>CocList extensions<cr> -" Show commands. -nnoremap <silent> <space>c  :<C-u>CocList commands<cr> -" Find symbol of current document. -nnoremap <silent> <space>o  :<C-u>CocList outline<cr> -" Search workspace symbols. -nnoremap <silent> <space>s  :<C-u>CocList -I symbols<cr> -" Do default action for next item. -nnoremap <silent> <space>j  :<C-u>CocNext<CR> -" Do default action for previous item. -nnoremap <silent> <space>k  :<C-u>CocPrev<CR> -" Resume latest coc list. -nnoremap <silent> <space>p  :<C-u>CocListResume<CR> +" TODO add these to which key +" nnoremap <silent> <space>a  :<C-u>CocList diagnostics<cr> +" " Manage extensions. +" nnoremap <silent> <space>e  :<C-u>CocList extensions<cr> +" " Show commands. +" nnoremap <silent> <space>c  :<C-u>CocList commands<cr> +" " Find symbol of current document. +" nnoremap <silent> <space>o  :<C-u>CocList outline<cr> +" " Search workspace symbols. +" nnoremap <silent> <space>s  :<C-u>CocList -I symbols<cr> +" " Do default action for next item. +" nnoremap <silent> <space>j  :<C-u>CocNext<CR> +" " Do default action for previous item. +" nnoremap <silent> <space>k  :<C-u>CocPrev<CR> +" " Resume latest coc list. +" nnoremap <silent> <space>p  :<C-u>CocListResume<CR>  " Explorer  let g:coc_explorer_global_presets = { @@ -137,5 +130,5 @@ let g:coc_explorer_global_presets = {  \ }  "nmap <silent> <space>e :CocCommand explorer<CR>  nnoremap <silent> <leader>e :CocCommand explorer<CR> -nmap <space>f :CocCommand explorer --preset floatingRightside<CR> +" nmap <space>f :CocCommand explorer --preset floatingRightside<CR>  autocmd BufEnter * if (winnr("$") == 1 && &filetype == 'coc-explorer') | q | endif diff --git a/plug-config/fzf.vim b/plug-config/fzf.vim index 0e95a46f..c7ad00a2 100644 --- a/plug-config/fzf.vim +++ b/plug-config/fzf.vim @@ -10,11 +10,11 @@ let g:fzf_action = {  " explicitly bind the keys to down and up in your $FZF_DEFAULT_OPTS.  let g:fzf_history_dir = '~/.local/share/fzf-history' -map <C-f> :Files<CR> -map <leader>b :Buffers<CR> -nnoremap <leader>g :Rg<CR> -nnoremap <leader>t :Tags<CR> -nnoremap <leader>m :Marks<CR> +" map <C-f> :Files<CR> +" map <leader>b :Buffers<CR> +" nnoremap <leader>g :Rg<CR> +" nnoremap <leader>t :Tags<CR> +" nnoremap <leader>m :Marks<CR>  let g:fzf_tags_command = 'ctags -R' diff --git a/plug-config/sneak.vim b/plug-config/sneak.vim index 29b57834..a879c6eb 100644 --- a/plug-config/sneak.vim +++ b/plug-config/sneak.vim @@ -15,7 +15,7 @@ highlight Sneak guifg=black guibg=#00C7DF ctermfg=black ctermbg=cyan  highlight SneakScope guifg=red guibg=yellow ctermfg=red ctermbg=yellow  " Cool prompt -let g:sneak#prompt = '🔎' +let g:sneak#prompt = '🔎 '  " I like quickscope better for this since it keeps me in the scope of a single line  " map f <Plug>Sneak_f diff --git a/plug-config/start-screen.vim b/plug-config/start-screen.vim index 8024fa16..2e926721 100644 --- a/plug-config/start-screen.vim +++ b/plug-config/start-screen.vim @@ -23,6 +23,12 @@ let g:startify_change_to_vcs_root = 1  let g:startify_fortune_use_unicode = 1  let g:startify_session_persistence = 1 +let g:webdevicons_enable_startify = 1 + +function! StartifyEntryFormat() +        return 'WebDevIconsGetFileTypeSymbol(absolute_path) ." ". entry_path' +    endfunction +  let g:startify_bookmarks = [              \ { 'c': '~/.config/i3/config' },              \ { 'i': '~/.config/nvim/init.vim' }, diff --git a/vim-plug/plugins.vim b/vim-plug/plugins.vim index f545c3d3..4dc00292 100644 --- a/vim-plug/plugins.vim +++ b/vim-plug/plugins.vim @@ -47,7 +47,6 @@ call plug#begin('~/.config/nvim/autoload/plugged')      " Intellisense      Plug 'neoclide/coc.nvim', {'branch': 'release'}      " Status Line -    " Plug 'ChristianChiarulli/eleline.vim'      Plug 'vim-airline/vim-airline'      Plug 'vim-airline/vim-airline-themes'      " Ranger | 
