{"id":22884634,"url":"https://github.com/gaveen/vimfiles","last_synced_at":"2025-07-17T17:38:22.720Z","repository":{"id":19953867,"uuid":"23220698","full_name":"gaveen/vimfiles","owner":"gaveen","description":"My Vimfiles","archived":false,"fork":false,"pushed_at":"2024-10-23T14:32:22.000Z","size":155,"stargazers_count":21,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-31T07:41:48.695Z","etag":null,"topics":["vim","vimfiles"],"latest_commit_sha":null,"homepage":"https://gaveen.me/2020/02/my-vim-story/","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/gaveen.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-08-22T09:48:03.000Z","updated_at":"2024-10-23T14:33:33.000Z","dependencies_parsed_at":"2024-04-30T11:32:40.783Z","dependency_job_id":"6cc514e8-cc62-4695-b033-de8ca12899a7","html_url":"https://github.com/gaveen/vimfiles","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/gaveen%2Fvimfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaveen%2Fvimfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaveen%2Fvimfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaveen%2Fvimfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gaveen","download_url":"https://codeload.github.com/gaveen/vimfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252834449,"owners_count":21811383,"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":["vim","vimfiles"],"created_at":"2024-12-13T19:19:45.106Z","updated_at":"2025-05-07T07:36:23.577Z","avatar_url":"https://github.com/gaveen.png","language":"Vim Script","readme":"# Vimfiles\n\nThis is my current vim (and gvim) setup files.\n\nThere are many like it but this one is mine. This is not intended as a distribution. Therefore, you can expect things to change on a whim. Feel free to look around and steal ideas though.\n\nI have explained about this setup in [a blog post](https://gaveen.me/2020/02/my-vim-story/). The plugins are managed with '[`vim-plug`](https://github.com/junegunn/vim-plug)' and the setup is tested only on [Vim](https://www.vim.org/) \u003e v9.0 on Linux.\n\nI have a separate configuration setup for Neovim in the repository [neovimfiles](https://github.com/gaveen/neovimfiles/) because I set it up with additional features.\n\n\n## How to use\nIf you still want to use these vimfiles, this is how you can do so.\n\nFirst, you'll need to clone this repository.\u0026nbsp;  \n`$ git clone https://github.com/gaveen/vimfiles.git`\n\nThen, you could create symbolic links to the `.vim` directory and `.vimrc` file. Assuming the location where you cloned the repository is `~/Apps/vimfiles`, you can do something like:\u0026nbsp;  \n`$ ln -s ~/Apps/vimfiles/.vim ~/.vim`\u0026nbsp;  \n`$ ln -s ~/Apps/vimfiles/.vimrc ~/.vimrc`\n\nFinally, launch vim and install the plugins. (_Note:_ `:PlugUpgrade` will update vim-plug itself)\u0026nbsp;  \n`:PlugUpdate` will install/update plugins\n\nThe **Leader** key is set as the `Space` character.\n\n\n### Dependencies\n- A relatively newer version of vim/gvim\n- An internet connection (to install/update plugins)\n- `git` used by `vim-plug` to keep plugins up-to-date\n- `wl-copy` used for copying to clipboard (over Wayland)\n- `wmctrl` used for gvim toggle full-screen\n- `ctags` used for traversing by tags\n\n\n## Usage tips \u0026 tricks\n\nBefore we begin tricks, there are few key concepts you need to know if you are new to vim.\n\nTo summarize:\n- Vim has multiple modes (e.g., `Normal Mode`, `Insert Mode`, `Visual Mode`)\n- Vim `buffers` are different editing spaces, whereas vim `tab pages` are not\n- You can define your own shortcuts\n- Vim is extensible with plugins\n- Editing with Vim is like programming your text\n\nYou can read the full details at: https://gaveen.me/2020/02/my-vim-story/\n\n\u0026nbsp;  \n\nWith those out of the way, here are some of the tricks you can do with this particular setup of vimfiles. Some of the following are enabled through plugins.\n\n_Please note:_ **`\u003cleader\u003e` = ` `** in this vimfiles setup\n\nFunction Key | Action\n------------ | ------\n`F2` | Toggle auto-indenting when pasting\n`F3` | Toggle focus-highlighting (plugin)\n`F4` | Toggle spell checking (default lang: en_US)\n`F7` | Toggle vista (plugin)\n`F8` | Toggle tagbar (plugin)\n`F10` | Trigger showing a margin (with user input)\n`F11` | Toggle fullscreen in gvim (if supported)\n\n\u0026nbsp;  \n\nBuffer Shortcut | Action\n--------------- | ------\n`\u003cleader\u003ebl` | List open buffers\n`\u003cleader\u003ebg` | Trigger jump to buffer (with user input)\n`\u003cleader\u003ebv` | Go to previous buffer\n`\u003cleader\u003ebn` | Go to next buffer\n`\u003cleader\u003ebd` | Close buffer and jump to previous one\n\n\u0026nbsp;  \n\nClipboard Shortcut* | Action\n------------------- | ------\n`\u003cleader\u003ey` | Copy to clipboard\n`\u003cleader\u003ex` | Cut to clipboard\n`\u003cleader\u003ep` | Paste from clipboard\n`*` | _Only on supported systems_\n\n\u0026nbsp;  \n\nMotion Shortcut | Action\n--------------- | ------\n`\u003cleader\u003e\u003cleader\u003ew` | Trigger jump to word motion\n`\u003cctrl\u003ep` | Fuzzy find pattern in files, buffers, etc.\n`\u003ctab\u003e` | Jump to matching other of a pair (same as %)\n\n\u0026nbsp;  \n\nVisual Cue Shortcut | Action\n------------------- | ------\n`\u003cleader\u003e,` | Compare the changes since the last save\n`\u003cleader\u003e/` | Clear the highlighting of last searched pattern\n`\u003cleader\u003el` | Toggle displaying non-printable characters\n`\u003cleader\u003ev` | Select the text that was pasted immediately before\n`za` | Toggle code folding based on syntax\n\n\u0026nbsp;  \n\nUI Element Shortcut | Action\n------------------- | ------\n`\u003cleader\u003ed` | Toggle directory tree pane\n`\u003cleader\u003eq` | Toggle displaying the quickfix window\n\n\u0026nbsp;  \n\nText Manipulation Shortcut | Action\n-------------------------- | ------\n`\u003cleader\u003ec\u003cspace\u003e` | Toggle commenting the selected text\n`\u003cleader\u003ej=` | Toggle soft-wrapping text (fit to screen)\n`\u003cleader\u003egq` | Hard-wrap lines in the current paragraph\n`\u003cleader\u003eJ` | Un-wrap the current paragraph (join lines)\n`\u003cleader\u003eW` | Remove trailing whitespaces in current file\n`z=` | Spelling suggestion for the word under cursor\n`:w!!` | Save a file with 'sudo' privileges\n\n\u0026nbsp;  \n\nInsert Mode Shortcut* | Action\n--------------------- | ------\n`\u003cctrl\u003en` | Auto-complete words repeating words\n`\u003cctrl\u003ex\u003cctrl\u003eo` | Auto-complete code keywords\n`*` | _Entered while in Insert Mode_\n\n\u0026nbsp;  \n\nHere are some other useful things enabled for you.\n- Automatic completion of matching pairs (e.g., `()`, `[]`, `{}`, `''`, `\"\"`, etc.)\n- Auto-editing of matching pairs (For examples, see: [tpope/vim-surround](https://github.com/tpope/vim-surround))\n- Use _ and + keys to increase and decrease the range of text selection blocks\n- Better text aligning support (For examples, see: [Vimcasts - Aligning text with Tabular.vim](http://vimcasts.org/episodes/aligning-text-with-tabular-vim/))\n- Show non printable characters such as: tab, trailing spaces\n- List and indicate open/active buffers in the bottom status bar\n\n\u0026nbsp;  \n\n## Finding more help\nSince Vim is an advanced editor and plugins add even more features, it doesn't make sense for me to include all the support in the scope of this document.\n\nVim comes with extensive help documentation. To find out more about a given topic, you can access the vim help by typing :h {topic}. For example, to find about Vim's text folding features, type `:h folding`.\n\nAt least some of the plugins also come with documentation. Therefore, please try to refer the relevant documetation the same way. For example, to find more about motion shortcuts enabled by EasyMotion plugin, type `:h easymotion`.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaveen%2Fvimfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgaveen%2Fvimfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaveen%2Fvimfiles/lists"}