Skip to content

😎 Efficient and minimal Vim-like VS Code on Windows

License

Notifications You must be signed in to change notification settings

mvahaste/vscode-vim

Repository files navigation

Important

Not keeping this up to date anymore, switched to nvim.

Make VS Code on Windows feel more like Vim

Extensions and settings that make using VS Code faster and feel more like Vim, along with some visual changes.

The CSS should work with any color theme, but can be easily modified to better suit your needs by adjusting the root variables at the top of the file.

I also use this repo to back up some configs for myself, so not everything here will be useful/relevant to others (terminal prompt, browser settings, etc.)

Table of Contents

Features

  • Edit files, switch tabs and groups, toggle integrated terminal, navigate, create, rename, cut, delete files & folders, etc. with keyboard shortcuts.
  • Maximize screen space by hiding many of the non-essential UI elements.
  • Cool (😎) background blur on different widgets.
  • And more QoL improvements.

Keyboard Shortcuts

General

Key Combination Command
A Create New File/Folder in Explorer
R Rename File/Folder in Explorer
Y Copy (yank) File/Folder in Explorer
M Cut (move) File/Folder in Explorer
P Paste (put) File/Folder in Explorer
D D Delete File/Folder in Explorer
[HJKL] Navigate Files/Folders in Explorer
Ctrl + [HJKL] Focus Editor Group
Ctrl + Shift + [HJKL] Move Editor Group
Ctrl + Shift + . Increase View Size
Ctrl + Shift + , Decrease View Size
Ctrl + E Toggle Focus between Editor and Side Bar (Explorer) / Hide Side Bar when Focused
Ctrl + T Toggle Focus between Panel and Editor
Ctrl + Y Toggle Panel and Focus

Vim

Key Combination Command
Space Default Vim Leader Key
Leader + F + F Open Search
Leader + W Save (:w)
Leader + Q Quit (:q)
Leader + S Split Editor (:vsp)
Leader + D Go to Definition
Leader + A Open Code Actions
Leader + H Open Hover
Leader + / Comment/Uncomment Line
Leader + I Toggle Boolean
Leader + C Open Inline Copilot Chat
Tab Cycle to Next Editor in Group
Shift + Tab Cycle to Previous Editor in Group
] + D Go to Next Diagnostic
[ + D Go to Previous Diagnostic

Installation

  1. Install the extensions listed below (also the font if you want to use the same one, but it can be easily changed).
  2. Copy the contents of vsc_settings.json into your VS Code settings.json.
  3. Copy the contents of vsc_keybindings.json into your VS Code keybindings.json.
  4. Add the path to the custom.css file into your settings.json.
  5. If you want the Gruvbox Dark Hard theme for Windows Terminal, copy the contents of wt_settings.json into your Windows Terminal settings.json
  6. If you want my bash settings, copy and append the contents of bash.bashrc into your .bashrc/bash.bashrc.
  7. If you want fast virtual desktop switching on Windows, install AutoHotkey and the script from the link below, then replace the user_config.ahk with the one in the repo.

Dependencies

Required

Required as the base for this setup.

Recommended

Recommended to get my look.

General

Extensions

Good extensions for any setup.

Windows

Easier switching between virtual desktops in windows along with keyboard shortcuts to open and close programs.

Terminal and Bash

A fancier Windows terminal experience.

  • Gruvbox Dark Hard for the color scheme (generated from the VS Code color theme).
  • Oh My Posh for the terminal prompt.
  • zoxide for a smarter cd command.
  • huvix theme as the prompt theme.
  • jcr for easily compiling and running Java files (jcr <filename> <arguments>).
  • lazygit for lazy git add, commit, and push (lazygit <message>).

Zen Browser

A modern, feature-rich, privacy focused browser based on Firefox.

Preview

One Dark Pro Darker

One Dark Pro Darker 1 One Dark Pro Darker 2 One Dark Pro Darker 3

Vesper

These screenshots are a bit older but everything is still doable (changing the theme gets you most of the way there), I just switched to a different theme.

Vesper 1 Vesper 2 Vesper 3