{"id":26237095,"url":"https://github.com/shimmythedev/vscode-config","last_synced_at":"2026-02-02T00:03:37.784Z","repository":{"id":254869302,"uuid":"847677057","full_name":"ShimmyTheDev/vscode-config","owner":"ShimmyTheDev","description":"VSCode vim bindings and settings for productivity","archived":false,"fork":false,"pushed_at":"2025-02-04T08:33:35.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-19T04:07:02.911Z","etag":null,"topics":["vim-motions","vscode","vscode-keybindings","vscode-settings","vscode-vim"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ShimmyTheDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-26T10:30:49.000Z","updated_at":"2025-02-04T08:33:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"acebda10-a14a-4487-b5de-92927ec817c6","html_url":"https://github.com/ShimmyTheDev/vscode-config","commit_stats":null,"previous_names":["shimmythedev/vscode-config"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ShimmyTheDev/vscode-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShimmyTheDev%2Fvscode-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShimmyTheDev%2Fvscode-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShimmyTheDev%2Fvscode-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShimmyTheDev%2Fvscode-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ShimmyTheDev","download_url":"https://codeload.github.com/ShimmyTheDev/vscode-config/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShimmyTheDev%2Fvscode-config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28996568,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T23:10:54.274Z","status":"ssl_error","status_checked_at":"2026-02-01T23:10:47.298Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["vim-motions","vscode","vscode-keybindings","vscode-settings","vscode-vim"],"created_at":"2025-03-13T04:28:27.032Z","updated_at":"2026-02-02T00:03:37.769Z","avatar_url":"https://github.com/ShimmyTheDev.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# VSCode Settings\n### ... and keybindings made for productivity\nA VSCode config using Vim motions, based on MelkeyDev's [vscode_bindings](https://github.com/Melkeydev/vscode_bindings) with a few personal adjustments.\n\n## Installation\n### Linux\n##### Backup current settings and keybindings (optional)\n```bash\ncp ~/.config/Code/User/settings.json ~/.config/Code/User/settings.json.bak\ncp ~/.config/Code/User/keybindings.json ~/.config/Code/User/keybindings.json.bak\n```\n\n##### Clone the repository and remove unnecessary files\n```bash\nrm ~/.config/Code/User/settings.json ~/.config/Code/User/keybindings.json\ngit clone https://github.com/ShimmyTheDev/vscode-config.git ~/.config/Code/User\nrm ~/.config/Code/User/README.md ~/.config/Code/User/LICENSE\n```\n---\n### MacOS: \n##### Backup current settings and keybindings (optional)\n```bash\ncp ~/Library/Application\\ Support/Code/User/settings.json ~/Library/Application\\ Support/Code/User/settings.json.bak\ncp ~/Library/Application\\ Support/Code/User/keybindings.json ~/Library/Application\\ Support/Code/User/keybindings.json.bak\n```\n##### Clone the repository and remove unnecessary files\n```bash\nrm ~/Library/Application\\ Support/Code/User/settings.json ~/Library/Application\\ Support/Code/User/keybindings.json\ngit clone https://github.com/ShimmyTheDev/vscode-config.git ~/Library/Application\\ Support/Code/User\nrm ~/Library/Application\\ Support/Code/User/README.md ~/Library/Application\\ Support/Code/User/LICENSE\n```\n---\n### Windows (Command prompt): \n##### Backup current settings and keybindings (optional)\n```ps\ncopy \"%APPDATA%\\Code\\User\\settings.json\" \"%APPDATA%\\Code\\User\\settings.json.bak\"\ncopy \"%APPDATA%\\Code\\User\\keybindings.json\" \"%APPDATA%\\Code\\User\\keybindings.json.bak\"\n```\n##### Clone the repository and remove unnecessary files\n```ps\ngit clone https://github.com/ShimmyTheDev/vscode-config.git %APPDATA%\\Code\\User\\\ndel \"%APPDATA%\\Code\\User\\README.md\" \"%APPDATA%\\Code\\User\\LICENSE\"\n```\n---\n# User Settings\n\n- **Format on Save** (`editor.formatOnSave`): Automatically formats the code when you save a file.\n\n- **Suggest Insert Mode** (`editor.suggest.insertMode`): Replaces the text with the selected suggestion from IntelliSense instead of just inserting it.\n\n- **Terminal Font Family** (`terminal.integrated.fontFamily`): Specifies the font family for the integrated terminal as \"FiraCode Nerd Font\".\n\n- **Linked Editing** (`editor.linkedEditing`): Enables linked editing of HTML and XML tags, where typing a tag name automatically updates the matching closing tag.\n\n- **Update Imports on File Move** (`javascript.updateImportsOnFileMove.enabled`): Automatically updates import paths when a JavaScript or TypeScript file is moved or renamed.\n\n- **Zoom Level** (`window.zoomLevel`): Adjusts the overall zoom level of the editor's interface to 1.5.\n\n- **Launch Configuration** (`launch`): Placeholder for launch configurations, currently empty.\n\n- **JSON Settings** (`[json]`): Placeholder for JSON-specific settings, currently empty.\n\n- **Minimap** (`editor.minimap.enabled`): Disables the minimap, the small overview of the code on the right side of the editor.\n\n- **Breadcrumbs** (`breadcrumbs.enabled`): Disables breadcrumbs, the navigation aid at the top of the editor that shows the file path.\n\n- **Icon Theme** (`workbench.iconTheme`): Sets the icon theme to \"material-icon-theme\".\n\n- **Show Release Notes** (`update.showReleaseNotes`): Disables the automatic display of release notes after updating.\n\n- **Zen Mode Line Numbers** (`zenMode.hideLineNumbers`): Keeps line numbers visible even in Zen Mode.\n\n- **Vim: Use System Clipboard** (`vim.useSystemClipboard`): Enables using the system clipboard with Vim commands.\n\n- **Vim: Leader Key** (`vim.leader`): Sets the Vim leader key to the spacebar.\n\n- **Vim: Highlight Search** (`vim.hlsearch`): Highlights search results when using Vim search.\n\n### Vim Normal Mode Keybindings\n\n- **Switch Buffers** (`\u003cS-h\u003e`, `\u003cS-l\u003e`): `Shift + H` switches to the previous buffer; `Shift + L` switches to the next buffer.\n\n- **Splits** (`leader + v`, `leader + s`): `Leader + v` opens a vertical split; `Leader + s` opens a horizontal split.\n\n- **Pane Navigation** (`leader + h/j/k/l`): `Leader + h/j/k/l` navigates to the left, down, up, and right panes, respectively.\n\n- **File Management** (`leader + w/q/x`): `Leader + w` saves the current file; `Leader + q` quits; `Leader + x` saves and quits.\n\n- **Markers Navigation** (`[d`, `]d`): `[d` jumps to the previous marker; `]d` jumps to the next marker.\n\n- **Quick Fix and Format** (`leader + c/a`, `leader + f/p`): `Leader + c + a` opens quick fixes; `Leader + f` opens Quick Open; `Leader + p` formats the document.\n\n- **Preview Definition** (`g + h`): `g + h` shows a hover with the definition of the symbol under the cursor.\n\n### Vim Visual Mode Keybindings\n\n- **Indentation** (`\u003c`, `\u003e`): `\u003c` outdents and `\u003e` indents selected lines while staying in visual mode.\n\n- **Move Lines** (`J`, `K`): `J` moves selected lines down; `K` moves them up.\n\n- **Toggle Comment** (`leader + c`): `Leader + c` toggles comments for the selected lines.\n\n### Go\n\n- **Auto Update Go Tools** (`go.toolsManagement.autoUpdate`): Automatically updates Go tools as needed.\n\n### Workbench Settings\n\n- **Activity Bar Location** (`workbench.activityBar.location`): Hides the activity bar on the left side of the window.\n\n- **Color Theme** (`workbench.colorTheme`): Sets the color theme to \"One Dark Pro Darker\".\n\n- **Editor Font Family** (`editor.fontFamily`): Sets the editor's font family to \"FiraCode Nerd Font\".\n\n\n# Keybindings\n\n## Navigation\n\n| Keybinding            | Description |\n|-----------------------|-------------|\n| `Ctrl + P`            | Opens the Quick Open dialog to quickly navigate between files. |\n| `Ctrl + Shift + A`    | Switches focus to the next terminal instance when a terminal is active. |\n| `Ctrl + Shift + B`    | Switches focus to the previous terminal instance when a terminal is active. |\n| `Ctrl + Shift + J`    | Toggles the visibility of the bottom panel (e.g., terminal, problems, output). |\n| `Ctrl + Shift + N`    | Creates a new terminal instance when a terminal is active. |\n| `Ctrl + Shift + W`    | Closes the active terminal instance when a terminal is focused. |\n\n## File Tree\n\n| Keybinding            | Description |\n|-----------------------|-------------|\n| `Ctrl + E`            | Opens the file explorer when the sidebar is hidden. |\n| `Ctrl + E`            | Focuses the file explorer when the sidebar is visible but the explorer is not focused. |\n| `Ctrl + E`            | Focuses the file explorer when it’s open but not focused. |\n| `Ctrl + E`            | Closes the sidebar when the file explorer is focused. |\n| `N`                   | Creates a new file in the file explorer when it is focused, and no input field is active. |\n| `R`                   | Renames the selected file in the file explorer when it is focused, and no input field is active. |\n| `Shift + N`           | Creates a new folder in the file explorer when it is focused. |\n| `D`                   | Deletes the selected file in the file explorer when it is focused, and no input field is active. |\n\n## Extra\n\n| Keybinding            | Description |\n|-----------------------|-------------|\n| `Ctrl + Shift + 5`    | Matches the corresponding opening or closing tag in the editor (Emmet command). |\n| `Ctrl + Z`            | Toggles Zen Mode, which hides the activity bar, status bar, and sidebars for a distraction-free coding environment. |\n\n---\n**NOTE**\n\nMacOS users may want to review their default bindings and update them accordingly due to different role of CMD and Ctrl buttons in OSX systems\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshimmythedev%2Fvscode-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshimmythedev%2Fvscode-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshimmythedev%2Fvscode-config/lists"}