New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
<C-d>, etc. not working at beginning or end of buffer in 1.11.2 #4179
Comments
That's very strange - this is almost certainly a result of 2237394, which fixed the very issue you're describing for me (though there are still a few edge cases in the implementation which I've been meaning on going back to). Can you please show your settings? |
Interestingly enough, Here are my settings, I've removed some settings that are completely unrelated
edit: fixing markdown |
I'm having the same issue. Near the beginning of a buffer Click to expand settings{
"editor.fontLigatures": true,
"editor.renderWhitespace": "selection",
"editor.lineNumbers": "relative",
"editor.rulers": [88, 120],
"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": false,
},
"editor.occurrencesHighlight": false,
"editor.renderLineHighlight": "all",
"editor.renderControlCharacters": true,
"editor.roundedSelection": true,
"editor.minimap.enabled": false,
"editor.smoothScrolling": true,
"editor.overviewRulerBorder": true,
"editor.tabCompletion": "on",
"editor.snippetSuggestions": "bottom",
"vim.leader": ",",
"vim.useSystemClipboard": true,
"vim.hlsearch": true,
"vim.visualstar": true,
"vim.foldfix": false,
"vim.easymotion": true,
"vim.showmodename": true,
"vim.statusBarColorControl": false,
"vim.cursorStylePerMode.normal": "block",
"vim.cursorStylePerMode.insert": "line",
"vim.cursorStylePerMode.replace": "underline",
"vim.cursorStylePerMode.visual": "block-outline",
"vim.cursorStylePerMode.visualline": "block-outline",
"vim.cursorStylePerMode.visualblock": "block-outline",
"vim.enableNeovim": true,
"vim.neovimPath": "/usr/local/bin/nvim",
"vim.insertModeKeyBindingsNonRecursive": [
{ "before": ["<C-l>"], "commands": [":nohl", "closeFindWidget"] },
],
"vim.normalModeKeyBindingsNonRecursive": [
{ "before": ["<C-l>"], "after": ["<Esc>"], "commands": [":nohl", "closeFindWidget"] },
{ "before": ["<C-w>", "H"], "commands": ["workbench.action.moveEditorToLeftGroup"] },
{ "before": ["<C-w>", "L"], "commands": ["workbench.action.moveEditorToRightGroup"] },
{ "before": ["<C-w>", "K"], "commands": ["workbench.action.moveEditorToAboveGroup"] },
{ "before": ["<C-w>", "J"], "commands": ["workbench.action.moveEditorToBelowGroup"] },
{ "before": ["<C-w>", "\\"], "commands": ["workbench.action.joinAllGroups"] },
{ "before": ["<leader>", "b"], "commands": ["breadcrumbs.toggle"] },
{ "before": ["<leader>", "t"], "commands": ["workbench.action.tasks.runTask"] },
{ "before": ["<leader>", "="], "commands": ["workbench.action.minimizeOtherEditors"] },
{ "before": ["g", "t"], "commands": ["workbench.action.terminal.focus"] },
{ "before": ["<leader>", "o"], "commands": ["outline.focus"] },
{ "before": ["u"], "commands": ["undo"] },
{ "before": ["<C-r>"], "commands": ["redo"] },
],
"vim.visualModeKeyBindingsNonRecursive": [
{ "before": ["<C-l>"], "after": ["<Esc>"], "commands": [":nohl", "closeFindWidget"] },
{ "before": [">"], "commands": ["editor.action.indentLines"] },
{ "before": ["<"], "commands": ["editor.action.outdentLines"] },
],
"vim.highlightedyank.enable": true,
"vim.highlightedyank.color": "#c2185b",
"workbench.useExperimentalGridLayout": true,
} You can see my full settings file here: |
Same here: settings.json
{
"editor.codeLens": true,
"workbench.colorTheme": "Monokai Pro",
"workbench.iconTheme": "Monokai Pro Icons",
"workbench.activityBar.visible": false,
"window.zoomLevel": -1,
"window.menuBarVisibility": "toggle",
"zenMode.centerLayout": false,
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.minimap.enabled": false,
"diffEditor.renderSideBySide": false,
"gitlens.advanced.messages": {
"suppressShowKeyBindingsNotice": true
},
"files.associations": {
"*.qrc": "xml",
"*.{unity,asset,meta}": "yaml"
},
"terminal.integrated.commandsToSkipShell": [
"-workbench.action.terminal.focusFindWidget",
"-workbench.action.quickOpen",
],
"vim.leader": "<space>",
"vim.foldfix": true,
"vim.sneak": true,
"vim.statusBarColorControl": false,
"vim.disableExtension": false,
"vim.hlsearch": true,
"vim.handleKeys": {
"<C-b>": false,
"<C-f>": true
},
"vim.normalModeKeyBindingsNonRecursive": [
{
"before":["leader", "leader"],
"after": [],
"commands": [
{
"command": "workbench.action.showCommands"
}
]
},
{
"before":["leader", "e", "e"],
"after": [],
"commands": [
{
"command": "workbench.view.explorer"
}
]
},
{
"before":["leader", "f", "f"],
"after": [],
"commands": [
{
"command": "workbench.view.search"
}
]
},
{
"before":["leader", "g", "s"],
"commands": [
{
"command": "workbench.view.scm"
}
]
},
{
"before":["leader", "g", "l"],
"commands": [
{
"command": "gitlens.showGitExplorer"
}
]
},
{
"before":["leader", "g", "d"],
"commands": [
{
"command": "git.openChange"
}
]
},
{
"before":["leader", "d", "d"],
"after": [],
"commands": [
{
"command": "workbench.view.debug"
}
]
},
{
"before":["leader", "x", "x"],
"after": [],
"commands": [
{
"command": "workbench.view.extensions"
}
]
},
{
"before":["leader", "k"],
"after": [],
"commands": [
{
"command": "workbench.action.keepEditor"
}
]
},
{
"before":["<C-w>", "H"],
"after": [],
"commands": [
{
"command": "workbench.action.moveEditorToLeftGroup"
}
]
},
{
"before":["<C-w>", "J"],
"after": [],
"commands": [
{
"command": "workbench.action.moveEditorToBelowGroup"
}
]
},
{
"before":["<C-w>", "K"],
"after": [],
"commands": [
{
"command": "workbench.action.moveEditorToAboveGroup"
}
]
},
{
"before":["<C-w>", "L"],
"after": [],
"commands": [
{
"command": "workbench.action.moveEditorToRightGroup"
}
]
},
{
"before":["<C-w>", "s"],
"after": [],
"commands": [
{
"command": "workbench.action.splitEditorDown"
}
]
},
{
"before":["leader", "b", "d"],
"after": [],
"commands": [
{
"command": "workbench.action.closeActiveEditor"
}
]
},
{
"before":["]", "q"],
"after": [],
"commands": [
{
"command": "editor.action.marker.next"
}
]
},
{
"before":["[", "q"],
"after": [],
"commands": [
{
"command": "editor.action.marker.previous"
}
]
},
{
"before":["]", "c"],
"after": [],
"commands": [
{
"command": "workbench.action.editor.nextChange"
},
{
"command": "workbench.action.compareEditor.nextChange"
}
]
},
{
"before":["[", "c"],
"after": [],
"commands": [
{
"command": "workbench.action.editor.previousChange"
},
{
"command": "workbench.action.compareEditor.previousChange"
}
]
}
],
"gitlens.views.fileHistory.enabled": true,
"gitlens.views.lineHistory.enabled": true,
"editor.lineHeight": 17,
"workbench.colorCustomizations": {
"activityBarBadge.background": "#FF7042",
"list.activeSelectionForeground": "#FF7042",
"list.inactiveSelectionForeground": "#FF7042",
"list.highlightForeground": "#FF7042",
"scrollbarSlider.activeBackground": "#FF704250",
"editorSuggestWidget.highlightForeground": "#FF7042",
"textLink.foreground": "#FF7042",
"progressBar.background": "#FF7042",
"pickerGroup.foreground": "#FF7042",
"tab.activeBorder": "#FF7042",
"notificationLink.foreground": "#FF7042",
"editorWidget.resizeBorder": "#FF7042",
"editorWidget.border": "#FF7042",
"settings.modifiedItemIndicator": "#FF7042",
"settings.headerForeground": "#FF7042",
"panelTitle.activeBorder": "#FF7042",
"breadcrumb.activeSelectionForeground": "#FF7042",
"menu.selectionForeground": "#FF7042",
"menubar.selectionForeground": "#FF7042",
},
"cmake.configureOnOpen": false,
"workbench.sideBar.location": "left",
"toggle.iconEnabled": false,
"editor.acceptSuggestionOnCommitCharacter": false,
"[cpp]": {
"editor.defaultFormatter": "ms-vscode.cpptools"
},
"platformio-ide.disablePIOHomeStartup": true,
"editor.smoothScrolling": true,
"editor.fontFamily": "'MesloLGS Nerd Font', Menlo, Monaco, 'Courier New', monospace",
"diffEditor.ignoreTrimWhitespace": true,
} keybindings.json
[
{
"key": "alt+left",
"command": "workbench.action.navigateBack"
},
{
"key": "ctrl+alt+-",
"command": "-workbench.action.navigateBack"
},
{
"key": "alt+right",
"command": "workbench.action.navigateForward"
},
{
"key": "ctrl+shift+-",
"command": "-workbench.action.navigateForward"
},
{
"key": "cmd+j",
"command": "workbench.action.nextEditor",
"when": "editorTextFocus && vim.active && !inDebugRepl && vim.mode != 'Insert'"
},
{
"key": "cmd+k",
"command": "workbench.action.previousEditor",
"when": "editorTextFocus && vim.active && !inDebugRepl && vim.mode != 'Insert'"
},
{
"key": "ctrl+n",
"command": "workbench.action.quickOpenNavigateNext",
"when": "inQuickOpen"
},
{
"key": "ctrl+p",
"command": "workbench.action.quickOpenNavigatePrevious",
"when": "inQuickOpen"
},
{
"key": "ctrl+h",
"command": "workbench.action.navigateLeft"
},
{
"key": "ctrl+j",
"command": "workbench.action.navigateDown"
},
{
"key": "ctrl+k",
"command": "workbench.action.navigateUp"
},
{
"key": "ctrl+k",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
{
"key": "ctrl+l",
"command": "workbench.action.navigateRight"
},
{
"key": "shift+alt+h",
"command": "-gitlens.showQuickRepoHistory",
"when": "gitlens:enabled && gitlens:keymap == 'alternate'"
},
{
"key": "d p",
"command": "git.stageSelectedRanges",
"when": "isInDiffEditor && vim.active && !inDebugRepl && vim.mode != 'Insert'"
},
{
"key": "d o",
"command": "git.unstageSelectedRanges",
"when": "isInDiffEditor && vim.active && !inDebugRepl && vim.mode != 'Insert'"
},
{
"key": "ctrl+cmd+o",
"command": "workbench.action.toggleMaximizedPanel"
},
{
"key": "cmd+1",
"command": "-workbench.action.focusFirstEditorGroup"
},
{
"key": "cmd+2",
"command": "-workbench.action.focusSecondEditorGroup"
},
{
"key": "cmd+3",
"command": "-workbench.action.focusThirdEditorGroup"
},
{
"key": "cmd+4",
"command": "-workbench.action.focusFourthEditorGroup"
},
{
"key": "cmd+5",
"command": "-workbench.action.focusFifthEditorGroup"
},
{
"key": "cmd+6",
"command": "-workbench.action.focusSixthEditorGroup"
},
{
"key": "cmd+7",
"command": "-workbench.action.focusSeventhEditorGroup"
},
{
"key": "cmd+8",
"command": "-workbench.action.focusEighthEditorGroup"
},
{
"key": "cmd+9",
"command": "-workbench.action.lastEditorInGroup"
},
{
"key": "ctrl+1",
"command": "-workbench.action.openEditorAtIndex1"
},
{
"key": "ctrl+2",
"command": "-workbench.action.openEditorAtIndex2"
},
{
"key": "ctrl+3",
"command": "-workbench.action.openEditorAtIndex3"
},
{
"key": "ctrl+4",
"command": "-workbench.action.openEditorAtIndex4"
},
{
"key": "ctrl+5",
"command": "-workbench.action.openEditorAtIndex5"
},
{
"key": "ctrl+6",
"command": "-workbench.action.openEditorAtIndex6"
},
{
"key": "ctrl+7",
"command": "-workbench.action.openEditorAtIndex7"
},
{
"key": "ctrl+8",
"command": "-workbench.action.openEditorAtIndex8"
},
{
"key": "ctrl+9",
"command": "-workbench.action.lastEditorInGroup"
},
{
"key": "cmd+1",
"command": "workbench.action.openEditorAtIndex1"
},
{
"key": "cmd+2",
"command": "workbench.action.openEditorAtIndex2"
},
{
"key": "cmd+3",
"command": "workbench.action.openEditorAtIndex3"
},
{
"key": "cmd+4",
"command": "workbench.action.openEditorAtIndex4"
},
{
"key": "cmd+5",
"command": "workbench.action.openEditorAtIndex5"
},
{
"key": "cmd+6",
"command": "workbench.action.openEditorAtIndex6"
},
{
"key": "cmd+7",
"command": "workbench.action.openEditorAtIndex7"
},
{
"key": "cmd+8",
"command": "workbench.action.openEditorAtIndex8"
},
{
"key": "cmd+9",
"command": "workbench.action.lastEditorInGroup"
},
{
"key": "ctrl+d",
"command": "-deleteRight",
"when": "textInputFocus && !editorReadonly"
},
{
"key": "ctrl+d",
"command": "-list.focusPageDown",
"when": "listFocus && !inputFocus"
},
{
"key": "ctrl+u",
"command": "-list.focusPageUp",
"when": "listFocus && !inputFocus"
},
] |
Same here! I also turned on handlekeys true for |
Similar issue:
Hitting |
@eastwood this is how vim behaves; it's expected default behavior. If you want the cursor's column to stay consistent, set |
Also happening for me settings.json{
"workbench.editor.enablePreviewFromQuickOpen": false,
"files.hotExit": "off",
"editor.fontSize": 16,
"editor.tabSize": 2,
"editor.wordWrap": "on",
"editor.fontFamily": "Ubuntu Mono derivative Powerline",
"terminal.integrated.fontFamily": "Ubuntu Mono derivative Powerline",
"editor.tabCompletion": true,
"editor.snippetSuggestions": "top",
"editor.smoothScrolling": true,
"editor.rulers": [80],
"vim.easymotion": true,
"vim.incsearch": true,
"vim.useSystemClipboard": true,
"vim.useCtrlKeys": true,
"vim.hlsearch": true,
"vim.insertModeKeyBindings": [
{
"before": ["j","j"],
"after": ["<Esc>"]
}
],
"vim.normalModeKeyBindings": [
{
"before": ["leader", "w"],
"after": ["leader", "leader", "w"]
},
{
"before": ["leader", "e"],
"after": ["leader", "leader", "e"]
},
{
"before": ["leader", "b"],
"after": ["leader", "leader", "b"]
},
{
"before": ["leader", "j"],
"after": ["leader", "leader", "j"]
},
{
"before": ["leader", "k"],
"after": ["leader", "leader", "k"]
},
{
"before": ["leader", "f"],
"after": ["leader", "leader", "f"]
},
{
"before": ["leader", "F"],
"after": ["leader", "leader", "F"]
},
],
"vim.leader": "<space>",
"keyboard.dispatch": "keyCode",
"vim.easymotionMarkerForegroundColorOneChar": "white",
"vim.easymotionMarkerForegroundColorTwoChar": "white",
"vim.easymotionMarkerFontSize": "16",
"vim.easymotionMarkerFontWeight": "bold",
"vim.easymotionMarkerFontFamily": "Ubuntu Mono",
"vim.handleKeys": {
"<C-w>": false,
"<C-d>": true,
"<C-f>": true,
"<C-b>": true
},
"window.zoomLevel": 0,
"files.exclude": {
"**/node_modules": true,
"**/.bower-*": true,
"**/bower_components": true
},
"window.menuBarVisibility": "toggle",
"editor.multiCursorModifier": "ctrlCmd",
"php.validate.enable": true,
"php.executablePath": "/usr/bin/php",
"php.validate.run": "onType",
"workbench.startupEditor": "newUntitledFile",
"explorer.openEditors.visible": 0,
"explorer.autoReveal": false,
"git.checkoutType": "local",
// "git.autorefresh": false,
// "git.autofetch": false,
"window.title": "${rootName}${separator}${dirty}${activeEditorMedium}${separator}${appName}",
"explorer.confirmDelete": false,
"gitlens.advanced.messages": {
"suppressCommitHasNoPreviousCommitWarning": false,
"suppressCommitNotFoundWarning": false,
"suppressFileNotUnderSourceControlWarning": false,
"suppressGitVersionWarning": false,
"suppressLineUncommittedWarning": false,
"suppressNoRepositoryWarning": false,
"suppressResultsExplorerNotice": false,
"suppressShowKeyBindingsNotice": true,
"suppressUpdateNotice": true,
"suppressWelcomeNotice": false
},
"workbench.colorTheme": "Monokai Dimmed",
"git.autofetch": true,
"git.confirmSync": false,
"editor.minimap.enabled": true,
"gitlens.keymap": "alternate",
"gitlens.mode.active": "review",
"gitlens.gitExplorer.location": "explorer",
"editor.cursorBlinking": "smooth",
"extensions.ignoreRecommendations": false,
"breadcrumbs.enabled": true,
"shellcheck.disableVersionCheck": true,
"php.suggest.basic": false,
"gitlens.advanced.repositorySearchDepth": 0,
"workbench.editor.highlightModifiedTabs": true,
"window.titleBarStyle": "native",
"gitlens.views.repositories.location": "explorer",
"gitlens.views.repositories.files.layout": "list",
"workbench.colorCustomizations": {
"peekViewEditor.background": "#4b595e00",
"peekViewEditor.matchHighlightBackground": "#4b595e00"
},
"emmet.includeLanguages": {
"javascript": "javascriptreact",
"jsx-sublime-babel-tags": "javascriptreact"
},
"editor.suggestSelection": "first",
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"editor.minimap.renderCharacters": false,
"editor.minimap.maxColumn": 200,
"editor.minimap.showSlider": "always",
"window.newWindowDimensions": "maximized",
"scm.defaultViewMode": "list",
"diffEditor.renderSideBySide": false,
// "php.memoryLimit": "512M"
} |
@J-Fields: I think what @eastwood is saying is that typing |
Thanks for pointing out the ambiguity, given the context of the ticket, I figured it was implied. Yes @blackrobot is right, |
@blackrobot @eastwood Ah I see - yeah, this is definitely a bug 🙂 I'll probably have an opportunity this weekend to take a closer look at this. Apologies again for the breakage. |
Would someone mind recording a video and showing me? I'm still having trouble reproducing. |
Hey all - I made some simplifying changes in db9d99c, including a fix to an edge case at the top/bottom of the file. I still can't reproduce the exact issue you're seeing - if someone could install Also: if it's still not working, try setting |
Hey, I recorded a small screencast of the extension on the master branch showing that the scrolling issue seems to be solved. However, when you have virtual scroll space enabled and the last line of the file is at the top of your screen, using Another issue that I found which can be seen at the end of the video, when scrolling back up to the top of the file using |
Thanks! Glad to see it.
Yeah, I'm aware of this and actually don't think it's fixable with the current VSCode API. The reason is that the best info we have on "how big a page is" is using the visible ranges, but this can be only a single line when using virtual space. If you want to use virtual space, I'd recommend setting
I believe this is an issue with smooth scrolling. Edit: this should work well now on |
It will still drift if you hold `<C-d>`, but I don't think this is fixable at the moment because we don't know when the scrolling has finished. Refs #4179
Closing this issue as it appears fixed |
This is broken again. |
@spacepluk Please make sure you're on 1.12.4. What's the behavior you're seeing, exactly? |
@J-Fields Nevermind, it was just that the behavior is different from vim when there are closed folds and I got confused. Sorry for the noise. |
@spacepluk No worries. I have folds disabled so I'm not sure exactly what the misbehavior is when there are closed folds. Feel free to submit an issue, but as the VSCode API doesn't provide us information about folds, there is likely nothing we can do at this point. |
After updating to 1.11.2 if I try to
C-f
,C-b
,C-d
etc. at the beginning or the end of the buffer, i.e. the first or the last line of the document is visible in the screen, the motions will not work, if I manually scroll the screen so that they aren't visible any more, I can use the commands as expected.I've downgraded the extension to
1.10.2
and it seems to work fine. I was able to reproduce by updating it again.Let me know if there is any more information I can provide to help investigate.
The text was updated successfully, but these errors were encountered: