{"id":13555121,"url":"https://github.com/cookiengineer/dotvim","last_synced_at":"2026-03-02T22:45:41.169Z","repository":{"id":142748915,"uuid":"61324898","full_name":"cookiengineer/dotvim","owner":"cookiengineer","description":":beers: My very own VIM config. It's the very bestest in the galaxy. Towel included.","archived":false,"fork":false,"pushed_at":"2023-06-19T09:05:31.000Z","size":1090,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T23:34:23.160Z","etag":null,"topics":["dotfiles","vim","vim-configuration"],"latest_commit_sha":null,"homepage":"http://cookie.engineer","language":"Vim Script","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cookiengineer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":"cookiengineer"}},"created_at":"2016-06-16T20:48:16.000Z","updated_at":"2024-11-01T14:37:36.000Z","dependencies_parsed_at":"2023-07-20T16:48:14.584Z","dependency_job_id":null,"html_url":"https://github.com/cookiengineer/dotvim","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cookiengineer/dotvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cookiengineer%2Fdotvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cookiengineer%2Fdotvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cookiengineer%2Fdotvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cookiengineer%2Fdotvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cookiengineer","download_url":"https://codeload.github.com/cookiengineer/dotvim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cookiengineer%2Fdotvim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30022985,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T22:30:10.381Z","status":"ssl_error","status_checked_at":"2026-03-02T22:23:34.650Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["dotfiles","vim","vim-configuration"],"created_at":"2024-08-01T12:03:02.815Z","updated_at":"2026-03-02T22:45:41.141Z","avatar_url":"https://github.com/cookiengineer.png","language":"Vim Script","funding_links":["https://github.com/sponsors/cookiengineer"],"categories":["Vim Script"],"sub_categories":[],"readme":"\n## Cookie's VIM config\n\nThis is my personal VIM config, I like it very much.\nThe configuration is split up in multiple `.vim` files,\nso everything looks nice and clean (and maybe even\nmodular).\n\nIt is verified to work on these systems:\n\n- `vim` on GNU/Linux in GNOME terminal or kitty\n- `vim` on Termux for Android\n- `MacVIM` on MacOS\n\n\n## Installation\n\nIf you want this VIM config, do this in your Terminal:\n\n```bash\nmv ~/.vim   ~/.vim__NOTSOAWESOME;\nmv ~/.vimrc ~/.vimrc__NOTSOAWESOME;\n\ngit clone https://github.com/cookiengineer/dotvim ~/.vim;\nln -s ~/.vim/.vimrc ~/.vimrc;\n```\n\nThe plugins are contained in [./plugged](./plugged) and are\nstatically shipped in this repository (for the sake of having\na known-to-work-failsafe history).\n\nFor details on plugins and how to update, read **Plugins**\nand **Updates** respectively down below.\n\n\n## Usage\n\n### Auto Fixes\n\n- Copy/Paste from GUI applications into Terminal\n- Copy/Paste leads to auto-indented code\n\n### Auto Commands\n\nAuto commands are defined in [autocmds.vim](./autocmds.vim).\n\n- `BufWritePre` removes trailing whitespaces.\n- `BufWritePre` and `FileWritePre` creates non-existing parent folder paths via `mkdir -p`.\n- `FileChangedRO`, `FileChangedShell`, `FileChangedShellPost` have been modified to echo the warning instead of opening an annoying shell.\n\n\n### Manual Commands\n\n- `:W` will write files with `sudo` / `root` rights.\n\n\n### Normal Mode\n\nKey Bindings that don't require a plugin are defined in [mappings.vim](./mappings.vim),\nthose that do are defined in the `settings.\u003cplugin-name\u003e.vim` file.\n\n- `[F1]` opens `netrw` as sidebar.\n- `[F2]` turns off highlighting (`/\u003csearch\u003e` in normal mode).\n- `[F3]` formats, auto-indents and auto-lints the current buffer.\n- `[+]` (`[Shift] + [-]` on US keyboard) toggles current window zoom (aka fullscreen mode).\n- `[p]` auto formats bad indents on paste.\n\n**Tab Navigation**\n\n- `[Ctrl] + [E], [S]` creates a new tab.\n- `[Ctrl] + [E], [V]` creates a new tab.\n- `[Ctrl] + [E], [C]` closes the current tab.\n- `[Ctrl] + [E], [Arrow Key]` moves focus to different tab.\n- `[Ctrl] + [E], [H/L]` moves focus to different tab.\n\n**Window/Buffer Navigation**\n\n(Default Bindings)\n\n- `[Ctrl] + [W], [S]` horizontally splits current window.\n- `[Ctrl] + [W], [V]` vertically splits current window.\n- `[Ctrl] + [W], [Arrow Key]` moves focus to different window.\n- `[Ctrl] + [W], [H/J/K/L]` moves focus to different window.\n\nAdditional Bindings are defined in [settings.tradewinds.vim](./settings.tradewinds.vim).\n\n- `[Shift] + [W], [Arrow Key]` moves the current window.\n- `[Shift] + [W], [H/J/K/L]` moves the current window.\n\n**Error Navigation**\n\nError Navigation Bindings are defined in [settings.ale.vim](./settings.ale.vim).\n\n- `[Ctrl] + [Arrow Key]` moves focus to to different linting error.\n- `[Ctrl] + [J/K]` moves focus to different linting error.\n\n\n### Visual Mode\n\n(Default Bindings)\n\n- `[g], [f]` opens File under cursor in current window.\n- `[g], [x]` opens Browser or Application via `gio open`.\n\n\n### Normal Mode and Visual Mode\n\nAdditional Bindings are defined in [settings.move.vim](./settings.move.vim).\n\n- `[Ctrl] + [J/K]` moves currently selected block.\n\n\n## Templates\n\nThe templates are defined in [templates.vim](./templates.vim)\n\n- `,css` inserts the [default.css](./templates/default.css) template\n- `,html` inserts the [default.html](./templates/default.html) template\n- `,mjs` inserts the [default.mjs](./templates/default.mjs) template\n\n- `,eslintrc` inserts the [eslintrc.json](./templates/eslintrc.json) template\n- `,make` inserts the [make.mjs](./templates/make.mjs) template\n- `,package` inserts the [package.json](./templates/package.json) template\n\n\n## Plugins\n\nThe plugins are defined in [.vimrc](./.vimrc) and use a static copy\nof [vim-zen](https://github.com/prakashdanish/vim-zen) located at\n[./autoload/zen.vim](./autoload/zen.vim).\n\n- [w0rp/ale](https://github.com/w0rp/ale)\n- [ervandew/supertab](https://github.com/ervandew/supertab)\n- [djoshea/vim-autoread](https://github.com/djoshea/vim-autoread)\n- [sgur/vim-editorconfig](https://github.com/sgur/vim-editorconfig)\n- [itchyny/lightline.vim](https://github.com/itchyny/lightline.vim)\n- [vim-utils/vim-man](https://github.com/vim-utils/vim-man)\n- [matze/vim-move](https://github.com/matze/vim-move)\n- [andymass/vim-tradewinds](https://github.com/andymass/vim-tradewinds)\n\n\n### Updates\n\nThe `zen.vim` file is modified to use `git clone --depth=1 --single-branch --branch=master`\nin order to save bandwidth. In order to make a full plain copy,\njust remove the subfolders in [./plugged](./plugged), do a `:ZenInstall`\nvia `vim`, and execute the [bin/clean.sh](bin/clean.sh) file afterwards\nvia `bash`.\n\nIt is wise to modify the [bin/clean.sh](./bin/clean.sh) when some\nunnecessary bloat was added to plugins and appear in a `git diff`\nafterwards (Pull Requests welcomed).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcookiengineer%2Fdotvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcookiengineer%2Fdotvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcookiengineer%2Fdotvim/lists"}