Vim vs Visual Studio Code

Need advice about which tool to choose?Ask the StackShare community!

Vim

26.8K
21.8K
+ 1
2.4K
Visual Studio Code

174.3K
157K
+ 1
2.3K
Add tool

Vim vs Visual Studio Code: What are the differences?

Vim and Visual Studio Code are both popular text editors used by programmers and developers. While they have some similarities, they also have several key differences that set them apart.

  1. User Interface: Vim has a terminal-based user interface, which means it runs in the command line. It has a minimalistic design and is known for its efficient keyboard shortcuts. Visual Studio Code, on the other hand, has a graphical user interface with various panels and menus. It provides a modern and intuitive interface with a wide range of features.

  2. Extensibility and Customization: Vim is highly extensible and customizable through its rich set of plugins and configuration options. It allows users to enhance its functionality and tailor it to their specific needs. Visual Studio Code is also extensible, but it takes customization to a whole new level with its vast marketplace of extensions. Users can easily find and install extensions for different programming languages, themes, and other functionalities.

  3. Learning Curve: Vim has a steep learning curve as it requires users to remember and master a large number of keyboard shortcuts and commands. However, once mastered, Vim can greatly increase productivity. Visual Studio Code has a relatively shallow learning curve, especially for beginners. It provides a familiar interface with intuitive features, making it easier to get started.

  4. Integration and Ecosystem: Vim seamlessly integrates with other command-line tools and can be used in conjunction with version control systems like Git. It has a strong and mature ecosystem with a dedicated community. Visual Studio Code integrates with a wide range of tools and frameworks and provides built-in support for Git. It has a thriving ecosystem with numerous extensions and a large online community.

  5. Debugging and Development Tools: Vim is primarily a text editor with minimal debugging capabilities. It does not provide built-in debugging tools and requires external tools for debugging. Visual Studio Code, on the other hand, offers powerful built-in debugging tools for various languages and frameworks. It provides an integrated development environment (IDE) experience with features like code navigation, IntelliSense, and more.

  6. Platform Support: Vim is available on almost all major operating systems, including Linux, macOS, and Windows. It can be easily installed and used across different platforms. Visual Studio Code is also available on multiple platforms, making it a versatile choice for developers.

In summary, Vim is a powerful and efficient text editor with a steep learning curve, while Visual Studio Code is a highly customizable and feature-rich editor with a more user-friendly interface. The choice between the two ultimately depends on the user's preferences, requirements, and familiarity with keyboard-driven workflows.

Advice on Vim and Visual Studio Code
Rogério R. Alcântara
Needs advice
on
NeovimNeovim
and
VimVim

For a Visual Studio Code/Atom developer that works mostly with Node.js/TypeScript/Ruby/Go and wants to get rid of graphic-text-editors-IDE-like at once, which one is worthy of investing time to pick up?

I'm a total n00b on the subject, but I've read good things about Neovim's Lua support, and I wonder what would be the VIM response/approach for it?

See more
Replies (6)
Recommends
on
NeovimNeovimVimVim

Neovim can basically do everything Vim can with one major advantage - the number of contributors to the code base is just so much wider (Vim is ~100% maintained only by B. Mooleanaar). Whatever you learn for Neovim you can also apply to Vim and vice versa. And of course there is the never ending Vim vs Emacs controversy - but better not get into that war.

See more
Jeffrey Johnson
Recommends
at

Actually, the biggest advantage with Neovim (as a VS user) is that you can embed REAL Neovim as the editor UI, rather than using a "Vim emulation", you're using actual NVIM, embedded in VS!

"asvetliakov.vscode-neovim" is the extension you are looking for:

  1. Install the 'vscode-neovim; extension (https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim)
  2. Install Neovim version 0.5+ nightly
  3. Start winning.

(You can install neovim-nightly separately for just vscode, I usually build and install it to /opt/nvim - it's enough enough to do - let me know if you need help).

Works wonderfully. It might not work out of the box if you have some 100K epic nvim initialization file, but the plugin documents a workaround for having an embedding/VS specific configuration.

See more
Kudos Beluga
Recommends
on
NeovimNeovim

I don't actually notice much of a difference between the two, as the end result looks identical. If you use Vim and are switch to Neovim it's an extremely easy 1-minute process. I switched from Vim to Neovim. I can't say I found much of a difference, but the key points where Neovim could be better than just vim is that first, there are much more people maintaining Neovim compared to vim, which means fewer bugs and a modern code base. It also has a smaller code base which might result in a small speed improvement. Another thing is that it's basically just a fork of vim, so what harm can it do? ;)

See more
Recommends
on
VimVim

I recommend using vim 8+ it has native plugin support if you need language supports you can install the package vim-nox which will come with support for python, lua, ruby, etc

