2015-11-12 22:51:40 +03:00
{
2017-04-30 09:25:06 +03:00
"name" : "vim" ,
"displayName" : "Vim" ,
"description" : "Vim emulation for Visual Studio Code" ,
"icon" : "images/icon.png" ,
2024-05-20 08:05:52 +03:00
"version" : "1.27.3" ,
2017-04-30 09:25:06 +03:00
"publisher" : "vscodevim" ,
"galleryBanner" : {
"color" : "#e3f4ff" ,
"theme" : "light"
} ,
"license" : "MIT" ,
"keywords" : [
"vim" ,
"vi" ,
"vscodevim"
] ,
"repository" : {
"type" : "git" ,
"url" : "https://github.com/VSCodeVim/Vim.git"
} ,
"homepage" : "https://github.com/VSCodeVim/Vim" ,
"bugs" : {
"url" : "https://github.com/VSCodeVim/Vim/issues"
} ,
"engines" : {
2022-12-28 06:43:33 +03:00
"vscode" : "^1.74.0"
2017-04-30 09:25:06 +03:00
} ,
"categories" : [
"Other" ,
"Keymaps"
] ,
2019-12-29 21:54:04 +03:00
"extensionKind" : [
2021-09-01 18:08:19 +03:00
"ui"
2019-12-29 21:54:04 +03:00
] ,
2020-09-20 20:57:38 +03:00
"sideEffects" : false ,
2017-04-30 09:25:06 +03:00
"activationEvents" : [
2023-10-19 07:19:16 +03:00
"onStartupFinished" ,
2018-09-05 00:46:57 +03:00
"onCommand:type"
2017-04-30 09:25:06 +03:00
] ,
2019-04-15 07:49:20 +03:00
"qna" : "https://vscodevim.herokuapp.com/" ,
2017-04-30 09:25:06 +03:00
"main" : "./out/extension" ,
2020-09-22 22:42:41 +03:00
"browser" : "./out/extensionWeb" ,
2021-06-08 00:45:51 +03:00
"capabilities" : {
"untrustedWorkspaces" : {
"supported" : true
2021-06-08 00:52:41 +03:00
} ,
"virtualWorkspaces" : true
2021-06-08 00:45:51 +03:00
} ,
2017-04-30 09:25:06 +03:00
"contributes" : {
"commands" : [
2017-03-07 02:32:47 +03:00
{
"command" : "toggleVim" ,
"title" : "Vim: Toggle Vim Mode"
2018-06-27 05:13:38 +03:00
} ,
{
"command" : "vim.showQuickpickCmdLine" ,
"title" : "Vim: Show Command Line"
2019-11-10 07:16:46 +03:00
} ,
{
"command" : "vim.editVimrc" ,
2022-02-18 20:12:05 +03:00
"enablement" : "!isWeb" ,
2019-11-10 07:16:46 +03:00
"title" : "Vim: Edit .vimrc"
2017-04-30 09:25:06 +03:00
}
2015-11-17 23:41:38 +03:00
] ,
2017-04-30 09:25:06 +03:00
"keybindings" : [
{
"key" : "Escape" ,
"command" : "extension.vim_escape" ,
2017-03-07 02:32:47 +03:00
"when" : "editorTextFocus && vim.active && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
2021-01-21 05:21:17 +03:00
{
"key" : "Escape" ,
"command" : "notebook.cell.quitEdit" ,
"when" : "inputFocus && notebookEditorFocused && !editorHasSelection && !editorHoverVisible && vim.active && vim.mode == 'Normal'"
} ,
2017-04-30 09:25:06 +03:00
{
"key" : "Home" ,
"command" : "extension.vim_home" ,
2017-03-07 02:32:47 +03:00
"when" : "editorTextFocus && vim.active && !inDebugRepl && vim.mode != 'Insert'"
2017-04-30 09:25:06 +03:00
} ,
2021-04-27 03:59:18 +03:00
{
"key" : "ctrl+home" ,
"command" : "extension.vim_ctrl+home" ,
"when" : "editorTextFocus && vim.active && !inDebugRepl && vim.mode != 'Insert'"
} ,
2017-04-30 09:25:06 +03:00
{
"key" : "End" ,
"command" : "extension.vim_end" ,
2017-03-07 02:32:47 +03:00
"when" : "editorTextFocus && vim.active && !inDebugRepl && vim.mode != 'Insert'"
2017-04-30 09:25:06 +03:00
} ,
2021-04-27 03:59:18 +03:00
{
"key" : "ctrl+end" ,
"command" : "extension.vim_ctrl+end" ,
"when" : "editorTextFocus && vim.active && !inDebugRepl && vim.mode != 'Insert'"
} ,
2018-02-26 17:44:01 +03:00
{
"key" : "Insert" ,
"command" : "extension.vim_insert" ,
"when" : "editorTextFocus && vim.active && !inDebugRepl"
} ,
2017-04-30 09:25:06 +03:00
{
2018-05-05 19:43:38 +03:00
"key" : "Backspace" ,
"command" : "extension.vim_backspace" ,
"when" : "editorTextFocus && vim.active && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "Delete" ,
"command" : "extension.vim_delete" ,
2020-02-22 04:47:44 +03:00
"when" : "editorTextFocus && vim.active && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "tab" ,
"command" : "extension.vim_tab" ,
2023-08-29 04:17:43 +03:00
"when" : "editorTextFocus && vim.active && vim.mode != 'Insert' && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
2019-09-22 23:44:18 +03:00
{
"key" : "shift+tab" ,
"command" : "extension.vim_shift+tab" ,
2023-08-29 04:17:43 +03:00
"when" : "editorTextFocus && vim.active && vim.mode != 'Insert' && !inDebugRepl"
2019-09-22 23:44:18 +03:00
} ,
2017-04-30 09:25:06 +03:00
{
2018-05-05 19:43:38 +03:00
"key" : "left" ,
"command" : "extension.vim_left" ,
"when" : "editorTextFocus && vim.active && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "right" ,
"command" : "extension.vim_right" ,
2017-05-07 03:10:45 +03:00
"when" : "editorTextFocus && vim.active && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "up" ,
"command" : "extension.vim_up" ,
2020-07-20 18:48:59 +03:00
"when" : "editorTextFocus && vim.active && !inDebugRepl && !suggestWidgetVisible && !parameterHintsVisible"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "down" ,
"command" : "extension.vim_down" ,
2020-07-20 18:48:59 +03:00
"when" : "editorTextFocus && vim.active && !inDebugRepl && !suggestWidgetVisible && !parameterHintsVisible"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "g g" ,
"command" : "list.focusFirst" ,
"when" : "listFocus && !inputFocus"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "h" ,
"command" : "list.collapse" ,
"when" : "listFocus && !inputFocus"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "j" ,
"command" : "list.focusDown" ,
"when" : "listFocus && !inputFocus"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "k" ,
"command" : "list.focusUp" ,
"when" : "listFocus && !inputFocus"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "l" ,
"command" : "list.select" ,
"when" : "listFocus && !inputFocus"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "o" ,
"command" : "list.toggleExpand" ,
"when" : "listFocus && !inputFocus"
} ,
2019-02-01 17:37:41 +03:00
{
"key" : "/" ,
"command" : "list.toggleKeyboardNavigation" ,
"when" : "listFocus && !inputFocus && listSupportsKeyboardNavigation"
} ,
2018-05-05 19:43:38 +03:00
{
"key" : "ctrl+a" ,
"command" : "extension.vim_ctrl+a" ,
"when" : "editorTextFocus && vim.active && vim.use<C-a> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
"key" : "ctrl+b" ,
"command" : "extension.vim_ctrl+b" ,
2017-03-07 02:32:47 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-b> && vim.mode != 'Insert' && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+c" ,
"command" : "extension.vim_ctrl+c" ,
"when" : "editorTextFocus && vim.active && vim.use<C-c> && !inDebugRepl && vim.overrideCtrlC"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+d" ,
"command" : "extension.vim_ctrl+d" ,
2021-04-07 23:18:15 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-d> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+d" ,
"command" : "list.focusPageDown" ,
"when" : "listFocus && !inputFocus"
2017-04-30 09:25:06 +03:00
} ,
{
"key" : "ctrl+e" ,
"command" : "extension.vim_ctrl+e" ,
2017-03-07 02:32:47 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-e> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+f" ,
"command" : "extension.vim_ctrl+f" ,
2018-09-14 10:01:11 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-f> && vim.mode != 'Insert' && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
2019-05-04 08:03:47 +03:00
{
"key" : "ctrl+g" ,
"command" : "extension.vim_ctrl+g" ,
"when" : "editorTextFocus && vim.active && vim.use<C-g> && !inDebugRepl"
} ,
2017-04-30 09:25:06 +03:00
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+h" ,
"command" : "extension.vim_ctrl+h" ,
"when" : "editorTextFocus && vim.active && vim.use<C-h> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
"key" : "ctrl+i" ,
"command" : "extension.vim_ctrl+i" ,
2017-03-07 02:32:47 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-i> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+j" ,
"command" : "extension.vim_ctrl+j" ,
2018-05-09 20:23:12 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-j> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+k" ,
"command" : "extension.vim_ctrl+k" ,
2018-05-09 20:23:12 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-k> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+l" ,
"command" : "extension.vim_navigateCtrlL" ,
"when" : "editorTextFocus && vim.active && vim.use<C-l> && !inDebugRepl"
2017-09-03 23:11:44 +03:00
} ,
2020-03-15 18:35:10 +03:00
{
"key" : "ctrl+m" ,
"command" : "extension.vim_ctrl+m" ,
"when" : "editorTextFocus && vim.active && vim.use<C-m> && !inDebugRepl || vim.mode == 'CommandlineInProgress' && vim.active && vim.use<C-m> && !inDebugRepl || vim.mode == 'SearchInProgressMode' && vim.active && vim.use<C-m> && !inDebugRepl"
} ,
2017-09-03 23:11:44 +03:00
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+n" ,
"command" : "extension.vim_ctrl+n" ,
2019-08-29 05:22:42 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-n> && !inDebugRepl || vim.mode == 'CommandlineInProgress' && vim.active && vim.use<C-n> && !inDebugRepl || vim.mode == 'SearchInProgressMode' && vim.active && vim.use<C-n> && !inDebugRepl"
2019-08-04 08:23:33 +03:00
} ,
2018-05-05 19:43:38 +03:00
{
"key" : "ctrl+o" ,
"command" : "extension.vim_ctrl+o" ,
"when" : "editorTextFocus && vim.active && vim.use<C-o> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
2017-04-13 07:37:28 +03:00
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+p" ,
"command" : "extension.vim_ctrl+p" ,
2023-04-15 05:57:55 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-p> && !inDebugRepl || vim.mode == 'CommandlineInProgress' && vim.active && vim.use<C-p> && !inDebugRepl || vim.mode == 'SearchInProgressMode' && vim.active && vim.use<C-p> && !inDebugRepl"
2017-04-13 07:37:28 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+q" ,
"command" : "extension.vim_winCtrlQ" ,
"when" : "editorTextFocus && vim.active && vim.use<C-q> && !inDebugRepl"
2017-04-13 07:37:28 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+r" ,
"command" : "extension.vim_ctrl+r" ,
"when" : "editorTextFocus && vim.active && vim.use<C-r> && !inDebugRepl"
2017-04-13 07:37:28 +03:00
} ,
2022-04-06 18:36:51 +03:00
{
"key" : "ctrl+s" ,
"command" : "extension.vim_ctrl+s" ,
"when" : "editorTextFocus && vim.active && vim.use<C-s> && !inDebugRepl"
} ,
2017-04-13 07:37:28 +03:00
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+t" ,
"command" : "extension.vim_ctrl+t" ,
"when" : "editorTextFocus && vim.active && vim.use<C-t> && !inDebugRepl"
2017-04-13 07:37:28 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+u" ,
"command" : "extension.vim_ctrl+u" ,
"when" : "editorTextFocus && vim.active && vim.use<C-u> && !inDebugRepl"
2017-04-13 07:37:28 +03:00
} ,
2017-04-30 09:25:06 +03:00
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+u" ,
"command" : "list.focusPageUp" ,
"when" : "listFocus && !inputFocus"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+v" ,
"command" : "extension.vim_ctrl+v" ,
2018-05-09 20:23:12 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-v> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+w" ,
"command" : "extension.vim_ctrl+w" ,
"when" : "editorTextFocus && vim.active && vim.use<C-w> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+x" ,
"command" : "extension.vim_ctrl+x" ,
"when" : "editorTextFocus && vim.active && vim.use<C-x> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+y" ,
"command" : "extension.vim_ctrl+y" ,
"when" : "editorTextFocus && vim.active && vim.use<C-y> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
2022-05-17 23:23:00 +03:00
{
"key" : "ctrl+z" ,
"command" : "extension.vim_ctrl+z" ,
"when" : "editorTextFocus && vim.active && vim.use<C-z> && !inDebugRepl"
} ,
2021-03-17 02:37:22 +03:00
{
"key" : "ctrl+6" ,
"command" : "extension.vim_ctrl+6" ,
"when" : "editorTextFocus && vim.active && vim.use<C-6> && !inDebugRepl"
} ,
{
"key" : "ctrl+^" ,
"command" : "extension.vim_ctrl+^" ,
"when" : "editorTextFocus && vim.active && vim.use<C-^> && !inDebugRepl"
} ,
2017-04-30 09:25:06 +03:00
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+[" ,
"command" : "extension.vim_ctrl+[" ,
"when" : "editorTextFocus && vim.active && vim.use<C-[> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+]" ,
"command" : "extension.vim_ctrl+]" ,
"when" : "editorTextFocus && vim.active && vim.use<C-]> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
"key" : "ctrl+shift+2" ,
"command" : "extension.vim_ctrl+shift+2" ,
2017-03-07 02:32:47 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-shift+2>"
2017-04-30 09:25:06 +03:00
} ,
2021-03-18 20:58:31 +03:00
{
"key" : "ctrl+up" ,
"command" : "extension.vim_ctrl+up" ,
"when" : "editorTextFocus && vim.active && vim.mode != 'Insert' && !inDebugRepl"
} ,
{
"key" : "ctrl+down" ,
"command" : "extension.vim_ctrl+down" ,
"when" : "editorTextFocus && vim.active && vim.mode != 'Insert' && !inDebugRepl"
} ,
{
"key" : "ctrl+left" ,
"command" : "extension.vim_ctrl+left" ,
"when" : "editorTextFocus && vim.active && vim.mode != 'Insert' && !inDebugRepl"
} ,
{
"key" : "ctrl+right" ,
"command" : "extension.vim_ctrl+right" ,
"when" : "editorTextFocus && vim.active && vim.mode != 'Insert' && !inDebugRepl"
} ,
2017-04-30 09:25:06 +03:00
{
"key" : "ctrl+pagedown" ,
"command" : "extension.vim_ctrl+pagedown" ,
2017-03-07 02:32:47 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-pagedown> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
{
"key" : "ctrl+pageup" ,
"command" : "extension.vim_ctrl+pageup" ,
2017-03-07 02:32:47 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-pageup> && !inDebugRepl"
2017-04-30 09:25:06 +03:00
} ,
2019-12-29 07:52:48 +03:00
{
"key" : "ctrl+space" ,
"command" : "extension.vim_ctrl+space" ,
2019-12-30 05:52:20 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-space> && !inDebugRepl && vim.mode != 'Insert'"
2019-12-29 07:52:48 +03:00
} ,
2017-04-30 09:25:06 +03:00
{
2018-05-05 19:43:38 +03:00
"key" : "shift+G" ,
"command" : "list.focusLast" ,
"when" : "listFocus && !inputFocus"
2017-05-19 04:36:30 +03:00
} ,
2020-05-20 00:36:00 +03:00
{
"key" : "ctrl+backspace" ,
"command" : "extension.vim_ctrl+backspace" ,
2021-03-04 22:32:13 +03:00
"when" : "editorTextFocus && vim.active && vim.use<C-BS> && vim.mode != 'Insert' && !inDebugRepl"
2020-05-20 00:36:00 +03:00
} ,
2017-05-19 04:36:30 +03:00
{
2018-05-05 19:43:38 +03:00
"key" : "shift+backspace" ,
"command" : "extension.vim_shift+backspace" ,
2021-03-04 22:32:13 +03:00
"when" : "editorTextFocus && vim.active && vim.use<S-BS> && vim.mode != 'Insert' && !inDebugRepl"
2017-05-19 04:36:30 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "cmd+left" ,
"command" : "extension.vim_cmd+left" ,
"when" : "editorTextFocus && vim.active && vim.use<D-left> && !inDebugRepl && vim.mode != 'Insert'"
2017-05-19 04:36:30 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "cmd+right" ,
"command" : "extension.vim_cmd+right" ,
2019-12-30 05:52:20 +03:00
"when" : "editorTextFocus && vim.active && vim.use<D-right> && !inDebugRepl && vim.mode != 'Insert'"
2017-06-20 13:45:56 +03:00
} ,
2018-01-09 18:03:50 +03:00
{
2018-05-05 19:43:38 +03:00
"key" : "cmd+a" ,
"command" : "extension.vim_cmd+a" ,
"when" : "editorTextFocus && vim.active && vim.use<D-a> && !inDebugRepl && vim.mode != 'Insert'"
2018-01-09 18:03:50 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "cmd+c" ,
"command" : "extension.vim_cmd+c" ,
"when" : "editorTextFocus && vim.active && vim.use<D-c> && vim.overrideCopy && !inDebugRepl"
2017-06-20 13:45:56 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "cmd+d" ,
"command" : "extension.vim_cmd+d" ,
"when" : "editorTextFocus && vim.active && vim.use<D-d> && !inDebugRepl"
2017-06-20 13:45:56 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "cmd+v" ,
"command" : "extension.vim_cmd+v" ,
2021-11-05 20:23:09 +03:00
"when" : "editorTextFocus && vim.active && vim.use<D-v> && vim.mode == 'CommandlineInProgress' && !inDebugRepl || editorTextFocus && vim.active && vim.use<D-v> && vim.mode == 'SearchInProgressMode' && !inDebugRepl"
2017-06-20 13:45:56 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+alt+down" ,
"linux" : "shift+alt+down" ,
"mac" : "cmd+alt+down" ,
"command" : "extension.vim_cmd+alt+down" ,
"when" : "editorTextFocus && vim.active && !inDebugRepl"
2017-06-20 13:45:56 +03:00
} ,
{
2018-05-05 19:43:38 +03:00
"key" : "ctrl+alt+up" ,
"linux" : "shift+alt+up" ,
"mac" : "cmd+alt+up" ,
"command" : "extension.vim_cmd+alt+up" ,
"when" : "editorTextFocus && vim.active && !inDebugRepl"
2021-02-05 22:03:11 +03:00
} ,
{
"key" : "j" ,
"command" : "notebook.focusNextEditor" ,
"when" : "vim.mode == 'Normal' && editorTextFocus && inputFocus && notebookEditorFocused && notebookEditorCursorAtBoundary != 'none' && notebookEditorCursorAtBoundary != 'top'"
} ,
{
"key" : "k" ,
"command" : "notebook.focusPreviousEditor" ,
"when" : "vim.mode == 'Normal' && editorTextFocus && inputFocus && notebookEditorFocused && notebookEditorCursorAtBoundary != 'bottom' && notebookEditorCursorAtBoundary != 'none'"
2017-04-30 09:25:06 +03:00
}
2015-11-30 10:50:03 +03:00
] ,
2017-04-30 09:25:06 +03:00
"configuration" : {
2019-10-09 04:45:47 +03:00
"title" : "Vim" ,
2017-04-30 09:25:06 +03:00
"type" : "object" ,
"properties" : {
2018-06-17 03:19:32 +03:00
"vim.normalModeKeyBindings" : {
2017-04-30 09:25:06 +03:00
"type" : "array" ,
2021-03-18 01:04:18 +03:00
"markdownDescription" : "Remapped keys in Normal mode. Allows mapping to Vim commands or VS Code actions. See [README](https://github.com/VSCodeVim/Vim/#key-remapping) for details." ,
"scope" : "application"
2017-04-30 09:25:06 +03:00
} ,
2018-06-17 03:19:32 +03:00
"vim.normalModeKeyBindingsNonRecursive" : {
2017-04-30 09:25:06 +03:00
"type" : "array" ,
2021-03-18 01:04:18 +03:00
"markdownDescription" : "Non-recursive remapped keys in Normal mode. Allows mapping to Vim commands or VS Code actions. See [README](https://github.com/VSCodeVim/Vim/#key-remapping) for details." ,
"scope" : "application"
2017-04-30 09:25:06 +03:00
} ,
Overhaul remapping logic (#4735)
This is a pretty massive change; see pull request #4735 for full details
Most notably:
- Support for operator-pending mode, including remaps and a half-cursor decoration
- Correct handling of ambiguous remaps with timeout
- Correct handling of recursive special case when the RHS starts with the LHS
- Correct handling of multi-key remaps in insert mode
- Failed movements that occur partway through a remap stop & discard the rest of the remap
- Implement `unmap` and `mapclear` in .vimrc
Refs #463, refs #4908
Fixes #1261, fixes #1398, fixes #1579, fixes #1821, fixes #1835
Fixes #1870, fixes #1883, fixes #2041, fixes #2234, fixes #2466
Fixes #2897, fixes #2955, fixes #2975, fixes #3082, fixes #3086
Fixes #3171, fixes #3373, fixes #3413, fixes #3742, fixes #3768
Fixes #3988, fixes #4057, fixes #4118, fixes #4236, fixes #4353
Fixes #4464, fixes #4530, fixes #4532, fixes #4563, fixes #4674
Fixes #4756, fixes #4883, fixes #4928, fixes #4991, fixes #5016
Fixes #5057, fixes #5067, fixes #5084, fixes #5125
2020-08-16 21:22:51 +03:00
"vim.operatorPendingModeKeyBindings" : {
"type" : "array" ,
2021-03-18 01:04:18 +03:00
"markdownDescription" : "Remapped keys in OperatorPending mode. Allows mapping to Vim commands or VS Code actions. See [README](https://github.com/VSCodeVim/Vim/#key-remapping) for details." ,
"scope" : "application"
Overhaul remapping logic (#4735)
This is a pretty massive change; see pull request #4735 for full details
Most notably:
- Support for operator-pending mode, including remaps and a half-cursor decoration
- Correct handling of ambiguous remaps with timeout
- Correct handling of recursive special case when the RHS starts with the LHS
- Correct handling of multi-key remaps in insert mode
- Failed movements that occur partway through a remap stop & discard the rest of the remap
- Implement `unmap` and `mapclear` in .vimrc
Refs #463, refs #4908
Fixes #1261, fixes #1398, fixes #1579, fixes #1821, fixes #1835
Fixes #1870, fixes #1883, fixes #2041, fixes #2234, fixes #2466
Fixes #2897, fixes #2955, fixes #2975, fixes #3082, fixes #3086
Fixes #3171, fixes #3373, fixes #3413, fixes #3742, fixes #3768
Fixes #3988, fixes #4057, fixes #4118, fixes #4236, fixes #4353
Fixes #4464, fixes #4530, fixes #4532, fixes #4563, fixes #4674
Fixes #4756, fixes #4883, fixes #4928, fixes #4991, fixes #5016
Fixes #5057, fixes #5067, fixes #5084, fixes #5125
2020-08-16 21:22:51 +03:00
} ,
"vim.operatorPendingModeKeyBindingsNonRecursive" : {
"type" : "array" ,
2021-03-18 01:04:18 +03:00
"markdownDescription" : "Non-recursive remapped keys in OperatorPending mode. Allows mapping to Vim commands or VS Code actions. See [README](https://github.com/VSCodeVim/Vim/#key-remapping) for details." ,
"scope" : "application"
Overhaul remapping logic (#4735)
This is a pretty massive change; see pull request #4735 for full details
Most notably:
- Support for operator-pending mode, including remaps and a half-cursor decoration
- Correct handling of ambiguous remaps with timeout
- Correct handling of recursive special case when the RHS starts with the LHS
- Correct handling of multi-key remaps in insert mode
- Failed movements that occur partway through a remap stop & discard the rest of the remap
- Implement `unmap` and `mapclear` in .vimrc
Refs #463, refs #4908
Fixes #1261, fixes #1398, fixes #1579, fixes #1821, fixes #1835
Fixes #1870, fixes #1883, fixes #2041, fixes #2234, fixes #2466
Fixes #2897, fixes #2955, fixes #2975, fixes #3082, fixes #3086
Fixes #3171, fixes #3373, fixes #3413, fixes #3742, fixes #3768
Fixes #3988, fixes #4057, fixes #4118, fixes #4236, fixes #4353
Fixes #4464, fixes #4530, fixes #4532, fixes #4563, fixes #4674
Fixes #4756, fixes #4883, fixes #4928, fixes #4991, fixes #5016
Fixes #5057, fixes #5067, fixes #5084, fixes #5125
2020-08-16 21:22:51 +03:00
} ,
2017-04-30 09:25:06 +03:00
"vim.useCtrlKeys" : {
"type" : "boolean" ,
2019-09-05 05:13:16 +03:00
"markdownDescription" : "Enable some Vim Ctrl key commands that override otherwise common operations, like `Ctrl+C`." ,
2017-04-30 09:25:06 +03:00
"default" : true
} ,
"vim.leader" : {
"type" : "string" ,
2019-09-05 05:13:16 +03:00
"markdownDescription" : "What key should `<leader>` map to in remappings?" ,
2017-04-30 09:25:06 +03:00
"default" : "\\"
} ,
"vim.searchHighlightColor" : {
"type" : "string" ,
2022-01-01 01:27:38 +03:00
"markdownDescription" : "Background color of non-current search matches. The color must not be opaque so as not to hide underlying decorations. Uses `#editor.findMatchHighlightColor#` from current theme if undefined."
2017-04-30 09:25:06 +03:00
} ,
2019-10-15 08:42:22 +03:00
"vim.searchHighlightTextColor" : {
"type" : "string" ,
2022-01-01 01:27:38 +03:00
"markdownDescription" : "Foreground color of non-current search matches."
} ,
"vim.searchMatchColor" : {
"type" : "string" ,
"markdownDescription" : "Background color of the current match. Uses `#editor.findMatchColor#` from current theme if undefined."
} ,
"vim.searchMatchTextColor" : {
"type" : "string" ,
"markdownDescription" : "Foreground color of the current match."
2019-10-15 08:42:22 +03:00
} ,
2022-02-07 07:54:53 +03:00
"vim.substitutionColor" : {
"type" : "string" ,
"markdownDescription" : "Background color of substituted text when `#editor.inccommand#` is enabled. Uses `#editor.findMatchColor#` from current theme if undefined."
} ,
"vim.substitutionTextColor" : {
"type" : "string" ,
"markdownDescription" : "Foreground color of substituted text when `#editor.inccommand#` is enabled."
} ,
2019-03-17 08:39:43 +03:00
"vim.highlightedyank.enable" : {
"type" : "boolean" ,
"description" : "Enable highlighting when yanking." ,
"default" : false
} ,
"vim.highlightedyank.color" : {
"type" : "string" ,
2022-01-01 01:27:38 +03:00
"description" : "Background color of yanked text. The color must not be opaque so as not to hide underlying decorations." ,
2019-03-17 08:39:43 +03:00
"default" : "rgba(250, 240, 170, 0.5)"
} ,
2019-10-15 08:42:22 +03:00
"vim.highlightedyank.textColor" : {
"type" : "string" ,
2022-01-01 01:27:38 +03:00
"description" : "Foreground color of yanked text."
2019-10-15 08:42:22 +03:00
} ,
2019-03-17 08:39:43 +03:00
"vim.highlightedyank.duration" : {
"type" : "number" ,
"description" : "Duration in milliseconds of the yank highlight." ,
2019-09-05 04:22:23 +03:00
"default" : 200 ,
"minimum" : 1
2019-03-17 08:39:43 +03:00
} ,
2017-04-30 09:25:06 +03:00
"vim.useSystemClipboard" : {
"type" : "boolean" ,
"description" : "Use system clipboard for unnamed register." ,
"default" : false
} ,
"vim.overrideCopy" : {
"type" : "boolean" ,
2019-12-30 05:52:20 +03:00
"description" : "Override VS Code's copy command with our own copy command, which works better with VSCodeVim. Turn this off if copying is not working." ,
2017-04-30 09:25:06 +03:00
"default" : true
} ,
"vim.insertModeKeyBindings" : {
"type" : "array" ,
2021-03-18 01:04:18 +03:00
"markdownDescription" : "Remapped keys in Insert mode. Allows mapping to Vim commands or VS Code actions. See [README](https://github.com/VSCodeVim/Vim/#key-remapping) for details." ,
"scope" : "application"
2017-04-30 09:25:06 +03:00
} ,
"vim.insertModeKeyBindingsNonRecursive" : {
"type" : "array" ,
2021-03-18 01:04:18 +03:00
"markdownDescription" : "Non-recursive keybinding overrides to use for Insert mode. Allows mapping to Vim commands or VS Code actions. See [README](https://github.com/VSCodeVim/Vim/#key-remapping) for details." ,
"scope" : "application"
2017-04-30 09:25:06 +03:00
} ,
2018-06-13 03:15:12 +03:00
"vim.visualModeKeyBindings" : {
"type" : "array" ,
2021-03-18 01:04:18 +03:00
"markdownDescription" : "Remapped keys in Visual mode. Allows mapping to Vim commands or VS Code actions. See [README](https://github.com/VSCodeVim/Vim/#key-remapping) for details." ,
"scope" : "application"
2018-06-13 03:15:12 +03:00
} ,
"vim.visualModeKeyBindingsNonRecursive" : {
"type" : "array" ,
2021-03-18 01:04:18 +03:00
"markdownDescription" : "Non-recursive keybinding overrides to use for Visual mode. Allows mapping to Vim commands or VS Code actions. See [README](https://github.com/VSCodeVim/Vim/#key-remapping) for details." ,
"scope" : "application"
2019-12-15 03:40:47 +03:00
} ,
"vim.commandLineModeKeyBindings" : {
"type" : "array" ,
2021-03-18 01:04:18 +03:00
"markdownDescription" : "Remapped keys in command line mode. Allows mapping to Vim commands or VS Code actions. See [README](https://github.com/VSCodeVim/Vim/#key-remapping) for details." ,
"scope" : "application"
2019-12-15 03:40:47 +03:00
} ,
"vim.commandLineModeKeyBindingsNonRecursive" : {
"type" : "array" ,
2021-03-18 01:04:18 +03:00
"markdownDescription" : "Non-recursive keybinding overrides to use for command line mode. Allows mapping to Vim commands or VS Code actions. See [README](https://github.com/VSCodeVim/Vim/#key-remapping) for details." ,
"scope" : "application"
2018-06-13 03:15:12 +03:00
} ,
2017-04-30 09:25:06 +03:00
"vim.textwidth" : {
"type" : "number" ,
2019-09-05 05:13:16 +03:00
"markdownDescription" : "Width to word-wrap to when using `gq`." ,
2019-09-05 04:22:23 +03:00
"default" : 80 ,
2022-06-09 19:30:03 +03:00
"scope" : "language-overridable" ,
2019-09-05 04:22:23 +03:00
"minimum" : 1
2017-04-30 09:25:06 +03:00
} ,
"vim.timeout" : {
"type" : "number" ,
2019-09-05 02:55:35 +03:00
"description" : "Timeout in milliseconds for remapped commands." ,
2019-09-05 04:22:23 +03:00
"default" : 1000 ,
"minimum" : 0
2017-04-30 09:25:06 +03:00
} ,
Overhaul remapping logic (#4735)
This is a pretty massive change; see pull request #4735 for full details
Most notably:
- Support for operator-pending mode, including remaps and a half-cursor decoration
- Correct handling of ambiguous remaps with timeout
- Correct handling of recursive special case when the RHS starts with the LHS
- Correct handling of multi-key remaps in insert mode
- Failed movements that occur partway through a remap stop & discard the rest of the remap
- Implement `unmap` and `mapclear` in .vimrc
Refs #463, refs #4908
Fixes #1261, fixes #1398, fixes #1579, fixes #1821, fixes #1835
Fixes #1870, fixes #1883, fixes #2041, fixes #2234, fixes #2466
Fixes #2897, fixes #2955, fixes #2975, fixes #3082, fixes #3086
Fixes #3171, fixes #3373, fixes #3413, fixes #3742, fixes #3768
Fixes #3988, fixes #4057, fixes #4118, fixes #4236, fixes #4353
Fixes #4464, fixes #4530, fixes #4532, fixes #4563, fixes #4674
Fixes #4756, fixes #4883, fixes #4928, fixes #4991, fixes #5016
Fixes #5057, fixes #5067, fixes #5084, fixes #5125
2020-08-16 21:22:51 +03:00
"vim.maxmapdepth" : {
"type" : "number" ,
"description" : "Maximum number of times a mapping is done without resulting in a character to be used." ,
"default" : 1000 ,
"minimum" : 0
} ,
2017-04-30 09:25:06 +03:00
"vim.scroll" : {
"type" : "number" ,
2019-10-01 02:07:13 +03:00
"markdownDescription" : "Number of lines to scroll with `Ctrl-U` and `Ctrl-D` commands. Set to 0 to use a half page scroll." ,
"default" : 0 ,
"minimum" : 0
2017-04-30 09:25:06 +03:00
} ,
"vim.showcmd" : {
"type" : "boolean" ,
"description" : "Show the text of any command you are in the middle of writing." ,
"default" : true
} ,
2017-10-13 08:01:09 +03:00
"vim.showmodename" : {
"type" : "boolean" ,
"description" : "Show the name of the current mode in the statusbar." ,
"default" : true
} ,
2017-04-30 09:25:06 +03:00
"vim.iskeyword" : {
"type" : "string" ,
2020-07-07 18:32:42 +03:00
"markdownDescription" : "Keywords contain alphanumeric characters and '_'. If not configured, `#editor.wordSeparators#` is used."
2017-04-30 09:25:06 +03:00
} ,
"vim.ignorecase" : {
"type" : "boolean" ,
"description" : "Ignore case in search patterns." ,
"default" : true
} ,
"vim.smartcase" : {
"type" : "boolean" ,
2019-09-05 05:13:16 +03:00
"markdownDescription" : "Override the `ignorecase` option if the search pattern contains upper case characters." ,
2017-04-30 09:25:06 +03:00
"default" : true
} ,
2021-08-31 07:08:19 +03:00
"vim.matchpairs" : {
"type" : "string" ,
2021-08-31 07:43:15 +03:00
"markdownDescription" : "Characters that form pairs. The % command jumps from one to the other. Only character pairs are allowed that are different, thus you cannot jump between two double quotes. The characters must be separated by a colon. The pairs must be separated by a comma." ,
2023-10-22 04:35:40 +03:00
"default" : "(:),{:},[:]" ,
"pattern" : "^(.:.)?(,.:.)*$"
2021-08-31 07:08:19 +03:00
} ,
2019-02-18 08:33:13 +03:00
"vim.camelCaseMotion.enable" : {
"type" : "boolean" ,
2019-09-05 05:13:16 +03:00
"markdownDescription" : "Enable the [CamelCaseMotion](https://github.com/bkad/CamelCaseMotion) plugin for Vim." ,
2019-02-18 08:33:13 +03:00
"default" : false
} ,
2017-04-30 09:25:06 +03:00
"vim.easymotion" : {
"type" : "boolean" ,
2019-09-05 05:13:16 +03:00
"markdownDescription" : "Enable the [EasyMotion](https://github.com/easymotion/vim-easymotion) plugin for Vim." ,
2017-04-30 09:25:06 +03:00
"default" : false
} ,
"vim.easymotionMarkerBackgroundColor" : {
"type" : "string" ,
2020-08-12 06:36:04 +03:00
"default" : "#0000" ,
2017-09-12 18:38:54 +03:00
"description" : "Set a custom background color for EasyMotion markers."
2017-04-30 09:25:06 +03:00
} ,
"vim.easymotionMarkerForegroundColorOneChar" : {
"type" : "string" ,
2020-08-12 06:36:04 +03:00
"default" : "#ff0000" ,
2017-09-12 18:38:54 +03:00
"description" : "Set a custom color for the text on one character long markers."
2017-04-30 09:25:06 +03:00
} ,
2020-08-12 06:36:04 +03:00
"vim.easymotionMarkerForegroundColorTwoCharFirst" : {
"type" : "string" ,
"default" : "#ffb400" ,
"description" : "Set a custom color for the first character on two character long markers."
} ,
"vim.easymotionMarkerForegroundColorTwoCharSecond" : {
"type" : "string" ,
"default" : "#b98300" ,
"description" : "Set a custom color for the second character on two character long markers."
} ,
"vim.easymotionIncSearchForegroundColor" : {
"type" : "string" ,
"default" : "#7fbf00" ,
2022-01-01 01:27:38 +03:00
"markdownDescription" : "Set a custom color for the easymotion search n-character (default `<leader><leader>/`)."
2020-08-12 06:36:04 +03:00
} ,
"vim.easymotionDimColor" : {
"type" : "string" ,
"default" : "#777777" ,
2022-01-01 01:27:38 +03:00
"markdownDescription" : "Set a custom color for the easymotion dimmed characters when `#vim.easymotionDimBackground#` is set to true."
2017-04-30 09:25:06 +03:00
} ,
2020-06-22 17:53:10 +03:00
"vim.easymotionDimBackground" : {
"type" : "boolean" ,
"description" : "Whether to dim other text while markers are visible." ,
"default" : true
2017-04-30 09:25:06 +03:00
} ,
"vim.easymotionMarkerFontWeight" : {
"type" : "string" ,
"description" : "Set the font weight of the marker text." ,
2020-08-12 06:36:04 +03:00
"default" : "bold"
2017-04-30 09:25:06 +03:00
} ,
2017-09-03 08:11:02 +03:00
"vim.easymotionKeys" : {
"type" : "string" ,
2019-09-05 02:55:35 +03:00
"description" : "Set the characters used for jump marker name." ,
2017-09-03 08:11:02 +03:00
"default" : "hklyuiopnm,qwertzxcvbasdgjf;"
} ,
2018-04-01 08:47:31 +03:00
"vim.easymotionJumpToAnywhereRegex" : {
"type" : "string" ,
2019-09-05 02:55:35 +03:00
"description" : "Regex matches for JumpToAnywhere motion." ,
2018-04-01 08:47:31 +03:00
"default" : "\\b[A-Za-z0-9]|[A-Za-z0-9]\\b|_.|#.|[a-z][A-Z]"
} ,
2019-07-24 08:14:57 +03:00
"vim.replaceWithRegister" : {
"type" : "boolean" ,
2019-09-05 05:13:16 +03:00
"markdownDescription" : "Enable the [ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister) plugin for Vim." ,
2019-07-24 08:14:57 +03:00
"default" : false
} ,
2020-09-15 19:19:56 +03:00
"vim.smartRelativeLine" : {
"type" : "boolean" ,
"markdownDescription" : "`#editor.lineNumbers#` is determined by the active Vim mode, absolute when in insert mode, relative otherwise." ,
"default" : false
} ,
2022-03-13 04:53:26 +03:00
"vim.targets.enable" : {
"type" : "boolean" ,
2022-12-05 05:31:56 +03:00
"markdownDescription" : "Enable [targets.vim](https://github.com/wellle/targets.vim#quote-text-objects) plugin (not fully implemented yet)." ,
2022-03-13 04:53:26 +03:00
"default" : false
} ,
2022-03-22 08:34:34 +03:00
"vim.targets.bracketObjects.enable" : {
"type" : "boolean" ,
2022-10-30 02:42:29 +03:00
"markdownDescription" : "Enable last/next movements for bracket objects." ,
2022-03-22 08:34:34 +03:00
"default" : true
} ,
2022-03-13 04:53:26 +03:00
"vim.targets.smartQuotes.enable" : {
"type" : "boolean" ,
"markdownDescription" : "Enable the smart quotes movements from [targets.vim](https://github.com/wellle/targets.vim#quote-text-objects)." ,
"default" : true
} ,
"vim.targets.smartQuotes.breakThroughLines" : {
"type" : "boolean" ,
"markdownDescription" : "Whether to break through lines when using [n]ext/[l]ast motion, see [targets.vim#next-and-last-quote](https://github.com/wellle/targets.vim#next-and-last-quote)." ,
"default" : true
} ,
"vim.targets.smartQuotes.aIncludesSurroundingSpaces" : {
"type" : "boolean" ,
"markdownDescription" : "Whether to use default Vim behavior when using `a` (e.g. `da'`) which include surrounding spaces, or not, as for other text objects." ,
"default" : true
} ,
2018-01-17 07:29:38 +03:00
"vim.sneak" : {
"type" : "boolean" ,
2019-09-05 05:13:16 +03:00
"markdownDescription" : "Enable the [Sneak](https://github.com/justinmk/vim-sneak) plugin for Vim." ,
2018-01-17 07:29:38 +03:00
"default" : false
} ,
2018-07-12 07:46:07 +03:00
"vim.sneakUseIgnorecaseAndSmartcase" : {
"type" : "boolean" ,
2020-07-07 18:32:42 +03:00
"markdownDescription" : "Case sensitivity is determined by `#vim.ignorecase#` and `#vim.smartcase#`." ,
2018-07-12 07:46:07 +03:00
"default" : false
} ,
2019-09-06 05:44:41 +03:00
"vim.sneakReplacesF" : {
"type" : "boolean" ,
"markdownDescription" : "Use single-character [Sneak](https://github.com/justinmk/vim-sneak) instead of Vim's native `f`." ,
"default" : false
} ,
2017-04-30 09:25:06 +03:00
"vim.surround" : {
"type" : "boolean" ,
2019-09-05 05:13:16 +03:00
"markdownDescription" : "Enable the [Surround](https://github.com/tpope/vim-surround) plugin for Vim." ,
2017-04-30 09:25:06 +03:00
"default" : true
} ,
2020-03-29 14:25:12 +03:00
"vim.argumentObjectSeparators" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"markdownDescription" : "Set separators for the argument text object." ,
"default" : [
","
]
} ,
"vim.argumentObjectOpeningDelimiters" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"markdownDescription" : "Set opening delimiters for the argument text object." ,
"default" : [
"(" ,
"["
]
} ,
"vim.argumentObjectClosingDelimiters" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"markdownDescription" : "Set closing delimiters for the argument text object." ,
"default" : [
")" ,
"]"
]
} ,
2017-04-30 09:25:06 +03:00
"vim.hlsearch" : {
"type" : "boolean" ,
2019-09-05 02:55:35 +03:00
"description" : "Show all matches of the most recent search pattern." ,
2017-04-30 09:25:06 +03:00
"default" : false
} ,
2022-02-07 07:54:53 +03:00
"vim.inccommand" : {
"type" : "string" ,
"markdownDescription" : "Show the effects of the `:substitute` command as you type." ,
"default" : "replace" ,
"enum" : [
"" ,
"append" ,
"replace"
] ,
"enumDescriptions" : [
"Don't show substitutions" ,
"Show substitutions after matched text" ,
"Replace matched text with substitutions"
]
} ,
2017-04-30 09:25:06 +03:00
"vim.incsearch" : {
"type" : "boolean" ,
2019-09-05 05:13:16 +03:00
"markdownDescription" : "Show where a `/` or `?` search matches as you type it." ,
2017-04-30 09:25:06 +03:00
"default" : true
} ,
"vim.history" : {
"type" : "number" ,
2019-09-05 02:55:35 +03:00
"description" : "How much search or command history should be remembered." ,
2019-09-05 04:22:23 +03:00
"default" : 50 ,
2023-10-22 04:47:39 +03:00
"minimum" : 1 ,
"maximum" : 10000
2017-04-30 09:25:06 +03:00
} ,
"vim.autoindent" : {
"type" : "boolean" ,
"description" : "Indent code automatically." ,
"default" : true
} ,
2021-04-20 04:43:34 +03:00
"vim.joinspaces" : {
"type" : "boolean" ,
"description" : "Add two spaces after '.', '?', and '!' when joining or reformatting." ,
"default" : true
} ,
2017-04-30 09:25:06 +03:00
"vim.startInInsertMode" : {
"type" : "boolean" ,
2019-09-05 05:13:16 +03:00
"description" : "Start in Insert mode."
2017-04-30 09:25:06 +03:00
} ,
"vim.handleKeys" : {
"type" : "object" ,
2023-10-22 05:57:24 +03:00
"description" : "Delegate certain key combinations back to VS Code to be handled natively." ,
2018-01-23 09:03:34 +03:00
"default" : {
2022-04-06 18:36:51 +03:00
"<C-d>" : true ,
2022-05-17 23:23:00 +03:00
"<C-s>" : false ,
"<C-z>" : false
2018-01-23 09:03:34 +03:00
}
2017-04-30 09:25:06 +03:00
} ,
"vim.statusBarColorControl" : {
"type" : "boolean" ,
2019-09-05 05:13:16 +03:00
"markdownDescription" : "Allow VSCodeVim to change status bar color based on mode. **NOTE:** Using this feature will have a negative impact on performance." ,
2018-07-30 10:34:27 +03:00
"default" : false
2017-04-30 09:25:06 +03:00
} ,
2018-07-30 10:34:27 +03:00
"vim.statusBarColors.normal" : {
2019-06-28 06:20:26 +03:00
"type" : [
"string" ,
"array"
] ,
2019-09-05 02:55:35 +03:00
"description" : "Status bar color when in Normal mode." ,
2023-10-19 07:39:09 +03:00
"default" : [
"#005f5f" ,
"#ffffff"
]
2018-07-30 10:34:27 +03:00
} ,
"vim.statusBarColors.insert" : {
2019-06-28 06:20:26 +03:00
"type" : [
"string" ,
"array"
] ,
2019-09-05 02:55:35 +03:00
"description" : "Status bar color when in Insert mode." ,
2023-10-19 07:39:09 +03:00
"default" : [
"#5f0000" ,
"#ffffff"
]
2018-07-30 10:34:27 +03:00
} ,
"vim.statusBarColors.visual" : {
2019-06-28 06:20:26 +03:00
"type" : [
"string" ,
"array"
] ,
2019-09-05 02:55:35 +03:00
"description" : "Status bar color when in Visual mode." ,
2023-10-19 07:39:09 +03:00
"default" : [
"#5f00af" ,
"#ffffff"
]
2018-07-30 10:34:27 +03:00
} ,
"vim.statusBarColors.visualline" : {
2019-06-28 06:20:26 +03:00
"type" : [
"string" ,
"array"
] ,
2019-09-05 02:55:35 +03:00
"description" : "Status bar color when in VisualLine mode." ,
2023-10-19 07:39:09 +03:00
"default" : [
2023-11-17 05:02:13 +03:00
"#005f87" ,
2023-10-19 07:39:09 +03:00
"#ffffff"
]
2018-07-30 10:34:27 +03:00
} ,
"vim.statusBarColors.visualblock" : {
2019-06-28 06:20:26 +03:00
"type" : [
"string" ,
"array"
] ,
2019-09-05 02:55:35 +03:00
"description" : "Status bar color when in VisualBlock mode." ,
2023-10-19 07:39:09 +03:00
"default" : [
"#86592d" ,
"#ffffff"
]
2018-07-30 10:34:27 +03:00
} ,
"vim.statusBarColors.replace" : {
2019-06-28 06:20:26 +03:00
"type" : [
"string" ,
"array"
] ,
2019-09-05 02:55:35 +03:00
"description" : "Status bar color when in Replace mode." ,
2023-10-19 07:39:09 +03:00
"default" : [
"#00000" ,
"#ffffff"
]
2017-04-30 21:29:03 +03:00
} ,
2019-11-02 08:18:00 +03:00
"vim.statusBarColors.commandlineinprogress" : {
"type" : [
"string" ,
"array"
] ,
"description" : "Status bar color when in CommandLineInProgress mode." ,
2023-10-19 07:39:09 +03:00
"default" : [
"#007acc" ,
"#ffffff"
]
2019-11-02 08:18:00 +03:00
} ,
"vim.statusBarColors.searchinprogressmode" : {
"type" : [
"string" ,
"array"
] ,
"description" : "Status bar color when in SearchInProgress mode." ,
2023-10-19 07:39:09 +03:00
"default" : [
"#007acc" ,
"#ffffff"
]
2019-11-02 08:18:00 +03:00
} ,
"vim.statusBarColors.easymotionmode" : {
"type" : [
"string" ,
"array"
] ,
"description" : "Status bar color when in EasyMotion mode." ,
2023-10-19 07:39:09 +03:00
"default" : [
"#007acc" ,
"#ffffff"
]
2019-11-02 08:18:00 +03:00
} ,
"vim.statusBarColors.easymotioninputmode" : {
"type" : [
"string" ,
"array"
] ,
"description" : "Status bar color when in EasyMotionInput mode." ,
2023-10-19 07:39:09 +03:00
"default" : [
"#007acc" ,
"#ffffff"
]
2019-11-02 08:18:00 +03:00
} ,
"vim.statusBarColors.surroundinputmode" : {
"type" : [
"string" ,
"array"
] ,
"description" : "Status bar color when in SurroundInput mode." ,
2023-10-19 07:39:09 +03:00
"default" : [
"#007acc" ,
"#ffffff"
]
2019-11-02 08:18:00 +03:00
} ,
2017-04-30 21:29:03 +03:00
"vim.visualstar" : {
"type" : "boolean" ,
2019-09-05 05:13:16 +03:00
"markdownDescription" : "In Visual mode, start a search with `*` or `#` using the current selection." ,
2017-05-01 05:57:02 +03:00
"default" : false
2017-05-16 03:33:38 +03:00
} ,
2018-07-31 20:26:02 +03:00
"vim.changeWordIncludesWhitespace" : {
"type" : "boolean" ,
2019-09-05 02:55:35 +03:00
"description" : "Includes trailing whitespace when changing word." ,
2018-07-31 20:26:02 +03:00
"default" : false
} ,
2017-05-16 03:33:38 +03:00
"vim.foldfix" : {
"type" : "boolean" ,
2019-09-05 02:55:35 +03:00
"description" : "Uses a hack to move around folds properly." ,
2017-05-19 06:19:33 +03:00
"default" : false
2017-05-20 11:40:38 +03:00
} ,
2017-07-04 06:59:06 +03:00
"vim.mouseSelectionGoesIntoVisualMode" : {
"type" : "boolean" ,
2020-07-07 18:32:42 +03:00
"description" : "If enabled, dragging with the mouse activates Visual mode." ,
2017-07-04 06:59:06 +03:00
"default" : true
} ,
2017-11-12 22:04:28 +03:00
"vim.disableExtension" : {
"type" : "boolean" ,
2020-07-07 18:32:42 +03:00
"description" : "Disables the VSCodeVim extension. The extension will continue to be loaded and activated, but Vim functionality will be disabled." ,
2017-11-12 22:04:28 +03:00
"default" : false
} ,
2017-05-21 20:25:15 +03:00
"vim.enableNeovim" : {
"type" : "boolean" ,
2020-07-07 18:32:42 +03:00
"markdownDescription" : "Use Neovim to execute Ex commands. You should restart VS Code after enabling/disabling this for the changes to take effect. **NOTE:** Neovim version 0.2.0 or greater must be installed, and if the executable is not on your PATH, `#vim.neovimPath#` must be set." ,
2017-05-22 06:40:55 +03:00
"default" : false
2017-05-21 20:25:15 +03:00
} ,
"vim.neovimPath" : {
"type" : "string" ,
2019-09-05 08:50:43 +03:00
"markdownDescription" : "Path to Neovim executable. For example, `/usr/bin/nvim`, or `C:\\Program Files\\Neovim\\bin\\nvim.exe`." ,
2019-10-11 05:22:54 +03:00
"default" : "" ,
2021-03-18 01:04:18 +03:00
"scope" : "machine"
2021-02-19 05:26:08 +03:00
} ,
"vim.neovimUseConfigFile" : {
"type" : "boolean" ,
2023-10-22 04:42:32 +03:00
"markdownDescription" : "Use a config file for Neovim, specified by `#vim.neovimConfigPath#`." ,
2021-02-19 05:26:08 +03:00
"default" : false
} ,
"vim.neovimConfigPath" : {
"type" : "string" ,
2023-10-22 04:42:32 +03:00
"markdownDescription" : "Path to Neovim configuration file. `#vim.neovimUseConfigFile#` must be enabled. If path is left blank, Neovim will use its default config path, i.e. `~/.config/nvim/init.vim` or 'C:\\Users\\USERNAME\\AppData\\Local\\nvim\\init.vim'." ,
2021-02-19 05:26:08 +03:00
"default" : "" ,
2021-03-18 01:04:18 +03:00
"scope" : "machine"
2017-05-22 10:15:47 +03:00
} ,
2019-11-10 07:16:46 +03:00
"vim.vimrc.enable" : {
"type" : "boolean" ,
2020-07-07 18:32:42 +03:00
"markdownDescription" : "Use key mappings from a `.vimrc` file." ,
2019-12-26 06:55:55 +03:00
"default" : false
2019-11-10 07:16:46 +03:00
} ,
"vim.vimrc.path" : {
"type" : "string" ,
2023-01-04 04:37:34 +03:00
"markdownDescription" : "Path to a Vim configuration file. If unset, it will check for `$HOME/.vscodevimrc`, `$HOME/.vimrc`, `$HOME/_vimrc`, and `$HOME/.config/nvim/init.vim`, in that order."
2019-11-10 07:16:46 +03:00
} ,
2017-07-06 18:28:09 +03:00
"vim.substituteGlobalFlag" : {
"type" : "boolean" ,
2019-09-05 05:37:51 +03:00
"markdownDescription" : "Automatically apply the global flag, `/g`, to substitute commands. When set to true, use `/g` to mean only first match should be replaced." ,
"default" : false ,
2020-07-07 18:32:42 +03:00
"markdownDeprecationMessage" : "**Deprecated**: Please use `#vim.gdefault#` instead." ,
"deprecationMessage" : "Deprecated: Please use vim.gdefault instead."
2019-09-05 05:37:51 +03:00
} ,
"vim.gdefault" : {
"type" : "boolean" ,
"markdownDescription" : "Automatically apply the global flag, `/g`, to substitute commands. When set to true, use `/g` to mean only first match should be replaced." ,
2017-10-12 19:31:10 +03:00
"default" : false
2017-10-06 04:30:09 +03:00
} ,
2018-07-30 10:40:52 +03:00
"vim.cursorStylePerMode.normal" : {
"type" : "string" ,
2019-09-05 04:22:23 +03:00
"description" : "Cursor style for Normal mode." ,
"enum" : [
"" ,
"block" ,
"block-outline" ,
"line" ,
"line-thin" ,
"underline" ,
"underline-thin"
]
2018-07-30 10:40:52 +03:00
} ,
"vim.cursorStylePerMode.insert" : {
"type" : "string" ,
2019-09-05 04:22:23 +03:00
"description" : "Cursor style for Insert mode." ,
"enum" : [
"" ,
"block" ,
"block-outline" ,
"line" ,
"line-thin" ,
"underline" ,
"underline-thin"
]
2018-07-30 10:40:52 +03:00
} ,
"vim.cursorStylePerMode.replace" : {
"type" : "string" ,
2019-09-05 04:22:23 +03:00
"description" : "Cursor style for Replace mode." ,
"enum" : [
"" ,
"block" ,
"block-outline" ,
"line" ,
"line-thin" ,
"underline" ,
"underline-thin"
]
2018-07-30 10:40:52 +03:00
} ,
"vim.cursorStylePerMode.visual" : {
"type" : "string" ,
2019-09-05 04:22:23 +03:00
"description" : "Cursor style for Visual mode." ,
"enum" : [
"" ,
"block" ,
"block-outline" ,
"line" ,
"line-thin" ,
"underline" ,
"underline-thin"
]
2018-07-30 10:40:52 +03:00
} ,
"vim.cursorStylePerMode.visualline" : {
"type" : "string" ,
2019-09-05 04:22:23 +03:00
"description" : "Cursor style for VisualLine mode." ,
"enum" : [
"" ,
"block" ,
"block-outline" ,
"line" ,
"line-thin" ,
"underline" ,
"underline-thin"
]
2018-07-30 10:40:52 +03:00
} ,
"vim.cursorStylePerMode.visualblock" : {
"type" : "string" ,
2019-09-05 04:22:23 +03:00
"description" : "Cursor style for VisualBlock mode." ,
"enum" : [
"" ,
"block" ,
"block-outline" ,
"line" ,
"line-thin" ,
"underline" ,
"underline-thin"
]
2018-07-20 20:57:08 +03:00
} ,
2018-06-26 12:03:52 +03:00
"vim.autoSwitchInputMethod.enable" : {
"type" : "boolean" ,
2020-07-07 18:32:42 +03:00
"description" : "If enabled, the input method switches automatically when the mode changes." ,
2018-06-26 12:03:52 +03:00
"default" : false
} ,
"vim.autoSwitchInputMethod.defaultIM" : {
"type" : "string" ,
2019-09-05 05:13:16 +03:00
"markdownDescription" : "The input method for your normal mode, find more information [here](https://github.com/VSCodeVim/Vim#input-method)." ,
2022-12-28 05:27:05 +03:00
"default" : "" ,
"scope" : "machine"
2018-06-26 12:03:52 +03:00
} ,
"vim.autoSwitchInputMethod.switchIMCmd" : {
"type" : "string" ,
2019-09-05 02:55:35 +03:00
"description" : "The shell command to switch input method." ,
2022-12-28 05:27:05 +03:00
"default" : "/path/to/im-select {im}" ,
"scope" : "machine"
2018-06-26 12:03:52 +03:00
} ,
"vim.autoSwitchInputMethod.obtainIMCmd" : {
"type" : "string" ,
2019-09-05 02:55:35 +03:00
"description" : "The shell command to get current input method." ,
2022-12-28 05:27:05 +03:00
"default" : "/path/to/im-select" ,
"scope" : "machine"
2018-07-20 20:57:08 +03:00
} ,
"vim.whichwrap" : {
"type" : "string" ,
"description" : "Comma-separated list of motion keys that should wrap to next/previous line." ,
2021-03-04 23:04:30 +03:00
"default" : "b,s"
2019-01-06 23:32:07 +03:00
} ,
"vim.report" : {
"type" : "number" ,
"description" : "Threshold for reporting number of lines changed." ,
2019-09-05 04:22:23 +03:00
"default" : 2 ,
"minimum" : 1
2019-01-23 23:00:00 +03:00
} ,
2019-02-01 13:22:30 +03:00
"vim.digraphs" : {
2019-01-23 23:00:00 +03:00
"type" : "object" ,
2019-09-05 02:55:35 +03:00
"description" : "Custom digraph shortcuts for inserting special characters, expressed as UTF16 code points." ,
2019-02-01 02:13:49 +03:00
"default" : { }
2019-09-04 08:34:53 +03:00
} ,
"vim.wrapscan" : {
"type" : "boolean" ,
2019-09-05 02:55:35 +03:00
"description" : "Searches wrap around the end of the file." ,
2019-09-04 08:34:53 +03:00
"default" : true
2019-10-06 02:39:44 +03:00
} ,
"vim.startofline" : {
"type" : "boolean" ,
"markdownDescription" : "When `true` the commands listed below move the cursor to the first non-blank of the line. When `false` the cursor is kept in the same column (if possible). This applies to the commands: `<C-d>`, `<C-u>`, `<C-b>`, `<C-f>`, `G`, `H`, `M`, `L`, `gg`, and to the commands `d`, `<<` and `>>` with a linewise operator." ,
"default" : true
2020-12-28 22:57:34 +03:00
} ,
"vim.showMarksInGutter" : {
"type" : "boolean" ,
"description" : "Show the currently set mark(s) in the gutter." ,
"default" : false
2021-11-27 03:09:27 +03:00
} ,
"vim.shell" : {
"type" : "string" ,
"description" : "Path to the shell to use for `!` and `:!` commands." ,
"default" : ""
2015-11-30 10:50:03 +03:00
}
2017-04-30 09:25:06 +03:00
}
2019-11-21 09:06:23 +03:00
} ,
"languages" : [
{
2023-10-25 04:52:27 +03:00
"id" : "Vimscript" ,
2019-11-21 09:06:23 +03:00
"extensions" : [
2023-10-25 04:52:27 +03:00
".vim" ,
2019-11-21 09:06:23 +03:00
".vimrc"
2020-09-01 17:45:34 +03:00
] ,
"configuration" : "./language-configuration.json"
2019-11-21 09:06:23 +03:00
}
] ,
"grammars" : [
{
2023-10-25 04:52:27 +03:00
"language" : "Vimscript" ,
"scopeName" : "source.vimscript" ,
"path" : "./syntaxes/vimscript.tmLanguage.json"
2019-11-21 09:06:23 +03:00
}
]
2017-04-30 09:25:06 +03:00
} ,
"scripts" : {
2018-07-17 09:07:11 +03:00
"vscode:prepublish" : "gulp build" ,
2018-07-15 22:22:53 +03:00
"build" : "gulp build" ,
2023-03-02 02:46:41 +03:00
"build-dev" : "gulp build-dev" ,
"build-test" : "gulp prepare-test" ,
2020-05-18 07:18:47 +03:00
"test" : "node ./out/test/runTest.js" ,
2023-12-23 04:16:43 +03:00
"lint" : "eslint ." ,
"lint:fix" : "eslint . --fix" ,
2023-03-02 06:47:19 +03:00
"prettier" : "prettier --write ." ,
"prettier:check" : "prettier --check ." ,
"watch" : "webpack -c webpack.dev.js --watch" ,
2023-03-02 04:10:23 +03:00
"package" : "yarn run vsce package --yarn --allow-star-activation" ,
"prepare" : "husky install"
2017-04-30 09:25:06 +03:00
} ,
"dependencies" : {
2020-05-21 04:18:47 +03:00
"diff-match-patch" : "1.0.5" ,
2021-05-07 17:25:36 +03:00
"lodash" : "^4.17.21" ,
2024-03-20 23:39:32 +03:00
"neovim" : "5.1.0" ,
2021-09-04 23:43:51 +03:00
"os-browserify" : "0.3.0" ,
2021-09-14 08:33:54 +03:00
"parsimmon" : "^1.18.0" ,
2020-12-14 23:04:03 +03:00
"path-browserify" : "1.0.1" ,
2021-09-04 23:43:51 +03:00
"process" : "0.11.10" ,
2023-09-26 05:48:47 +03:00
"queue" : "^6.0.2" ,
2019-05-04 09:03:01 +03:00
"untildify" : "4.0.0" ,
2022-12-28 06:43:33 +03:00
"util" : "0.12.5"
2017-04-30 09:25:06 +03:00
} ,
"devDependencies" : {
2024-05-07 02:15:49 +03:00
"@types/diff" : "5.2.1" ,
2023-11-07 09:06:53 +03:00
"@types/diff-match-patch" : "1.0.36" ,
2023-03-01 07:13:37 +03:00
"@types/glob" : "8.1.0" ,
2024-06-08 15:02:13 +03:00
"@types/lodash" : "4.17.5" ,
2024-06-22 22:19:24 +03:00
"@types/mocha" : "10.0.7" ,
2024-06-22 17:24:45 +03:00
"@types/node" : "18.19.39" ,
2023-11-08 09:07:36 +03:00
"@types/parsimmon" : "1.10.9" ,
2024-01-11 06:58:47 +03:00
"@types/sinon" : "17.0.3" ,
2022-12-28 06:43:33 +03:00
"@types/vscode" : "1.74.0" ,
2024-02-13 03:37:18 +03:00
"@typescript-eslint/eslint-plugin" : "^7.0.0" ,
"@typescript-eslint/parser" : "^7.0.0" ,
2024-05-30 00:42:24 +03:00
"@vscode/test-electron" : "2.4.0" ,
2022-12-06 06:08:15 +03:00
"circular-dependency-plugin" : "^5.2.2" ,
2021-09-01 18:30:04 +03:00
"clean-webpack-plugin" : "4.0.0" ,
2023-12-23 04:16:43 +03:00
"eslint" : "^8.52.0" ,
"eslint-config-prettier" : "^9.0.0" ,
2024-01-11 05:42:31 +03:00
"eslint-plugin-jsdoc" : "^48.0.0" ,
2023-12-23 04:16:43 +03:00
"eslint-plugin-prefer-arrow" : "^1.2.3" ,
2020-09-20 22:49:38 +03:00
"event-stream" : "4.0.1" ,
2023-10-30 00:59:02 +03:00
"fork-ts-checker-webpack-plugin" : "9.0.2" ,
2024-04-05 09:01:14 +03:00
"gulp" : "5.0.0" ,
2020-06-25 07:58:16 +03:00
"gulp-bump" : "3.2.0" ,
2020-03-31 05:31:34 +03:00
"gulp-git" : "2.10.1" ,
2018-03-30 11:39:22 +03:00
"gulp-tag-version" : "1.3.1" ,
2019-03-17 08:18:14 +03:00
"gulp-typescript" : "5.0.1" ,
2024-01-25 13:48:45 +03:00
"husky" : "^9.0.0" ,
2023-10-19 07:10:16 +03:00
"lint-staged" : "^15.0.0" ,
2023-03-01 07:33:14 +03:00
"minimist" : "1.2.8" ,
2024-06-25 00:01:30 +03:00
"mocha" : "10.5.0" ,
2022-12-07 00:08:51 +03:00
"plugin-error" : "2.0.1" ,
2024-06-11 12:23:31 +03:00
"prettier" : "3.3.2" ,
2024-05-16 16:20:21 +03:00
"sinon" : "18.0.0" ,
2023-11-15 09:28:19 +03:00
"ts-loader" : "9.5.1" ,
2024-04-10 21:55:30 +03:00
"typescript" : "5.4.5" ,
2022-12-02 18:23:12 +03:00
"vsce" : "2.15.0" ,
2024-06-20 01:33:35 +03:00
"webpack" : "5.92.1" ,
2023-06-08 00:52:13 +03:00
"webpack-cli" : "5.1.4" ,
2023-10-16 16:22:56 +03:00
"webpack-merge" : "5.10.0" ,
2021-09-04 23:43:51 +03:00
"webpack-stream" : "7.0.0"
2023-03-02 04:10:23 +03:00
} ,
"lint-staged" : {
2023-03-02 06:58:13 +03:00
"*.{ts,js,json,md,yml}" : "prettier --write" ,
2023-12-23 04:16:43 +03:00
"*.ts" : "eslint --fix"
2017-04-30 09:25:06 +03:00
}
2020-07-08 01:30:57 +03:00
}