{"id":13845019,"url":"https://github.com/ashfinal/vimrc-config","last_synced_at":"2026-03-12T19:32:04.260Z","repository":{"id":53921808,"uuid":"54886442","full_name":"ashfinal/vimrc-config","owner":"ashfinal","description":"re-vim: sensible vim configuration","archived":false,"fork":false,"pushed_at":"2021-07-19T11:58:52.000Z","size":1960,"stargazers_count":249,"open_issues_count":0,"forks_count":39,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-08-05T17:43:32.866Z","etag":null,"topics":["dotfiles","vim","vim-configuration","vimrc"],"latest_commit_sha":null,"homepage":"","language":"Vim script","has_issues":true,"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/ashfinal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-03-28T11:00:04.000Z","updated_at":"2024-06-03T12:31:47.000Z","dependencies_parsed_at":"2022-08-13T04:20:47.443Z","dependency_job_id":null,"html_url":"https://github.com/ashfinal/vimrc-config","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashfinal%2Fvimrc-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashfinal%2Fvimrc-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashfinal%2Fvimrc-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashfinal%2Fvimrc-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashfinal","download_url":"https://codeload.github.com/ashfinal/vimrc-config/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225772849,"owners_count":17521901,"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":["dotfiles","vim","vim-configuration","vimrc"],"created_at":"2024-08-04T17:03:07.769Z","updated_at":"2026-03-12T19:32:04.208Z","avatar_url":"https://github.com/ashfinal.png","language":"Vim script","readme":"# re-vim: sensible vim configuration\n\n★ Single file, just download it then fire up your nvim/vim!\n\n★ Well polished, should work on Mac, Linux and Windows.\n\n★ Full [Language Server Protocol](https://langserver.org/) support([node.js][node.js] required).\n\n★ Easy to maintain and extend, to fulfill your needs.\n\n## Get started\n\nDownload [.vimrc][vimrc] file, put it in your home directory. Run vim as usual, it can handle itself quite well.\n\nTips for Linux \u0026 macOS users(install \u0026 update):\n\n    curl -Lo ~/.vimrc https://j.mp/re-vim\n\nNeed [neovim](https://github.com/neovim/neovim) support?\n\n    ln ~/.vimrc ~/.config/nvim/init.vim\n\nIf on Windows, run these in Command Prompt:\n\n    mkdir \"%USERPROFILE%\\AppData\\Local\\nvim\"\n    mklink \"%USERPROFILE%\\AppData\\Local\\nvim\\init.vim\" \"%USERPROFILE%\\.vimrc\"\n\n## Screenshots\n\n![neovim_terminal](./screenshots/neovim_terminal.png)\n\n*The screenshot was taken from [VimR](https://github.com/qvacua/vimr).*\n\nSome old screenshots can be found [here](./screenshots/).\n\n## Plugins\n\nre-vim uses [vim-plug](https://github.com/junegunn/vim-plug) (`+python` required) as plugin manager. Run `:PlugInstall` in vim to install all built-in plugins. This should be completed in 30 secs.\n\n### Plugins list\n\n- [delimitMate][delimitMate] - provides insert mode auto-completion for quotes, parens, brackets, etc.\n- [vim-easy-align][vim-easy-align] - A Vim alignment plugin\n- [goyo.vim][goyo.vim] - Distraction-free writing in Vim\n    - [limelight.vim][limelight.vim] - Best served with [goyo.vim][goyo.vim]\n- [ultisnips][ultisnips] - The ultimate snippet solution for Vim. Send pull requests to SirVer/ultisnips!(`+python` required)\n    - [vim-snippets][vim-snippets] - Source of [ultisnips][ultisnips]\n- [emmet-vim][emmet-vim] - emmet for vim: http://emmet.io/\n- [vim-textmanip][vim-textmanip] - easy text manipulation for vim\n- [vim-table-mode][vim-table-mode] - VIM Table Mode for instant table creation\n- [vim-sandwich][vim-sandwich] - The set of operator and textobject plugins to search/select/edit sandwiched textobjects.\n- [targets.vim][targets.vim] - Vim plugin that provides additional text objects\n- [vim-signature][vim-signature] - Plugin to toggle, display and navigate marks\n- [vim-fugitive][vim-fugitive] - A Git wrapper so awesome, it should be illegal\n- [nerdcommenter][nerdcommenter] - Vim plugin for intensely orgasmic commenting\n- [vim-airline][vim-airline] - lean \u0026 mean status/tabline for vim that's light as air\n- [undotree][undotree] - The ultimate undo history visualizer for VIM\n- [ctrlp.vim][ctrlp.vim] - Active fork of kien/ctrlp.vim—Fuzzy file, buffer, mru, tag, etc finder.\n- [codi.vim][codi.vim] - The interactive scratchpad for hackers.\n- [vim-one][vim-one] - Adaptation of one-light and one-dark colorschemes for Vim\n- [neocomplete][neocomplete] - Next generation completion framework after neocomplcache(`+lua` required)\n- [coc.nvim][coc.nvim] - Complete engine and Language Server support for neovim \u0026 vim, featured as VSCode([node.js][node.js] required)\n- [tagbar][tagbar] - Vim plugin that displays tags in a window, ordered by scope([ctags][ctags] required)\n- [vimtex][vimtex] - A modern vim plugin for editing LaTeX files.\n- [asyncrun][asyncrun] - Run Async Shell Commands in Vim 8.0 / NeoVim and Output to Quickfix Window\n\n## Key bindings\n\n### Primary key bindings.\n\n    imap jk \u003cEsc\u003e           \" Use `jk` to exit Insert Mode\n    let mapleader = \"\\\u003cSpace\u003e\"         \" Use `\u003cSpace\u003e` as mapleader\n\n### Commands\n\nuse `:W` for sudo writing on Mac \u0026 Linux.\n\nuse `:Wcolor` for showing highlight group under current cursor\n\n### Move around \u0026 Edit\n\n| Key            |      Mode      | Action                                  |\n|:---------------|:--------------:|:----------------------------------------|\n| `\u003cBS\u003e`         |     Normal     | unhighlight the search result           |\n| `[b`           |     Normal     | switch to previous buffer               |\n| `]b`           |     Normal     | switch to next buffer                   |\n| `\u003cCtrl\u003e` + `a` | Command/Insert | move the cursor to the begining of line |\n| `\u003cCtrl\u003e` + `e` | Command/Insert | move the cursor to the end of line      |\n| `\u003cCtrl\u003e` + `h` | Command/Insert | move the cursor left by word            |\n| `\u003cCtrl\u003e` + `l` | Command/Insert | move the cursor right by word           |\n| `\u003cCtrl\u003e` + `b` |     Insert     | move the cursor left by char            |\n| `\u003cCtrl\u003e` + `f` |     Insert     | move the cursor right by char           |\n| `\u003cCtrl\u003e` + `j` |     Insert     | move the cursor down by line            |\n| `\u003cCtrl\u003e` + `k` |     Insert     | move the cursor up by line              |\n| `\u003cCtrl\u003e` + `j` |     Visual     | move the current line downward          |\n| `\u003cCtrl\u003e` + `k` |     Visual     | move the current line upward            |\n| `\u003cCtrl\u003e` + `h` |     Normal     | resize the current split window         |\n| `\u003cCtrl\u003e` + `l` |     Normal     | resize the current split window         |\n| `\u003cCtrl\u003e` + `j` |     Normal     | resize the current split window         |\n| `\u003cCtrl\u003e` + `k` |     Normal     | resize the current split window         |\n\n### `\u003cLeader\u003e` key related\n\n| Key              |  Mode  | Action                           |\n|:-----------------|:------:|:---------------------------------|\n| `\u003cLeader\u003e` + `r` | Normal | Restore last session             |\n| `\u003cLeader\u003e` + `n` | Normal | Toggle showing linenumber        |\n| `\u003cLeader\u003e` + `s` | Normal | Strip whitespace \u0026 blankline EOF |\n\n### Plugins key bindings\n\n| Plugin                           | Key                      |      Mode     | Action                                                    |\n|:---------------------------------|:-------------------------|:-------------:|:----------------------------------------------------------|\n| [ctrlp.vim][ctrlp.vim]           | `\u003cLeader\u003e` + `o`         |     Normal    | Open CtrlP window                                         |\n| [undotree][undotree]             | `\u003cLeader\u003e` + `u`         |     Normal    | Toggle undotree window                                    |\n| [nerdcommenter][nerdcommenter]   | `\\`                      | Normal/Visual | Toggle comment                                            |\n| [nerdcommenter][nerdcommenter]   | `Ctrl` + `\\`             | Normal/Visual | CommentSexy                                               |\n| [emmet-vim][emmet-vim]           | `,` + `,`                | Insert/Visual | Expand abbr                                               |\n| [vim-easy-align][vim-easy-align] | `\u003cLeader\u003e` + `g`         | Normal/Visual | Align with                                                |\n| [goyo.vim][goyo.vim]             | `Ctrl` + `w` + `\u003cSpace\u003e` |     Normal    | Toggle goyo mode                                          |\n| [limelight.vim][limelight.vim]   | `Ctrl` + `w` + `\u003cEnter\u003e` |     Normal    | Toggle limelight mode                                     |\n| [ultisnips][ultisnips]           | `\u003cTab\u003e`                  |     Insert    | Expand snips                                              |\n| [ultisnips][ultisnips]           | `\u003cTab\u003e`                  |     Insert    | Jumpforward                                               |\n| [ultisnips][ultisnips]           | `\u003cShift\u003e + \u003cTab\u003e`        |     Insert    | Jumpbackward                                              |\n| [tagbar][tagbar]                 | `\u003cLeader\u003e` + `b`         |     Normal    | Toggle tagbar window                                      |\n| [asyncrun][asyncrun]             | `\u0026`                      |     Normal    | AsyncRun arbitrary command(like `wget http://myfile.zip`) |\n| [asyncrun][asyncrun]             | `g\u0026`                     |     Normal    | AsyncRun predefined command with `-strip` option          |\n\n### visual-multi key bindings\n\n| Key                    |      Mode     | Action                                       |\n|:-----------------------|:-------------:|:---------------------------------------------|\n| `Ctrl` + `n`           | Normal/Visual | select the word under cursor                 |\n| `\u003cLeader\u003e` + `A`       | Normal/Visual | select all occurrences of the word/selection |\n| `Ctrl` + `\u003cLeftClick\u003e` |     Normal    | add a single cursor at current position      |\n| `\u003cLeader\u003e` + `\u003cSpace\u003e` | Normal/Visual | add a cursor or create cursors vertically    |\n| `Ctrl` + `\u003cDown/Up\u003e`   |     Normal    | create cursors vertically                    |\n| `n`/`N`/`[`/`]`        |     Normal    | navigate between cursors/regions             |\n| `q`/`Q`                |     Normal    | skip/remove the region under cursor          |\n\n### Language Server Protocol related\n\n| Key |  Mode  | Action              |\n|:----|:------:|:--------------------|\n| gh  | Normal | show hover document |\n| gd  | Normal | coc-definition      |\n| gf  | Visual | coc-format-selected |\n| gy  | Normal | coc-type-definition |\n| gs  | Normal | coc-symbols         |\n| go  | Normal | coc-outline         |\n| gc  | Normal | coc-diagnostics     |\n| gm  | Normal | coc-rename          |\n| gr  | Normal | coc-references      |\n| gi  | Normal | coc-implementation  |\n\nYou need to run `:CocInstall coc-word coc-ultisnips coc-html coc-pyls` or something before using LSP related functions. See [Using coc extensions · neoclide/coc.nvim Wiki · GitHub](https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions) .\n\nFor more key bindings please refer to the plugin's manual.\n\n## Customization\n\nre-vim uses `~/.vim/vimrc.after` (and `~/.vim/vimrc.before`) for your customization.\n\nFor example, to override the default colorscheme:\n\n    echo \"colorscheme one\" \u003e\u003e ~/.vim/vimrc.after\n\nTo enable true color support:\n\n    echo \"set termguicolors\" \u003e\u003e ~/.vim/vimrc.after\n\nTo add new plugins, you should create `~/.vim/vimrc.plug`:\n\n    echo \"Plug 'altercation/vim-colors-solarized'\" \u003e\u003e ~/.vim/vimrc.plug\n\n## Related projects\n\nhttps://github.com/amix/vimrc\n\nhttps://github.com/spf13/spf13-vim\n\n\n[vimrc]:https://raw.githubusercontent.com/ashfinal/vimrc-config/master/.vimrc \"https://raw.githubusercontent.com/ashfinal/vimrc-config/master/.vimrc\"\n[delimitMate]:https://github.com/Raimondi/delimitMate \"https://github.com/Raimondi/delimitMate\"\n[neocomplete]:https://github.com/Shougo/neocomplete.vim \"https://github.com/Shougo/neocomplete.vim\"\n[vim-easy-align]:https://github.com/junegunn/vim-easy-align \"https://github.com/junegunn/vim-easy-align\"\n[goyo.vim]:https://github.com/junegunn/goyo.vim \"https://github.com/junegunn/goyo.vim\"\n[limelight.vim]:https://github.com/junegunn/limelight.vim \"https://github.com/junegunn/limelight.vim\"\n[ultisnips]:https://github.com/SirVer/ultisnips \"https://github.com/SirVer/ultisnips\"\n[vim-snippets]:https://github.com/honza/vim-snippets \"https://github.com/honza/vim-snippets\"\n[emmet-vim]:https://github.com/mattn/emmet-vim \"https://github.com/mattn/emmet-vim\"\n[vim-textmanip]:https://github.com/t9md/vim-textmanip \"https://github.com/t9md/vim-textmanip\"\n[vim-table-mode]:https://github.com/dhruvasagar/vim-table-mode \"https://github.com/dhruvasagar/vim-table-mode\"\n[vim-sandwich]:https://github.com/machakann/vim-sandwich \"https://github.com/machakann/vim-sandwich\"\n[targets.vim]:https://github.com/wellle/targets.vim \"https://github.com/wellle/targets.vim\"\n[vim-signature]:https://github.com/kshenoy/vim-signature \"https://github.com/kshenoy/vim-signature\"\n[vim-fugitive]:https://github.com/tpope/vim-fugitive \"https://github.com/tpope/vim-fugitive\"\n[nerdcommenter]:https://github.com/scrooloose/nerdcommenter \"https://github.com/scrooloose/nerdcommenter\"\n[vim-airline]:https://github.com/bling/vim-airline \"https://github.com/bling/vim-airline\"\n[undotree]:https://github.com/mbbill/undotree \"https://github.com/mbbill/undotree\"\n[ctrlp.vim]:https://github.com/ctrlpvim/ctrlp.vim \"https://github.com/ctrlpvim/ctrlp.vim\"\n[codi.vim]:https://github.com/metakirby5/codi.vim \"https://github.com/metakirby5/codi.vim\"\n[vim-one]:https://github.com/ashfinal/vim-one \"https://github.com/ashfinal/vim-one\"\n[coc.nvim]:https://github.com/neoclide/coc.nvim \"https://github.com/neoclide/coc.nvim \"\n[vimtex]:https://github.com/lervag/vimtex \"https://github.com/lervag/vimtex\"\n[asyncrun]:https://github.com/skywind3000/asyncrun/vim \"https://github.com/skywind3000/asyncrun.vim\"\n[node.js]:https://nodejs.org/en/download/ \"https://nodejs.org/en/download/\"\n[tagbar]:https://github.com/preservim/tagbar \"https://github.com/preservim/tagbar\"\n[ctags]:https://github.com/universal-ctags/ctags \"https://github.com/universal-ctags/ctags\"\n","funding_links":[],"categories":["Vim script (13)","Vim script","Vim Script"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashfinal%2Fvimrc-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashfinal%2Fvimrc-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashfinal%2Fvimrc-config/lists"}