{"id":19024972,"url":"https://github.com/gko/vimio","last_synced_at":"2025-08-21T22:31:24.705Z","repository":{"id":4955141,"uuid":"6112550","full_name":"gko/vimio","owner":"gko","description":"🎩 easy to install/use vim settings","archived":false,"fork":false,"pushed_at":"2024-09-22T13:15:44.000Z","size":4175,"stargazers_count":47,"open_issues_count":2,"forks_count":3,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-12-11T13:52:10.470Z","etag":null,"topics":["distribution","dotfiles","neovim","nvim","vim","vim-javascript","vim-ruby","vim-settings","viml","vimrc"],"latest_commit_sha":null,"homepage":"https://dev.to/konstantin/configuring-a-perfect-editor-for-frontend-development-1pe5","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"chobie/jira-api-restclient","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gko.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":"2012-10-07T13:37:36.000Z","updated_at":"2024-09-22T13:15:48.000Z","dependencies_parsed_at":"2023-07-05T21:32:23.395Z","dependency_job_id":"8aca3594-b99e-4d37-a210-6af79d81e0f0","html_url":"https://github.com/gko/vimio","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gko%2Fvimio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gko%2Fvimio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gko%2Fvimio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gko%2Fvimio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gko","download_url":"https://codeload.github.com/gko/vimio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230537062,"owners_count":18241515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["distribution","dotfiles","neovim","nvim","vim","vim-javascript","vim-ruby","vim-settings","viml","vimrc"],"created_at":"2024-11-08T20:39:45.065Z","updated_at":"2024-12-20T05:08:52.313Z","avatar_url":"https://github.com/gko.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vim Settings\n\n![screenshot](/screenshot.png)\n\nAn [article](https://dev.to/konstantin/configuring-a-perfect-editor-for-frontend-development-1pe5) describing key features of this config.\n\n## Prerequisites\n\nIn order to get all features you might want to install following packages:\n\n- [fzf](https://github.com/junegunn/fzf#installation)\n- [ripgrep](https://github.com/BurntSushi/ripgrep#installation)\n- [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)\n\n## Installation\n\nOn unix and windows(with bash which can be installed with [git](http://msysgit.github.io/)):\n\n```shell\ncurl -L https://raw.github.com/gko/vimio/main/install.sh | bash\n```\n\n### macOS\n\nIn macOS terminal.app don't forget to check the «Use option as meta key»:\n\n![terminal](/terminal.png)\n\nAnd «Esc+» option in iterm2:\n\n![iterm2](/iterm2.png)\n\n## Shortcuts\n\nSome of shortcuts(\u003ckbd\u003eLeader\u003c/kbd\u003e key is comma):\n\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003es\u003c/kbd\u003e saves current file\n- \u003ckbd\u003eLeader\u003c/kbd\u003e + \u003ckbd\u003es\u003c/kbd\u003e in both `select` and `normal` mode initiates search and replace\n- \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eUp\u003c/kbd\u003e/\u003ckbd\u003eDown\u003c/kbd\u003e moves line or selection above\n  or below current line(see [upside-down](https://github.com/gko/upside-down) for more info)\n- \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eLeft\u003c/kbd\u003e/\u003ckbd\u003eRight\u003c/kbd\u003e moves character or\n  selection to left or to the right\n- \u003ckbd\u003eLeader\u003c/kbd\u003e + \u003ckbd\u003en\u003c/kbd\u003e toggles NERDTree\n- \u003ckbd\u003eLeader\u003c/kbd\u003e + \u003ckbd\u003em\u003c/kbd\u003e shows current file in NERDTree\n- when in select mode \u003ckbd\u003e'\u003c/kbd\u003e, \u003ckbd\u003e\"\u003c/kbd\u003e, \u003ckbd\u003e(\u003c/kbd\u003e wraps selection accordingly\n- \u003ckbd\u003ey\u003c/kbd\u003e + \u003ckbd\u003em\u003c/kbd\u003e yanks found matches(see\n  [yankmatches.vim](https://github.com/gko/vimio/blob/main/after/plugin/yankmatches.vim)\n  for more info)\n\n### Plugin shortcuts\n\n- [vim-bookmarks](https://github.com/MattesGroeger/vim-bookmarks#usage)\n- [vim-emmet](https://github.com/mattn/emmet-vim#quick-tutorial)\n- [vim-checkbox](https://github.com/jkramer/vim-checkbox#usage)\n- [vim-gh-line](https://github.com/ruanyl/vim-gh-line#how-to-use)\n- [vim-jsdoc](https://github.com/heavenshell/vim-jsdoc#usage)\n- [md-img-paste.vim](https://github.com/ferrine/md-img-paste.vim#usage)\n- [vim-doge](https://github.com/kkoomen/vim-doge#gdoge_mapping)\n\n#### vim-surround\n\nFor general instructions see\n[README](https://github.com/tpope/vim-surround#surroundvim)\n\nSee [this issue](https://github.com/tpope/vim-surround/issues/220) for visual mode\n\n#### Coc.nvim\n\nFor vim I use Coc.nvim, in their repository you can find their [example vim configuration](https://github.com/neoclide/coc.nvim#example-vim-configuration) for shortcuts.\n\n#### nvim-lspconfig\n\nFor nvim I use native nvim lsp config. You can find the example config here: [example lsp config](https://github.com/neovim/nvim-lspconfig#suggested-configuration)\n\n##### Language servers installation\n\n###### Typescript/Javascript\n\nhttps://github.com/typescript-language-server/typescript-language-server#installing\n\n###### Go\n\nhttps://github.com/golang/tools/tree/master/gopls#installation\n\n###### Rust\n\nhttps://rust-analyzer.github.io/manual.html#installation\n\nyou may need to install:\n\n- rustup https://github.com/rust-lang/rustup#installation\n- rust-src `rustup component add rust-src`\n\n###### Zig\n\nhttps://github.com/zigtools/zls/wiki/Installation#install-zls\n\n###### Scala\n\nhttps://scalameta.org/metals/docs/editors/vim/#using-an-alternative-lsp-client\n\n###### PHP\n\nhttps://github.com/bmewburn/intelephense-docs/blob/master/installation.md\n\n## List of all plugins and commands\n\nYou can find the list of plugins as well as commands that they provide in the [init.vim](https://github.com/gko/vimio/blob/main/init.vim) file.\n\n## Your config\n\nIf you create `~/.vimrc.local` it will be loaded before the end of `vim-plug`.\nSo you can add a custom config + vim plugins of your choice there.\n\nExample [.vimrc.local](/.vimrc.local).\n\n### Color scheme\n\nYou can have a `~/.vimrc_background` file, where you keep custom colorscheme\nsettings.\n\nExample can be found [here](/.vimrc_background). And you can symlink it as\nfollowing:\n```shell\nln -sf ~/.vim/.vimrc_background ~/\n```\n### Taking notes and TODOs\n\n- \u003ckbd\u003eLeader\u003c/kbd\u003e + \u003ckbd\u003ew\u003c/kbd\u003e + \u003ckbd\u003ew\u003c/kbd\u003e opens `~/Documents/Notes/index.md`\n- :Todo opens `~/Documents/Notes/todo.md` in a vertical split and fills in current date\n\nsee more info in this article: https://dev.to/konstantin/taking-notes-in-vim-revisited-558k\nyou can find the code here:\nhttps://github.com/gko/vimio/blob/de73a9272c29acc6f2ce6d5be7f24cbe113a85b4/after/plugin/shortcuts.vim#L225-L229\n\nand here\n\nhttps://github.com/gko/vimio/blob/de73a9272c29acc6f2ce6d5be7f24cbe113a85b4/after/plugin/filetypes.vim#L28-L32\n\n#### Checkboxes\n\nFor checkboxes [vim-checkbox](https://github.com/jkramer/vim-checkbox#usage) plugin is installed\n\n#### Pasting images\n\nWith help of [md-img-paste.vim](https://github.com/ferrine/md-img-paste.vim#usage) you can paste images by using \u003ckbd\u003eLeader\u003c/kbd\u003e + \u003ckbd\u003ep\u003c/kbd\u003e (it would store in the same folder as the markdown document in `img` folder)\n\n## Benchmark\n\nNot that it matters, but I get the following startup time:\n```\n$ hyperfine \"nvim --headless +qa\" --warmup 5\nBenchmark 1: nvim --headless +qa\n    Time (mean ± σ):     200.1 ms ±   6.9 ms    [User: 123.9 ms, System: 63.2 ms]\n    Range (min … max):   191.9 ms … 210.9 ms    14 runs\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\nCopyright (c) 2012-2024 Konstantin Gorodinskiy\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgko%2Fvimio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgko%2Fvimio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgko%2Fvimio/lists"}