top | item 19797388

(no title)

campbellmorgan | 6 years ago

For anybody who's found more IDE-y activities a bit beyond the current generation of VIM plugins (looking at you Typescript), the Vim plugins for VsCode and Visual Studio are actually surprisingly good and I find myself at least as productive as I do in Vim.

I imagine it might be quite a good starting point for somebody who's used to VsCode productivity but wanted to get into vim without going full vim!

discuss

order

diehunde|6 years ago

The problem I have with those plugins is that I use a lot of split buffers not just for editing but also for exploring directories using :Explore for example. Some IDEs+vim plugins support horizontal splits but then when you have to jump between different modes such as explorer or console they use different shortcuts.

Nevertheless, I think that VIM support for IDEs has improved a lot these past years. VSCode and Jet brains have done an awesome work integrating it to their software.

campbellmorgan|6 years ago

I've managed to get the classic vim `<C>-w` + h|j|k|l working in VSCode. Sadly my convenient remapping of that doesn't work :(

My annoyances are pretty small: not being able to do `:e ` and then tab complete the directory structure and the fact that VSCode has splits with tabs rather than tabs with splits.

choward|6 years ago

Just a warning for VSCode users, this issue still exists: https://github.com/VSCodeVim/Vim/issues/2007

kaitari|6 years ago

Per the PR comments, a workaround I've been using is to have VSCodeVim use VSCode's own undo/redo stack (appended to settings.json)

    "vim.normalModeKeyBindingsNonRecursive": [
        {
            "before": ["u"],
            "after": [],
            "commands": [
                {
                    "command": "undo",
                    "args": []
                }
            ]
        },
        {
            "before": ["<C-r>"],
            "after": [],
            "commands": [
                {
                    "command": "redo",
                    "args": []
                }
           ]
       }
  ],