Code-VIM-Ultimate aka CVIMU is a Visual Studio Code DISTRO With:
And sensible defaults For Maximum Productivity and Comfort.
├── profiles
│ └── prof.code-profile
├── settings.json
└── Workspaces
└── PLACE YOUR WORKSPACES HERE
Extensions in profile:
- Tailwind CSS IntelliSense
- Catppuccin for VSCode
- markdownlint
- ESLint
- ES7+ React/Redux/React-Native snippets
- Prettier - Code formatter
- GitHub Copilot
- GitHub Copilot Chat
- Bash IDE
- Container Tools
- Postman
- Paste JSON as Code
- YAML
- Code Spell Checker
- vscode-icons
- Vim
- Markdown All in One
markdownlint
required for markdownlint extension.
install it or uninstall markdownlint extension.
shfmt and shellcheck
required for Bash IDE extension.
install those or uninstall Bash IDE extension.
NOTE:
Due to how vscode works, you must first open vscode at least once for creation of Code/User directory.
- Clone
CVIMU directory in your dotfiles.
- Remove
.git.
- Import
prof profile from profiles/prof.code-profile.
- Symlink global settings.json file for keybindings.
In my case, on linux, I save dotfiles at ~/.dotfiles, which is managed with git and stow.
ln -sf "$HOME/.dotfiles/CVIMU/settings.json" "$HOME/.config/Code/User/settings.json"
For macOS (untested)
ln -sf "$HOME/.dotfiles/CVIMU/settings.json" "$HOME/Library/Application Support/Code/User/settings.json"
For Windows (untested)
New-Item -ItemType SymbolicLink `
-Path "$env:APPDATA\Code\User\settings.json" `
-Target "$HOME\.dotfiles\CVIMU\settings.json"
- Export your workspaces to workspaces via
File > Save Workspace As...
- go to containing directory of them all
- select them all with
ctrl + a
- drop them all in opened vscode instance
<leader> is set to space.
| Keybinding |
Feature |
<C-d> |
Scroll down half page and center |
<C-u> |
Scroll up half page and center |
ctrl n |
Down (when given a dropdown) |
ctrl p |
Up (when given a dropdown) |
<leader> e |
Open file explorer |
ctrl b |
Close / open explorer |
| Keybinding |
Feature |
s |
Search Word (EasyMotion) |
<leader> <leader> b |
Jump to word (before cursor)(EasyMotion) |
<leader> <leader> w |
Jump to word (after cursor)(EasyMotion) |
| Keybinding |
Feature |
ctrl i |
Copilot inline chat AI |
ctrl alt i |
Copilot chat AI |
| Keybinding |
Feature |
g d |
Go to definition |
g D |
Go to declaration |
g i |
Go to implementation |
g r |
Go to references |
g h |
Go to call hierarchy |
g y |
Go to type definition |
<leader> g g |
Focus source control |
| Keybinding |
Feature |
K |
Show hover info |
g K |
Show parameter hints |
| Keybinding |
Feature |
] d |
Next diagnostic |
[ d |
Previous diagnostic |
] e |
Next error |
[ e |
Previous error |
] w |
Next warning |
[ w |
Previous warning |
| Keybinding |
Feature |
[ b |
Previous editor tab |
] b |
Next editor tab |
[ B |
Move editor left |
] B |
Move editor right |
alt {NUMBER} |
go to editor {NUMBER} |
ctrl w |
Close current editor |
<leader> b d |
Close current editor |
<leader> b r |
Close editors to the right |
<leader> b l |
Close editors to the left |
<leader> b o |
Close all other editors |
<leader> e |
Focus file explorer |
| Keybinding |
Feature |
a |
Create a new file |
f |
Create a new directory |
d |
Delete selected file/directory |
y |
Copy selected file/directory |
p |
Paste into selected directory |
x |
Cut selected file/directory |
r |
Rename selected file/directory |
o |
Reveal file/directory in OS file manager |
| Keybinding |
Feature |
alt {NUMBER} |
go to terminal {NUMBER} |
ctrl t |
create new terminal |
ctrl w |
delete active terminal |
ctrl i |
Copilot inline terminal chat AI |
| Keybinding |
Feature |
<leader> s d |
Toggle problems panel |
<leader> s k |
Open command palette |
<leader> s r |
Search and replace |
<leader> s s |
Go to symbol in current file |
<leader> s S |
Go to symbol in a whole workspace |
<leader> / |
Quick text search |
| Keybinding |
Feature |
<leader> f p |
Open recent projects (Workspaces) |
<leader> f r |
Open recent files |
<leader> f f |
Quick open file |
| Keybinding |
Feature |
<leader> c a |
Quick fix |
<leader> c A |
Source action (depends on Markdown All In One) |
<leader> c r |
Rename symbol |
<leader> c p |
Preview markdown |
<leader> c u |
Remove unused imports |
Disclaimer
This project is purely a community-driven configuration setup and is not officially affiliated with or endorsed by Visual Studio Code (Microsoft), LazyVim, or any other commercial software vendor.
Use this configuration at your own risk. I make no guarantees regarding compatibility, stability, or fitness for any particular purpose.
I've been creating FOSS / GNU/Linux / nvim / web
related software for some time now.
If you used, forked or took code from one of my projects and you
would like to support me 👍,
you can donate here:
| type |
address |
| Bitcoin (SegWit) |
bc1ql8sp9shx4svzlwv0ckzv8s7pphw5upvmt8m2m7 |
| Ethereum (Ethereum) |
0xf2FCB0Af39DF7A608b76297e45181aF23fEB939F |