See more
Albert Kim
Recommends

It truly depends on whether you want to completely avoid GUI and stick to TUI and command lines. If you want to edit all of your codes within a terminal, then Vim or neovim would be the choice. Emacs can be run in a terminal, but the functionality is limited. Most people use Emacs using GUI and emacs-client not to use too much memory.

My general preference is to use an independent text editor, which is better if it is highly customizable and programmable. So, I have used Emacs for several years. For beginners, I guess Emacs requires significant time to learn to fully enjoy its wonderful functionalities. In that sense, using atom would be a recommendable option.

Regardless of all the situations, learning basic vim in the terminal will help you in any case. In summary, I recommend 1. vim as a default editor in the terminal 2. atom if you are a beginner, or 3. Emacs if you have a long-term plan to master a programmable editor

Other editors like sublime text, VS code, and so forth are also worth learning and using. But, no matter which editor you choose, stick to one or two until you become an advanced user. Being able to use most text editors at an intermediate level is waste of time.

I hope it helps.

See more
Rogério R. Alcântara
Recommends
on
NeovimNeovim

The hints on the codebase's contributors and the VSCode integration helped me make up my mind.

I really appreciate all comments, though.

Thanks a bunch!

See more
Decisions about Vim and Visual Studio Code
Samriddhi Sinha
Machine Learning Engineer at Chefling · | 6 upvotes · 968.7K views

Lightweight and versatile. Huge library of extensions that enable you to integrate a host of services to your development environment. VS Code's biggest strength is its library of extensions which enables it to directly compete with every single major IDE for almost all major programming languages.

See more
Kamaleshwar BN
Senior Software Engineer at Pulley · | 12 upvotes · 1.3M views

Visual Studio Code became famous over the past 3+ years I believe. The clean UI, easy to use UX and the plethora of integrations made it a very easy decision for us. Our gripe with Sublime was probably only the UX side. VSCode has not failed us till now, and still is able to support our development env without any significant effort.

Goland being paid, as well as built only for Go seemed like a significant limitation to not consider it.

See more
Simon Ibssa
Student at California Polytechnic State University, San Luis Obispo · | 2 upvotes · 1.2M views

I decided to choose VSCode over Sublime text for my Systems Programming class in C. What I love about VSCode is its awesome ability to add extensions. Intellisense is a beautiful debugger, and Remote SSH allows me to login and make real-time changes in VSCode to files on my university server. This is an awesome alternative to going back and forth on pushing/pulling code and logging into servers in the terminal. Great choice for anyone interested in C programming!

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Vim
Pros of Visual Studio Code
  • 347
    Comes by default in most unix systems (remote editing)
  • 328
    Fast
  • 312
    Highly configurable
  • 297
    Less mouse dependence
  • 247
    Lightweight
  • 145
    Speed
  • 100
    Plugins
  • 97
    Hardcore
  • 82
    It's for pros
  • 65
    Vertically split windows
  • 30
    Open-source
  • 25
    Modal editing
  • 22
    No remembering shortcuts, instead "talks" to the editor
  • 21
    It stood the Test of Time
  • 16
    Unicode
  • 13
    VimPlugins
  • 13
    Everything is on the keyboard
  • 13
    Stick with terminal
  • 12
    Dotfiles
  • 11
    Flexible Indenting
  • 10
    Hands stay on the keyboard
  • 10
    Efficient and powerful
  • 10
    Programmable
  • 9
    Everywhere
  • 9
    Large number of Shortcuts
  • 8
    A chainsaw for text editing
  • 8
    Unmatched productivity
  • 7
    Developer speed
  • 7
    Super fast
  • 7
    Makes you a true bearded developer
  • 7
    Because its not Emacs
  • 7
    Modal editing changes everything
  • 6
    You cannot exit
  • 6
    Themes
  • 5
    EasyMotion
  • 5
    Most and most powerful plugins of any editor
  • 5
    Shell escapes and shell imports :!<command> and !!cmd
  • 5
    Intergrated into most editors
  • 5
    Shortcuts
  • 5
    Great on large text files
  • 5
    Habit
  • 5
    Plugin manager options. Vim-plug, Pathogen, etc
  • 4
    Intuitive, once mastered
  • 4
    Perfect command line editor
  • 1
    Not MicroSoft
  • 339
    Powerful multilanguage IDE
  • 308
    Fast
  • 193
    Front-end develop out of the box
  • 158
    Support TypeScript IntelliSense
  • 142
    Very basic but free
  • 126
    Git integration
  • 106
    Intellisense
  • 78
    Faster than Atom
  • 53
    Better ui, easy plugins, and nice git integration
  • 45
    Great Refactoring Tools
  • 44
    Good Plugins
  • 42
    Terminal
  • 38
    Superb markdown support
  • 36
    Open Source
  • 34
    Extensions
  • 26
    Large & up-to-date extension community
  • 26
    Awesome UI
  • 24
    Powerful and fast
  • 22
    Portable
  • 18
    Best editor
  • 18
    Best code editor
  • 17
    Easy to get started with
  • 15
    Lots of extensions
  • 15
    Built on Electron
  • 15
    Crossplatform
  • 15
    Good for begginers
  • 14
    Extensions for everything
  • 14
    Open, cross-platform, fast, monthly updates
  • 14
    All Languages Support
  • 13
    Easy to use and learn
  • 12
    Extensible
  • 12
    "fast, stable & easy to use"
  • 11
    Totally customizable
  • 11
    Git out of the box
  • 11
    Faster edit for slow computer
  • 11
    Ui design is great
  • 11
    Useful for begginer
  • 10
    Great community
  • 10
    SSH support
  • 10
    Fast Startup
  • 9
    It has terminal and there are lots of shortcuts in it
  • 9
    Powerful Debugger
  • 9
    Great language support
  • 9
    Works With Almost EveryThing You Need
  • 8
    Python extension is fast
  • 8
    Can compile and run .py files
  • 7
    Great document formater
  • 7
    Features rich
  • 6
    He is not Michael
  • 6
    Awesome multi cursor support
  • 6
    Extension Echosystem
  • 6
    She is not Rachel
  • 5
    Language server client
  • 5
    Easy azure
  • 5
    SFTP Workspace
  • 5
    VSCode.pro Course makes it easy to learn
  • 5
    Very proffesional
  • 4
    Supports lots of operating systems
  • 4
    Has better support and more extentions for debugging
  • 4
    Excellent as git difftool and mergetool
  • 4
    Virtualenv integration
  • 3
    Has more than enough languages for any developer
  • 3
    Better autocompletes than Atom
  • 3
    Emmet preinstalled
  • 3
    'batteries included'
  • 3
    More tools to integrate with vs
  • 2
    VS Code Server: Browser version of VS Code
  • 2
    Big extension marketplace
  • 2
    Customizable
  • 2
    Microsoft
  • 2
    Light
  • 2
    Fast and ruby is built right in
  • 2
    CMake support with autocomplete

