summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.vim80
-rw-r--r--keys/mappings.vim114
-rw-r--r--plug-config/easymotion.vim22
-rw-r--r--utils/vscode_config/keybindings.json129
-rw-r--r--utils/vscode_config/settings.json633
-rw-r--r--vim-plug/plugins.vim258
-rw-r--r--vscode/windows.vim76
7 files changed, 1090 insertions, 222 deletions
diff --git a/init.vim b/init.vim
index 0ca268dc..8f8689d1 100644
--- a/init.vim
+++ b/init.vim
@@ -10,44 +10,52 @@ 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"))
diff --git a/keys/mappings.vim b/keys/mappings.vim
index 2c2d810a..7436ec42 100644
--- a/keys/mappings.vim
+++ b/keys/mappings.vim
@@ -13,56 +13,70 @@ nnoremap <Space> <Nop>
vnoremap < <gv
vnoremap > >gv
-" 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
" Better nav for omnicomplete
inoremap <expr> <c-j> ("\<C-n>")
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>