VSCodeVim / Vim

:star: Vim for Visual Studio Code
http://aka.ms/vscodevim
MIT License
13.9k stars 1.32k forks source link

j mapped with gj is slow #4162

Closed aquaductape closed 4 years ago

aquaductape commented 5 years ago

When jumping to a line with j, doesn't jump to it but rather scrolls as if I'm continuously holding down j. In the gif I jump down 13 lines. vim1

This is due to the j mapped to gj

    "vim.normalModeKeyBindingsNonRecursive": [
        {
            "before": ["j"],
            "after": ["g", "j"]
        }
    ]

I removed it and j is smooth again. Also this is embarrassing but what does "gj" do?

OS+vscode

Version: 1.39.0
Commit: 9df03c6d6ce97c6645c5846f6dfa2a6a7d276515
Date: 2019-10-09T06:58:03.188Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Linux x64 5.0.0-29-generic snap

settings.json

{
  "editor.fontSize": 18,
  "editor.wordWrap": "on",
  "editor.lineNumbers": "relative",
  "emmet.triggerExpansionOnTab": true,
  "liveServer.settings.donotShowInfoMsg": true,
  "workbench.startupEditor": "newUntitledFile",
  "window.menuBarVisibility": "toggle",
  "window.zoomLevel": 0,
  "emmet.includeLanguages": {
    "javascript": "javascriptreact"
  },
  "emmet.syntaxProfiles": {
    "javascript": "jsx"
  },
  "liveServer.settings.donotVerifyTags": true,
  "javascript.updateImportsOnFileMove.enabled": "always",
  "terminal.integrated.fontSize": 17,
  "workbench.sideBar.location": "left",
  "workbench.editor.enablePreviewFromQuickOpen": true,
  "editor.showUnused": true,
  "editor.tabSize": 2,
  "editor.formatOnSave": true,
  "prettier.singleQuote": true,
  // "prettier.trailingComma": "es5",
  "workbench.colorCustomizations": {
    "[Dainty – Nord (chroma 2, lightness 3)]": {
      "list.activeSelectionBackground": "#4a5d7c"
    },
    "[Material Theme Palenight]": {
      "editorCursor.foreground": "#c7c7c7",
      "list.activeSelectionBackground": "#3b4a63"
    }
  },
  "html.autoClosingTags": false,
  "html.format.preserveNewLines": false,
  "[html]": {
    "editor.defaultFormatter": "vscode.html-language-features"
  },
  "javascript.autoClosingTags": false,
  "vim.easymotion": true,
  "vim.enableNeovim": true,
  "vim.neovimPath": "nvim",
  "vim.incsearch": true,
  "vim.useSystemClipboard": true,
  "vim.useCtrlKeys": true,
  "vim.hlsearch": true,
  "vim.normalModeKeyBindingsNonRecursive": [
    {
      "before": [
        "s"
      ],
      "after": [
        "leader",
        "leader",
        "s"
      ]
    },
    {
      "before": [
        "<C-n>"
      ],
      "commands": [
        ":nohl"
      ]
    },
    {
      "before": [
        "j"
      ],
      "after": [
        "g",
        "j"
      ]
    },
    {
      "before": [
        "Z",
        "Z"
      ],
      "commands": [
        ":wq"
      ]
    },
    {
      "before": [
        "Y",
      ],
      "after": [
        "y",
        "$"
      ]
    },
    {
      "before": [
        "J"
      ],
      "after": [
        "5",
        "j"
      ]
    },
    {
      "before": [
        "K"
      ],
      "after": [
        "5",
        "k"
      ]
    },
    {
      "before": [
        "<C-j>"
      ],
      "after": [
        "J",
      ]
    },
  ],
  "vim.visualModeKeyBindingsNonRecursive": [
    {
      "before": [
        "p"
      ],
      "after": [
        "p",
        "g",
        "v",
        "y"
      ]
    },
    {
      "before": [
        "y"
      ],
      "after": [
        "y",
        "g",
        "v",
        "<Esc>"
      ]
    },
    {
      "before": [
        "s"
      ],
      "after": [
        "leader",
        "leader",
        "s"
      ]
    },
  ],
  "vim.leader": "<space>",
  "vim.handleKeys": {
    "<C-a>": true,
    "<C-f>": false
  },
  "workbench.colorTheme": "Material Theme Palenight",
  "vim.easymotionMarkerHeight": 20,
  "vsicons.associations.folders": [
    {
      "icon": "container",
      "extensions": [
        "container",
        "containers"
      ],
      "format": "svg"
    }
  ],
  "vsicons.associations.folderDefault.folder": {
    "icon": "myFolder",
    "format": "svg"
  },
  "vsicons.associations.files": [
    {
      "icon": "myMarkdown",
      "extensions": [
        "md",
        "custom.md",
        "markdown",
        "mdown"
      ],
      "format": "svg",
      "overrides": "md"
    }
  ],
  "workbench.iconTheme": "vscode-icons",
  "breadcrumbs.filePath": "off",
  "debug.allowBreakpointsEverywhere": true,
  "terminal.integrated.fontFamily": "'PowerlineSymbols','Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'",
  "vim.easymotionMarkerFontWeight": "bold",
  "vim.easymotionMarkerFontSize": "15",
}
J-Fields commented 5 years ago

You mean when using a count with gj? Such as 13gj?

J-Fields commented 4 years ago

@aquaductape Can you confirm?

javiersalcedopuyo commented 4 years ago

I can confirm this. Also, at least for me, gj and j (and the k equivalents) seem to have the same behavior.