Sign up to add or upvote prosMake informed product decisions

Cons of Vim
Cons of Visual Studio Code
  • 8
    Ugly UI
  • 5
    Hard to learn
  • 46
    Slow startup
  • 29
    Resource hog at times
  • 20
    Poor refactoring
  • 16
    Microsoft
  • 13
    Poor UI Designer
  • 11
    Weak Ui design tools
  • 10
    Poor autocomplete
  • 8
    Super Slow
  • 8
    Microsoft sends telemetry data
  • 7
    Poor in PHP
  • 7
    Huge cpu usage with few installed extension
  • 6
    It's MicroSoft
  • 3
    No built in live Preview
  • 3
    No Built in Browser Preview
  • 3
    Poor in Python
  • 3
    Electron
  • 3
    No color Intergrator
  • 3
    Very basic for java development and buggy at times
  • 2
    Powered by Electron
  • 2
    Bad Plugin Architecture
  • 1
    Terminal does not identify path vars sometimes
  • 1
    Slow C++ Language Server

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is Vim?

Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set. Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems. Vim is distributed free as charityware.

What is Visual Studio Code?

Build and debug modern web and cloud applications. Code is free and available on your favorite platform - Linux, Mac OSX, and Windows.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Vim?
What companies use Visual Studio Code?
See which teams inside your own company are using Vim or Visual Studio Code.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Vim?
What tools integrate with Visual Studio Code?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

What are some alternatives to Vim and Visual Studio Code?
Emacs
GNU Emacs is an extensible, customizable text editor—and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing.
Neovim
Neovim is a project that seeks to aggressively refactor Vim in order to: simplify maintenance and encourage contributions, split the work between multiple developers, enable the implementation of new/modern user interfaces without any modifications to the core source, and improve extensibility with a new plugin architecture.
Atom
At GitHub, we're building the text editor we've always wanted. A tool you can customize to do anything, but also use productively on the first day without ever touching a config file. Atom is modern, approachable, and hackable to the core. We can't wait to see what you build with it.
Notepad++
Notepad++ is a free (as in "free speech" and also as in "free beer") source code editor and Notepad replacement that supports several languages. Running in the MS Windows environment, its use is governed by GPL License.
Sublime Text
Sublime Text is available for OS X, Windows and Linux. One license is all you need to use Sublime Text on every computer you own, no matter what operating system it uses. Sublime Text uses a custom UI toolkit, optimized for speed and beauty, while taking advantage of native functionality on each platform.
See all alternatives