diff options
| -rw-r--r-- | init.vim | 81 | ||||
| -rw-r--r-- | keys/mappings.vim | 118 | ||||
| -rw-r--r-- | plug-config/easymotion.vim | 22 | ||||
| -rw-r--r-- | utils/vscode_config/keybindings.json | 129 | ||||
| -rw-r--r-- | utils/vscode_config/settings.json | 633 | ||||
| -rw-r--r-- | vim-plug/plugins.vim | 258 | ||||
| -rw-r--r-- | vscode/windows.vim | 76 | 
7 files changed, 1090 insertions, 227 deletions
| @@ -10,47 +10,54 @@ source $HOME/.config/nvim/vim-plug/plugins.vim  source $HOME/.config/nvim/general/settings.vim  source $HOME/.config/nvim/general/functions.vim  source $HOME/.config/nvim/keys/mappings.vim -source $HOME/.config/nvim/keys/which-key.vim -" Themes -source $HOME/.config/nvim/themes/syntax.vim -source $HOME/.config/nvim/themes/onedark.vim -source $HOME/.config/nvim/themes/airline.vim - -" Plugin Configuration -source $HOME/.config/nvim/plug-config/rnvimr.vim -source $HOME/.config/nvim/plug-config/better-whitespace.vim -source $HOME/.config/nvim/plug-config/fzf.vim  source $HOME/.config/nvim/plug-config/vim-commentary.vim -source $HOME/.config/nvim/plug-config/rainbow.vim -source $HOME/.config/nvim/plug-config/codi.vim -source $HOME/.config/nvim/plug-config/quickscope.vim -source $HOME/.config/nvim/plug-config/vim-wiki.vim -source $HOME/.config/nvim/plug-config/sneak.vim -source $HOME/.config/nvim/plug-config/coc.vim -source $HOME/.config/nvim/plug-config/goyo.vim -source $HOME/.config/nvim/plug-config/vim-rooter.vim -source $HOME/.config/nvim/plug-config/start-screen.vim -source $HOME/.config/nvim/plug-config/gitgutter.vim -source $HOME/.config/nvim/plug-config/git-messenger.vim -source $HOME/.config/nvim/plug-config/closetags.vim -source $HOME/.config/nvim/plug-config/floaterm.vim -source $HOME/.config/nvim/plug-config/vista.vim -source $HOME/.config/nvim/plug-config/xtabline.vim -source $HOME/.config/nvim/plug-config/polyglot.vim -source $HOME/.config/nvim/plug-config/far.vim -source $HOME/.config/nvim/plug-config/tagalong.vim -source $HOME/.config/nvim/plug-config/illuminate.vim -source $HOME/.config/nvim/plug-config/bracey.vim -source $HOME/.config/nvim/plug-config/asynctask.vim -source $HOME/.config/nvim/plug-config/window-swap.vim -source $HOME/.config/nvim/plug-config/markdown-preview.vim -" source $HOME/.config/nvim/plug-config/vimspector.vim " Uncomment if you want to use Vimspector -" source $HOME/.config/nvim/plug-config/ale.vim -luafile $HOME/.config/nvim/lua/plug-colorizer.lua + +if exists('g:vscode') +  " VS Code extension +  source $HOME/.config/nvim/vscode/windows.vim +  source $HOME/.config/nvim/plug-config/easymotion.vim +else + +  " Themes +  source $HOME/.config/nvim/themes/syntax.vim +  source $HOME/.config/nvim/themes/onedark.vim +  source $HOME/.config/nvim/themes/airline.vim + +  " Plugin Configuration +  source $HOME/.config/nvim/keys/which-key.vim +  source $HOME/.config/nvim/plug-config/rnvimr.vim +  source $HOME/.config/nvim/plug-config/better-whitespace.vim +  source $HOME/.config/nvim/plug-config/fzf.vim +  source $HOME/.config/nvim/plug-config/rainbow.vim +  source $HOME/.config/nvim/plug-config/codi.vim +  source $HOME/.config/nvim/plug-config/quickscope.vim +  source $HOME/.config/nvim/plug-config/vim-wiki.vim +  source $HOME/.config/nvim/plug-config/sneak.vim +  source $HOME/.config/nvim/plug-config/coc.vim +  source $HOME/.config/nvim/plug-config/goyo.vim +  source $HOME/.config/nvim/plug-config/vim-rooter.vim +  source $HOME/.config/nvim/plug-config/start-screen.vim +  source $HOME/.config/nvim/plug-config/gitgutter.vim +  source $HOME/.config/nvim/plug-config/git-messenger.vim +  source $HOME/.config/nvim/plug-config/closetags.vim +  source $HOME/.config/nvim/plug-config/floaterm.vim +  source $HOME/.config/nvim/plug-config/vista.vim +  source $HOME/.config/nvim/plug-config/xtabline.vim +  source $HOME/.config/nvim/plug-config/polyglot.vim +  source $HOME/.config/nvim/plug-config/far.vim +  source $HOME/.config/nvim/plug-config/tagalong.vim +  source $HOME/.config/nvim/plug-config/illuminate.vim +  source $HOME/.config/nvim/plug-config/bracey.vim +  source $HOME/.config/nvim/plug-config/asynctask.vim +  source $HOME/.config/nvim/plug-config/window-swap.vim +  source $HOME/.config/nvim/plug-config/markdown-preview.vim +  " source $HOME/.config/nvim/plug-config/vimspector.vim " Uncomment if you want to use Vimspector +  " source $HOME/.config/nvim/plug-config/ale.vim +  luafile $HOME/.config/nvim/lua/plug-colorizer.lua +endif  " Add paths to node and python here  if !empty(glob("~/.config/nvim/paths.vim"))    source $HOME/.config/nvim/paths.vim  endif - diff --git a/keys/mappings.vim b/keys/mappings.vim index 0ae118d0..c7d21d4c 100644 --- a/keys/mappings.vim +++ b/keys/mappings.vim @@ -13,58 +13,68 @@ nnoremap <Space> <Nop>  vnoremap < <gv  vnoremap > >gv -" Better nav for omnicomplete -inoremap <expr> <c-j> ("\<C-n>") -inoremap <expr> <c-k> ("\<C-p>") - -" I hate escape more than anything else -inoremap jk <Esc> -inoremap kj <Esc> - -" Easy CAPS -" inoremap <c-u> <ESC>viwUi -" nnoremap <c-u> viwU<Esc> - -" TAB in general mode will move to text buffer -nnoremap <silent> <TAB> :bnext<CR> -" SHIFT-TAB will go back -nnoremap <silent> <S-TAB> :bprevious<CR> - -" Move selected line / block of text in visual mode -" shift + k to move up -" shift + j to move down -xnoremap K :move '<-2<CR>gv-gv -xnoremap J :move '>+1<CR>gv-gv - -" Alternate way to save -nnoremap <silent> <C-s> :w<CR> -" Alternate way to quit -nnoremap <silent> <C-Q> :wq!<CR> -" Use control-c instead of escape -nnoremap <silent> <C-c> <Esc> -" <TAB>: completion. -inoremap <silent> <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" - -" Better window navigation -nnoremap <C-h> <C-w>h -nnoremap <C-j> <C-w>j -nnoremap <C-k> <C-w>k -nnoremap <C-l> <C-w>l - -" Terminal window navigation -tnoremap <C-h> <C-\><C-N><C-w>h -tnoremap <C-j> <C-\><C-N><C-w>j -tnoremap <C-k> <C-\><C-N><C-w>k -tnoremap <C-l> <C-\><C-N><C-w>l -inoremap <C-h> <C-\><C-N><C-w>h -inoremap <C-j> <C-\><C-N><C-w>j -inoremap <C-k> <C-\><C-N><C-w>k -inoremap <C-l> <C-\><C-N><C-w>l -tnoremap <Esc> <C-\><C-n> - -" Use alt + hjkl to resize windows -nnoremap <silent> <M-j>    :resize -2<CR> -nnoremap <silent> <M-k>    :resize +2<CR> -nnoremap <silent> <M-h>    :vertical resize -2<CR> -nnoremap <silent> <M-l>    :vertical resize +2<CR> +if exists('g:vscode') + +  " Simulate same TAB behavior in VSCode +  nmap <Tab> :Tabnext<CR> +  nmap <S-Tab> :Tabprev<CR> + +else + +  " Better nav for omnicomplete +  inoremap <expr> <c-j> ("\<C-n>") +  inoremap <expr> <c-k> ("\<C-p>") + +  " I hate escape more than anything else +  inoremap jk <Esc> +  inoremap kj <Esc> + +  " Easy CAPS +  " inoremap <c-u> <ESC>viwUi +  " nnoremap <c-u> viwU<Esc> + +  " TAB in general mode will move to text buffer +  nnoremap <silent> <TAB> :bnext<CR> +  " SHIFT-TAB will go back +  nnoremap <silent> <S-TAB> :bprevious<CR> + +  " Move selected line / block of text in visual mode +  " shift + k to move up +  " shift + j to move down +  xnoremap K :move '<-2<CR>gv-gv +  xnoremap J :move '>+1<CR>gv-gv + +  " Alternate way to save +  nnoremap <silent> <C-s> :w<CR> +  " Alternate way to quit +  nnoremap <silent> <C-Q> :wq!<CR> +  " Use control-c instead of escape +  nnoremap <silent> <C-c> <Esc> +  " <TAB>: completion. +  inoremap <silent> <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" + +  " Better window navigation +  nnoremap <C-h> <C-w>h +  nnoremap <C-j> <C-w>j +  nnoremap <C-k> <C-w>k +  nnoremap <C-l> <C-w>l + +  " Terminal window navigation +  tnoremap <C-h> <C-\><C-N><C-w>h +  tnoremap <C-j> <C-\><C-N><C-w>j +  tnoremap <C-k> <C-\><C-N><C-w>k +  tnoremap <C-l> <C-\><C-N><C-w>l +  inoremap <C-h> <C-\><C-N><C-w>h +  inoremap <C-j> <C-\><C-N><C-w>j +  inoremap <C-k> <C-\><C-N><C-w>k +  inoremap <C-l> <C-\><C-N><C-w>l +  tnoremap <Esc> <C-\><C-n> + +  " Use alt + hjkl to resize windows +  nnoremap <silent> <M-j>    :resize -2<CR> +  nnoremap <silent> <M-k>    :resize +2<CR> +  nnoremap <silent> <M-h>    :vertical resize -2<CR> +  nnoremap <silent> <M-l>    :vertical resize +2<CR> + +endif diff --git a/plug-config/easymotion.vim b/plug-config/easymotion.vim index 0a94ea7f..49a0e262 100644 --- a/plug-config/easymotion.vim +++ b/plug-config/easymotion.vim @@ -19,21 +19,21 @@ nmap s <Plug>(easymotion-overwin-f2)  " nmap S <Plug>(easymotion-overwin-t)  " Move to line -map <Leader>l <Plug>(easymotion-bd-jk) -nmap <Leader>l <Plug>(easymotion-overwin-line) +" map <Leader>l <Plug>(easymotion-bd-jk) +" nmap <Leader>l <Plug>(easymotion-overwin-line) -" Move to word -map  <Leader>w <Plug>(easymotion-bd-w) -nmap <Leader>w <Plug>(easymotion-overwin-w) +" " Move to word +" map  <Leader>w <Plug>(easymotion-bd-w) +" nmap <Leader>w <Plug>(easymotion-overwin-w) -hi link EasyMotionTarget ErrorMsg -hi link EasyMotionShade  Comment +" hi link EasyMotionTarget ErrorMsg +" hi link EasyMotionShade  Comment -hi link EasyMotionTarget2First MatchParen -hi link EasyMotionTarget2Second MatchParen +" hi link EasyMotionTarget2First MatchParen +" hi link EasyMotionTarget2Second MatchParen -hi link EasyMotionMoveHL Search -hi link EasyMotionIncSearch Search +" hi link EasyMotionMoveHL Search +" hi link EasyMotionIncSearch Search  "Lower case finds upper & lower case but upper case only finds upper case  let g:EasyMotion_smartcase = 1 diff --git a/utils/vscode_config/keybindings.json b/utils/vscode_config/keybindings.json new file mode 100644 index 00000000..9ba07de6 --- /dev/null +++ b/utils/vscode_config/keybindings.json @@ -0,0 +1,129 @@ +// Place your key bindings in this file to override the defaultsauto[] +[ +  { +    "key": "shift+cmd+e", +    "command": "actions.findWithSelection" +  }, +  { +    "key": "cmd+e", +    "command": "-actions.findWithSelection" +  }, +  { +    "key": "cmd+e", +    "command": "workbench.view.explorer" +  }, +  { +    "key": "shift+cmd+e", +    "command": "-workbench.view.explorer" +  }, +  { +    "key": "r", +    "command": "renameFile", +    "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" +  }, +  { +    "key": "enter", +    "command": "-renameFile", +    "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" +  }, +  { +    "key": "j", +    "command": "list.focusDown", +    "when": "listFocus" +  }, +  { +    "key": "k", +    "command": "list.focusUp", +    "when": "listFocus" +  }, +  { +    "key": "ctrl+j", +    "command": "selectNextSuggestion", +    "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible" +  }, +  { +    "key": "ctrl+k", +    "command": "selectPrevSuggestion", +    "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible" +  }, +  { +    "key": "ctrl+j", +    "command": "workbench.action.quickOpenNavigateNext", +    "when": "inQuickOpen" +  }, +  { +    "key": "tab", +    "command": "selectNextSuggestion", +    "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible" +  }, +  { +    "key": "tab", +    "command": "workbench.action.quickOpenNavigateNext", +    "when": "inQuickOpen" +  }, +  { +    "key": "shit+tab", +    "command": "selectPrevSuggestion", +    "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible" +  }, +  { +    "key": "shift+tab", +    "command": "workbench.action.quickOpenNavigatePrevious", +    "when": "inQuickOpen" +  }, +  { +    "key": "ctrl+k", +    "command": "workbench.action.quickOpenNavigatePrevious", +    "when": "inQuickOpen" +  }, +  { +    "key": "enter", +    "command": "list.select", +    "when": "explorerViewletVisible && filesExplorerFocus" +  }, +  { +    "key": "l", +    "command": "list.select", +    "when": "explorerViewletVisible && filesExplorerFocus" +  }, +  { +    "key": "o", +    "command": "list.toggleExpand", +    "when": "listFocus" +  }, +  { +    "key": "h", +    "command": "list.collapse", +    "when": "listFocus" +  }, +  { +    "key": "a", +    "command": "explorer.newFile", +    "when": "filesExplorerFocus && !inputFocus" +  }, +  { +    "key": "shift+a", +    "command": "explorer.newFolder", +    "when": "filesExplorerFocus && !inputFocus" +  }, +  { +    "key": "shift+;", +    "command": "insertPrevSuggestion", +    "when": "hasOtherSuggestions && textInputFocus && textInputFocus && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion == 'on'" +  }, +  { +    "key": "ctrl+l", +    "when": "sideBarFocus", +    "command": "workbench.action.focusActiveEditorGroup" +  }, +  { +    "key": "ctrl+k", +    "command": "workbench.action.focusActiveEditorGroup", +    "when": "terminalFocus" +  }, +  { +    "key": "ctrl+j", +    "command": "workbench.action.terminal.focus", +    "when": "!terminalFocus" +  } +] diff --git a/utils/vscode_config/settings.json b/utils/vscode_config/settings.json new file mode 100644 index 00000000..2e199720 --- /dev/null +++ b/utils/vscode_config/settings.json @@ -0,0 +1,633 @@ +{ +  "vscode-neovim.neovimExecutablePaths.darwin": "/usr/local/bin/nvim", +  "vscode-neovim.neovimExecutablePaths.linux": "/usr/bin/nvim", +  "vscode-neovim.neovimInitVimPaths.darwin": "$HOME/.config/nvim/init.vim", +  "vscode-neovim.neovimInitVimPaths.linux": "$HOME/.config/nvim/init.vim", +  "whichkey.sortOrder": "alphabetically", +  "whichkey.bindings": [ +    { +      "key": "/", +      "name": "comment", +      "type": "command", +      "command": "vscode-neovim.send", +      "args": "<C-/>" +    }, +    { +      "key": "b", +      "name": "Buffers/Editors...", +      "type": "bindings", +      "bindings": [ +        { +          "key": "b", +          "name": "Show all buffers/editors", +          "type": "command", +          "command": "workbench.action.showAllEditors" +        }, +        { +          "key": "d", +          "name": "Close active editor", +          "type": "command", +          "command": "workbench.action.closeActiveEditor" +        }, +        { +          "key": "h", +          "name": "Move editor into left group", +          "type": "command", +          "command": "workbench.action.moveEditorToLeftGroup" +        }, +        { +          "key": "j", +          "name": "Move editor into below group", +          "type": "command", +          "command": "workbench.action.moveEditorToBelowGroup" +        }, +        { +          "key": "k", +          "name": "Move editor into above group", +          "type": "command", +          "command": "workbench.action.moveEditorToAboveGroup" +        }, +        { +          "key": "l", +          "name": "Move editor into right group", +          "type": "command", +          "command": "workbench.action.moveEditorToRightGroup" +        }, +        { +          "key": "m", +          "name": "Close other editors", +          "type": "command", +          "command": "workbench.action.closeOtherEditors" +        }, +        { +          "key": "n", +          "name": "Next editor", +          "type": "command", +          "command": "workbench.action.nextEditor" +        }, +        { +          "key": "p", +          "name": "Previous editor", +          "type": "command", +          "command": "workbench.action.previousEditor" +        }, +        { +          "key": "N", +          "name": "New untitled editor", +          "type": "command", +          "command": "workbench.action.files.newUntitledFile" +        }, +        { +          "key": "u", +          "name": "Reopen closed editor", +          "type": "command", +          "command": "workbench.action.reopenClosedEditor" +        }, +        { +          "key": "y", +          "name": "Copy buffer to clipboard", +          "type": "commands", +          "commands": [ +            "editor.action.selectAll", +            "editor.action.clipboardCopyAction", +            "cancelSelection" +          ] +        } +      ] +    }, +    { +      "key": "d", +      "name": "Debug...", +      "type": "bindings", +      "bindings": [ +        { +          "key": "d", +          "name": "Start debug", +          "type": "command", +          "command": "workbench.action.debug.start" +        }, +        { +          "key": "S", +          "name": "Stop debug", +          "type": "command", +          "command": "workbench.action.debug.stop" +        }, +        { +          "key": "c", +          "name": "Continue debug", +          "type": "command", +          "command": "workbench.action.debug.continue" +        }, +        { +          "key": "p", +          "name": "Pause debug", +          "type": "command", +          "command": "workbench.action.debug.pause" +        }, +        { +          "key": "r", +          "name": "Run without debugging", +          "type": "command", +          "command": "workbench.action.debug.run" +        }, +        { +          "key": "R", +          "name": "Restart debug", +          "type": "command", +          "command": "workbench.action.debug.restart" +        }, +        { +          "key": "i", +          "name": "Step into", +          "type": "command", +          "command": "workbench.action.debug.stepInto" +        }, +        { +          "key": "s", +          "name": "Step over", +          "type": "command", +          "command": "workbench.action.debug.stepOver" +        }, +        { +          "key": "o", +          "name": "Step out", +          "type": "command", +          "command": "workbench.action.debug.stepOut" +        }, +        { +          "key": "b", +          "name": "Toggle breakpoint", +          "type": "command", +          "command": "editor.debug.action.toggleBreakpoint" +        }, +        { +          "key": "B", +          "name": "Toggle inline breakpoint", +          "type": "command", +          "command": "editor.debug.action.toggleInlineBreakpoint" +        }, +        { +          "key": "j", +          "name": "Jump to cursor", +          "type": "command", +          "command": "debug.jumpToCursor" +        }, +        { +          "key": "v", +          "name": "REPL", +          "type": "command", +          "command": "workbench.debug.action.toggleRepl" +        }, +        { +          "key": "w", +          "name": "Focus on watch window", +          "type": "command", +          "command": "workbench.debug.action.focusWatchView" +        }, +        { +          "key": "W", +          "name": "Add to watch", +          "type": "command", +          "command": "editor.debug.action.selectionToWatch" +        } +      ] +    }, +    { +      "key": "e", +      "name": "Toggle Explorer", +      "type": "command", +      "command": "workbench.action.toggleSidebarVisibility" +    }, +    { +      "key": "g", +      "name": "Git...", +      "type": "bindings", +      "bindings": [ +        { +          "key": "b", +          "name": "Checkout", +          "type": "command", +          "command": "git.checkout" +        }, +        { +          "key": "c", +          "name": "Commit", +          "type": "command", +          "command": "git.commit" +        }, +        { +          "key": "d", +          "name": "Delete Branch", +          "type": "command", +          "command": "git.deleteBranch" +        }, +        { +          "key": "f", +          "name": "Fetch", +          "type": "command", +          "command": "git.fetch" +        }, +        { +          "key": "i", +          "name": "Init", +          "type": "command", +          "command": "git.init" +        }, +        { +          "key": "m", +          "name": "Merge", +          "type": "command", +          "command": "git.merge" +        }, +        { +          "key": "p", +          "name": "Publish", +          "type": "command", +          "command": "git.publish" +        }, +        { +          "key": "s", +          "name": "Stash", +          "type": "command", +          "command": "workbench.view.scm" +        }, +        { +          "key": "S", +          "name": "Stage", +          "type": "command", +          "command": "git.stage" +        }, +        { +          "key": "U", +          "name": "Unstage", +          "type": "command", +          "command": "git.unstage" +        } +      ] +    }, +    { +      "key": "h", +      "name": "Split Horizontal", +      "type": "command", +      "command": "workbench.action.splitEditorDown" +    }, +    { +      "key": "i", +      "name": "Insert...", +      "type": "bindings", +      "bindings": [ +        { +          "key": "j", +          "name": "Insert line below", +          "type": "command", +          "command": "editor.action.insertLineAfter" +        }, +        { +          "key": "k", +          "name": "Insert line above", +          "type": "command", +          "command": "editor.action.insertLineBefore" +        }, +        { +          "key": "s", +          "name": "Insert snippet", +          "type": "command", +          "command": "editor.action.insertSnippet" +        } +      ] +    }, +    { +      "key": "s", +      "name": "Search...", +      "type": "bindings", +      "bindings": [ +        { +          "key": "e", +          "name": "Edit symbol", +          "type": "command", +          "command": "editor.action.rename" +        }, +        { +          "key": "h", +          "name": "Highlight symbol", +          "type": "transient", +          "command": "editor.action.wordHighlight.trigger", +          "bindings": [ +            { +              "key": "p", +              "name": "Previous occurrence", +              "type": "command", +              "command": "editor.action.wordHighlight.prev" +            }, +            { +              "key": "N", +              "name": "Previous occurrence", +              "type": "command", +              "command": "editor.action.wordHighlight.prev" +            }, +            { +              "key": "n", +              "name": "Next occurrence", +              "type": "command", +              "command": "editor.action.wordHighlight.next" +            }, +            { +              "key": "/", +              "name": "Search in a project with a selection", +              "type": "commands", +              "commands": [ +                "editor.action.addSelectionToNextFindMatch", +                "workbench.action.findInFiles" +              ] +            } +          ] +        }, +        { +          "key": "j", +          "name": "Jump to symbol in file", +          "type": "command", +          "command": "workbench.action.gotoSymbol" +        }, +        { +          "key": "J", +          "name": "Jump to symbol in workspace", +          "type": "command", +          "command": "workbench.action.showAllSymbols" +        }, +        { +          "key": "p", +          "name": "Search in a project", +          "type": "command", +          "command": "workbench.action.findInFiles" +        }, +        { +          "key": "P", +          "name": "Search in a project with a selection", +          "type": "commands", +          "commands": [ +            "editor.action.addSelectionToNextFindMatch", +            "workbench.action.findInFiles" +          ] +        }, +        { +          "key": "r", +          "name": "Search all references", +          "type": "command", +          "command": "editor.action.referenceSearch.trigger" +        }, +        { +          "key": "R", +          "name": "Search all references in side bar", +          "type": "command", +          "command": "references-view.find" +        }, +        { +          "key": "s", +          "name": "Search in current file", +          "type": "command", +          "command": "actions.find" +        } +      ] +    }, +    { +      "key": "S", +      "name": "Show...", +      "type": "bindings", +      "bindings": [ +        { +          "key": "e", +          "name": "Show explorer", +          "type": "command", +          "command": "workbench.view.explorer" +        }, +        { +          "key": "s", +          "name": "Show search", +          "type": "command", +          "command": "workbench.view.search" +        }, +        { +          "key": "g", +          "name": "Show source control", +          "type": "command", +          "command": "workbench.view.scm" +        }, +        { +          "key": "t", +          "name": "Show test", +          "type": "command", +          "command": "workbench.view.extension.test" +        }, +        { +          "key": "r", +          "name": "Show remote explorer", +          "type": "command", +          "command": "workbench.view.remote" +        }, +        { +          "key": "x", +          "name": "Show extensions", +          "type": "command", +          "command": "workbench.view.extensions" +        }, +        { +          "key": "p", +          "name": "Show problem", +          "type": "command", +          "command": "workbench.actions.view.problems" +        }, +        { +          "key": "o", +          "name": "Show output", +          "type": "command", +          "command": "workbench.action.output.toggleOutput" +        }, +        { +          "key": "d", +          "name": "Show debug console", +          "type": "command", +          "command": "workbench.debug.action.toggleRepl" +        } +      ] +    }, +    { +      "key": "t", +      "name": "Terminal...", +      "type": "bindings", +      "bindings": [ +        { +          "key": "t", +          "name": "Toggle Terminal", +          "type": "command", +          "command": "workbench.action.togglePanel" +        } +      ] +    }, +    { +      "key": "T", +      "name": "UI toggles...", +      "type": "bindings", +      "bindings": [ +        { +          "key": "b", +          "name": "Toggle side bar visibility", +          "type": "command", +          "command": "workbench.action.toggleSidebarVisibility" +        }, +        { +          "key": "j", +          "name": "Toggle panel visibility", +          "type": "command", +          "command": "workbench.action.togglePanel" +        }, +        { +          "key": "F", +          "name": "Toggle full screen", +          "type": "command", +          "command": "workbench.action.toggleFullScreen" +        }, +        { +          "key": "s", +          "name": "Select theme", +          "type": "command", +          "command": "workbench.action.selectTheme" +        }, +        { +          "key": "m", +          "name": "Toggle maximized panel", +          "type": "command", +          "command": "workbench.action.toggleMaximizedPanel" +        }, +        { +          "key": "t", +          "name": "Toggle tool/activity bar visibility", +          "type": "command", +          "command": "workbench.action.toggleActivityBarVisibility" +        }, +        { +          "key": "T", +          "name": "Toggle tab visibility", +          "type": "command", +          "command": "workbench.action.toggleTabsVisibility" +        } +      ] +    }, +    { +      "key": "v", +      "name": "Split Vertical", +      "type": "command", +      "command": "workbench.action.splitEditor" +    }, +    { +      "key": "w", +      "name": "Window...", +      "type": "bindings", +      "bindings": [ +        { +          "key": "W", +          "name": "Focus previous editor group", +          "type": "command", +          "command": "workbench.action.focusPreviousGroup" +        }, +        { +          "key": "h", +          "name": "Move editor group left", +          "type": "command", +          "command": "workbench.action.moveActiveEditorGroupLeft" +        }, +        { +          "key": "j", +          "name": "Move editor group down", +          "type": "command", +          "command": "workbench.action.moveActiveEditorGroupDown" +        }, +        { +          "key": "k", +          "name": "Move editor group up", +          "type": "command", +          "command": "workbench.action.moveActiveEditorGroupUp" +        }, +        { +          "key": "l", +          "name": "Move editor group right", +          "type": "command", +          "command": "workbench.action.moveActiveEditorGroupRight" +        }, +        { +          "key": "t", +          "name": "Toggle editor group sizes", +          "type": "command", +          "command": "workbench.action.toggleEditorWidths" +        }, +        { +          "key": "m", +          "name": "Maximize editor group", +          "type": "command", +          "command": "workbench.action.minimizeOtherEditors" +        }, +        { +          "key": "M", +          "name": "Maximize editor group and hide side bar", +          "type": "command", +          "command": "workbench.action.maximizeEditor" +        }, +        { +          "key": "=", +          "name": "Reset editor group sizes", +          "type": "command", +          "command": "workbench.action.evenEditorWidths" +        }, +        { +          "key": "z", +          "name": "Combine all editors", +          "type": "command", +          "command": "workbench.action.joinAllGroups" +        }, +        { +          "key": "d", +          "name": "Close editor group", +          "type": "command", +          "command": "workbench.action.closeEditorsInGroup" +        }, +        { +          "key": "x", +          "name": "Close all editor groups", +          "type": "command", +          "command": "workbench.action.closeAllGroups" +        } +      ] +    }, +    { +      "key": "z", +      "name": "Toggle zen mode", +      "type": "command", +      "command": "workbench.action.toggleZenMode" +    } +  ], +  "workbench.editor.showTabs": true, +  "sync.gist": "939951904a077b97f8001bc35f6b5948", +  "gitlens.currentLine.enabled": false, +  "gitlens.hovers.currentLine.over": "line", +  "editor.suggestSelection": "first", +  "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", +  "python.pythonPath": "/Users/chris/.miniconda/bin/python", +  "java.semanticHighlighting.enabled": true, +  "workbench.iconTheme": "material-icon-theme", +  "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -javaagent:\"/Users/chris/.vscode-oss/extensions/gabrielbb.vscode-lombok-1.0.1/server/lombok.jar\"", +  "workbench.list.automaticKeyboardNavigation": false, +  "oneDarkPro.editorTheme": "onedarkPro", +  "python.languageServer": "Microsoft", +  "terminal.integrated.inheritEnv": false, +  "editor.scrollbar.horizontal": "hidden", +  "editor.scrollbar.vertical": "hidden", +  "kite.showWelcomeNotificationOnStartup": false, +  "python.terminal.activateEnvironment": false, +  "editor.cursorBlinking": "solid", +  "editor.fontFamily": "Fira, Menlo, Monaco, 'Courier New', monospace", +  "files.exclude": { +    "**/.classpath": true, +    "**/.project": true, +    "**/.settings": true, +    "**/.factorypath": true +  } +} diff --git a/vim-plug/plugins.vim b/vim-plug/plugins.vim index 513937ac..a21db943 100644 --- a/vim-plug/plugins.vim +++ b/vim-plug/plugins.vim @@ -8,133 +8,141 @@ endif  call plug#begin('~/.config/nvim/autoload/plugged') -  Plug 'suy/vim-context-commentstring' -  " Change dates fast -  Plug 'tpope/vim-speeddating' -  " Convert binary, hex, etc.. -  Plug 'glts/vim-radical' -  " Files -  Plug 'tpope/vim-eunuch' -  " Repeat stuff -  Plug 'tpope/vim-repeat' -  " Surround -  Plug 'tpope/vim-surround' -  " Better Comments -  Plug 'tpope/vim-commentary' -  " Have the file system follow you around -  Plug 'airblade/vim-rooter' -  " auto set indent settings -  Plug 'tpope/vim-sleuth' +    " Better Comments +    Plug 'tpope/vim-commentary' -  " Text Navigation -  Plug 'justinmk/vim-sneak' -  Plug 'unblevable/quick-scope' -  " Add some color -  Plug 'norcalli/nvim-colorizer.lua' -  Plug 'luochen1990/rainbow' -  " Better Syntax Support -  Plug 'sheerun/vim-polyglot' -  " Cool Icons -  Plug 'ryanoasis/vim-devicons' -  " Auto pairs for '(' '[' '{' -  Plug 'jiangmiao/auto-pairs' -  " Closetags -  Plug 'alvan/vim-closetag' -  " Themes -  Plug 'christianchiarulli/onedark.vim' -  " Intellisense -  Plug 'neoclide/coc.nvim', {'branch': 'release'} -  " Status Line -  Plug 'vim-airline/vim-airline' -  Plug 'kevinhwang91/rnvimr' -  " FZF -  Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } -  Plug 'junegunn/fzf.vim' -  " Git -  Plug 'airblade/vim-gitgutter' -  Plug 'tpope/vim-fugitive' -  Plug 'tpope/vim-rhubarb' -  Plug 'junegunn/gv.vim' -  Plug 'rhysd/git-messenger.vim' -  " Terminal -  Plug 'voldikss/vim-floaterm' -  " Start Screen -  Plug 'mhinz/vim-startify' -  " Vista -  Plug 'liuchengxu/vista.vim' -  " See what keys do like in emacs -  Plug 'liuchengxu/vim-which-key' -  " Zen mode -  Plug 'junegunn/goyo.vim' -  " Snippets -  Plug 'honza/vim-snippets' -  Plug 'mattn/emmet-vim' -  " Interactive code -  Plug 'metakirby5/codi.vim' -  " Debugging -  " Plug 'puremourning/vimspector' -  " Better tabline -  Plug 'mg979/vim-xtabline' -  " undo time travel -  Plug 'mbbill/undotree' -  " highlight all matches under cursor -  Plug 'RRethy/vim-illuminate' -  " Find and replace -  Plug 'ChristianChiarulli/far.vim' -  " Plug 'brooth/far.vim' -  " Auto change html tags -  Plug 'AndrewRadev/tagalong.vim' -  " live server -  Plug 'turbio/bracey.vim' -  " Smooth scroll -  Plug 'psliwka/vim-smoothie' -  " async tasks -  Plug 'skywind3000/asynctasks.vim' -  Plug 'skywind3000/asyncrun.vim' -  " Swap windows -  Plug 'wesQ3/vim-windowswap' -  " Markdown Preview -  Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & npm install'  } -  " Easily Create Gists -  Plug 'mattn/vim-gist' -  Plug 'mattn/webapi-vim' -  " Async Linting Engine -  " TODO make sure to add ale config before plugin -  " Plug 'dense-analysis/ale' -  " Better Whitespace -  Plug 'ntpeters/vim-better-whitespace' -  " Multiple Cursors -  Plug 'mg979/vim-visual-multi', {'branch': 'master'} -  Plug 'moll/vim-bbye' -  " Plugin Graveyard +  if exists('g:vscode') +    " Easy motion for VSCode +    Plug 'asvetliakov/vim-easymotion' +  else -  " jsx syntax support -  " Plug 'maxmellon/vim-jsx-pretty' -  " Typescript syntax -  " Plug 'HerringtonDarkholme/yats.vim' -  " Multiple Cursors -  " Plug 'terryma/vim-multiple-cursors' -  " Plug 'kaicataldo/material.vim' -  " Plug 'NLKNguyen/papercolor-theme' -  " Plug 'tomasiser/vim-code-dark' -  " Vim Wiki -  " Plug 'https://github.com/vimwiki/vimwiki.git' -  " Better Comments -  " Plug 'jbgutierrez/vim-better-comments' -  " Echo doc -  " Plug 'Shougo/echodoc.vim' -  " Plug 'hardcoreplayers/spaceline.vim' -  " Plug 'vim-airline/vim-airline-themes' -  " Ranger -  " Plug 'francoiscabrol/ranger.vim' -  " Plug 'rbgrouleff/bclose.vim' -  " Making stuff -  " Plug 'neomake/neomake' -  " Plug 'mhinz/vim-signify' -  " Plug 'easymotion/vim-easymotion' -  " Plug 'preservim/nerdcommenter' -  " Plug 'brooth/far.vim' -  " Plug 'atishay/far.vim' +    " Change dates fast +    Plug 'tpope/vim-speeddating' +    " Convert binary, hex, etc.. +    Plug 'glts/vim-radical' +    " Files +    Plug 'tpope/vim-eunuch' +    " Repeat stuff +    Plug 'tpope/vim-repeat' +    " Surround +    Plug 'tpope/vim-surround' +    " Have the file system follow you around +    Plug 'airblade/vim-rooter' +    " auto set indent settings +    Plug 'tpope/vim-sleuth' +    " Text Navigation +    Plug 'justinmk/vim-sneak' +    Plug 'unblevable/quick-scope' +    " Add some color +    Plug 'norcalli/nvim-colorizer.lua' +    Plug 'luochen1990/rainbow' +    " Better Syntax Support +    Plug 'sheerun/vim-polyglot' +    " Cool Icons +    Plug 'ryanoasis/vim-devicons' +    " Auto pairs for '(' '[' '{' +    Plug 'jiangmiao/auto-pairs' +    " Closetags +    Plug 'alvan/vim-closetag' +    " Themes +    Plug 'christianchiarulli/onedark.vim' +    " Intellisense +    Plug 'neoclide/coc.nvim', {'branch': 'release'} +    " Status Line +    Plug 'vim-airline/vim-airline' +    Plug 'kevinhwang91/rnvimr' +    " FZF +    Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } +    Plug 'junegunn/fzf.vim' +    " Git +    Plug 'airblade/vim-gitgutter' +    Plug 'tpope/vim-fugitive' +    Plug 'tpope/vim-rhubarb' +    Plug 'junegunn/gv.vim' +    Plug 'rhysd/git-messenger.vim' +    " Terminal +    Plug 'voldikss/vim-floaterm' +    " Start Screen +    Plug 'mhinz/vim-startify' +    " Vista +    Plug 'liuchengxu/vista.vim' +    " See what keys do like in emacs +    Plug 'liuchengxu/vim-which-key' +    " Zen mode +    Plug 'junegunn/goyo.vim' +    " Snippets +    Plug 'honza/vim-snippets' +    Plug 'mattn/emmet-vim' +    " Interactive code +    Plug 'metakirby5/codi.vim' +    " Debugging +    " Plug 'puremourning/vimspector' +    " Better tabline +    Plug 'mg979/vim-xtabline' +    " undo time travel +    Plug 'mbbill/undotree' +    " highlight all matches under cursor +    Plug 'RRethy/vim-illuminate' +    " Find and replace +    Plug 'ChristianChiarulli/far.vim' +    " Plug 'brooth/far.vim' +    " Auto change html tags +    Plug 'AndrewRadev/tagalong.vim' +    " live server +    Plug 'turbio/bracey.vim' +    " Smooth scroll +    Plug 'psliwka/vim-smoothie' +    " async tasks +    Plug 'skywind3000/asynctasks.vim' +    Plug 'skywind3000/asyncrun.vim' +    " Swap windows +    Plug 'wesQ3/vim-windowswap' +    " Markdown Preview +    Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & npm install'  } +    " Easily Create Gists +    Plug 'mattn/vim-gist' +    Plug 'mattn/webapi-vim' +    " Async Linting Engine +    " TODO make sure to add ale config before plugin +    " Plug 'dense-analysis/ale' +    " Better Whitespace +    Plug 'ntpeters/vim-better-whitespace' +    " Multiple Cursors +    " TODO add this back in change from C-n +    " Plug 'mg979/vim-visual-multi', {'branch': 'master'} +    Plug 'moll/vim-bbye' +    " Useful for React Commenting  +    Plug 'suy/vim-context-commentstring' +    " Plugin Graveyard + +    " jsx syntax support +    " Plug 'maxmellon/vim-jsx-pretty' +    " Typescript syntax +    " Plug 'HerringtonDarkholme/yats.vim' +    " Multiple Cursors +    " Plug 'terryma/vim-multiple-cursors' +    " Plug 'kaicataldo/material.vim' +    " Plug 'NLKNguyen/papercolor-theme' +    " Plug 'tomasiser/vim-code-dark' +    " Vim Wiki +    " Plug 'https://github.com/vimwiki/vimwiki.git' +    " Better Comments +    " Plug 'jbgutierrez/vim-better-comments' +    " Echo doc +    " Plug 'Shougo/echodoc.vim' +    " Plug 'hardcoreplayers/spaceline.vim' +    " Plug 'vim-airline/vim-airline-themes' +    " Ranger +    " Plug 'francoiscabrol/ranger.vim' +    " Plug 'rbgrouleff/bclose.vim' +    " Making stuff +    " Plug 'neomake/neomake' +    " Plug 'mhinz/vim-signify' +    " Plug 'easymotion/vim-easymotion' +    " Plug 'preservim/nerdcommenter' +    " Plug 'brooth/far.vim' +    " Plug 'atishay/far.vim' +  endif  call plug#end() diff --git a/vscode/windows.vim b/vscode/windows.vim new file mode 100644 index 00000000..def66822 --- /dev/null +++ b/vscode/windows.vim @@ -0,0 +1,76 @@ +" TODO there is a more contemporary version of this file +"VSCode +function! s:split(...) abort +    let direction = a:1 +    let file = a:2 +    call VSCodeCall(direction == 'h' ? 'workbench.action.splitEditorDown' : 'workbench.action.splitEditorRight') +    if file != '' +        call VSCodeExtensionNotify('open-file', expand(file), 'all') +    endif +endfunction + +function! s:splitNew(...) +    let file = a:2 +    call s:split(a:1, file == '' ? '__vscode_new__' : file) +endfunction + +function! s:closeOtherEditors() +    call VSCodeNotify('workbench.action.closeEditorsInOtherGroups') +    call VSCodeNotify('workbench.action.closeOtherEditors') +endfunction + +function! s:manageEditorSize(...) +    let count = a:1 +    let to = a:2 +    for i in range(1, count ? count : 1) +        call VSCodeNotify(to == 'increase' ? 'workbench.action.increaseViewSize' : 'workbench.action.decreaseViewSize') +    endfor +endfunction + +command! -complete=file -nargs=? Split call <SID>split('h', <q-args>) +command! -complete=file -nargs=? Vsplit call <SID>split('v', <q-args>) +command! -complete=file -nargs=? New call <SID>split('h', '__vscode_new__') +command! -complete=file -nargs=? Vnew call <SID>split('v', '__vscode_new__') +command! -bang Only if <q-bang> == '!' | call <SID>closeOtherEditors() | else | call VSCodeNotify('workbench.action.joinAllGroups') | endif + +nnoremap <silent> <C-w>s :call <SID>split('h')<CR> +xnoremap <silent> <C-w>s :call <SID>split('h')<CR> + +nnoremap <silent> <C-w>v :call <SID>split('v')<CR> +xnoremap <silent> <C-w>v :call <SID>split('v')<CR> + +nnoremap <silent> <C-w>n :call <SID>splitNew('h', '__vscode_new__')<CR> +xnoremap <silent> <C-w>n :call <SID>splitNew('h', '__vscode_new__')<CR> + +nnoremap <silent> <C-j> :call VSCodeNotify('workbench.action.focusBelowGroup')<CR> +xnoremap <silent> <C-j> :call VSCodeNotify('workbench.action.focusBelowGroup')<CR> +nnoremap <silent> <C-k> :call VSCodeNotify('workbench.action.focusAboveGroup')<CR> +xnoremap <silent> <C-k> :call VSCodeNotify('workbench.action.focusAboveGroup')<CR> +nnoremap <silent> <C-h> :call VSCodeNotify('workbench.action.focusLeftGroup')<CR> +xnoremap <silent> <C-h> :call VSCodeNotify('workbench.action.focusLeftGroup')<CR> +nnoremap <silent> <C-l> :call VSCodeNotify('workbench.action.focusRightGroup')<CR> +xnoremap <silent> <C-l> :call VSCodeNotify('workbench.action.focusRightGroup')<CR> + +nnoremap <silent> <C-w>= :<C-u>call VSCodeNotify('workbench.action.evenEditorWidths')<CR> +xnoremap <silent> <C-w>= :<C-u>call VSCodeNotify('workbench.action.evenEditorWidths')<CR> + +nnoremap <silent> <C-w>> :<C-u>call <SID>manageEditorSize(v:count, 'increase')<CR> +xnoremap <silent> <C-w>> :<C-u>call <SID>manageEditorSize(v:count, 'increase')<CR> +nnoremap <silent> <C-w>+ :<C-u>call <SID>manageEditorSize(v:count, 'increase')<CR> +xnoremap <silent> <C-w>+ :<C-u>call <SID>manageEditorSize(v:count, 'increase')<CR> +nnoremap <silent> <C-w>< :<C-u>call <SID>manageEditorSize(v:count, 'decrease')<CR> +xnoremap <silent> <C-w>< :<C-u>call <SID>manageEditorSize(v:count, 'decrease')<CR> +nnoremap <silent> <C-w>- :<C-u>call <SID>manageEditorSize(v:count, 'decrease')<CR> +xnoremap <silent> <C-w>- :<C-u>call <SID>manageEditorSize(v:count, 'decrease')<CR> + +" Bind C-/ to vscode commentary since calling from vscode produces double comments due to multiple cursors +xnoremap <silent> <C-/> :call Comment()<CR> +nnoremap <silent> <C-/> :call Comment()<CR> + +nnoremap <silent> <C-w>_ :<C-u>call VSCodeNotify('workbench.action.toggleEditorWidths')<CR> + +" nnoremap <silent> <Space> :call VSCodeCall('whichkey.show') +" xnoremap <silent> <Space> :call VSCodeCall('whichkey.show') + +nnoremap <silent> <Space> :call VSCodeNotify('whichkey.show')<CR> +xnoremap <silent> <Space> :call VSCodeNotify('whichkey.show')<CR> | 
