{"id":34294216,"url":"https://github.com/johndgiese/dotvim","last_synced_at":"2025-12-17T03:56:04.535Z","repository":{"id":3509051,"uuid":"4566505","full_name":"johndgiese/dotvim","owner":"johndgiese","description":"My Vim setup","archived":false,"fork":false,"pushed_at":"2022-11-17T18:34:45.000Z","size":2172,"stargazers_count":36,"open_issues_count":0,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2023-03-24T07:24:32.386Z","etag":null,"topics":["ctags","vim","vimrc"],"latest_commit_sha":null,"homepage":null,"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/johndgiese.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":"2012-06-05T22:59:44.000Z","updated_at":"2022-11-17T18:34:49.000Z","dependencies_parsed_at":"2023-01-11T16:17:07.582Z","dependency_job_id":null,"html_url":"https://github.com/johndgiese/dotvim","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/johndgiese/dotvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johndgiese%2Fdotvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johndgiese%2Fdotvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johndgiese%2Fdotvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johndgiese%2Fdotvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johndgiese","download_url":"https://codeload.github.com/johndgiese/dotvim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johndgiese%2Fdotvim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27776773,"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","status":"online","status_checked_at":"2025-12-17T02:00:08.291Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ctags","vim","vimrc"],"created_at":"2025-12-17T03:56:03.973Z","updated_at":"2025-12-17T03:56:04.529Z","avatar_url":"https://github.com/johndgiese.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# This is just a starting point...\n\nI started using Vim in graduate school. Years later, as the CEO of a growing [medical-device software development firm](https://innolitics.com), I still use Vim---or now Neovim---nearly every day.\n\nI love Vim because it's fast, free, customizable, portable, mouse-minimal and multilingual. I like staying close to the text. Furthermore, since it's popular and open source, I feel comfortable investing to learn it without worrying that it will stop being supported in the future. Finally, if I want to use a new programming language, Vim will likely support sooner than the IDEs will.\n\nVim has downsides too: It's hard to learn, configuration maintenance can be annoying and disruptive, there's no graphical debugger, and advanced refactoring support isn't great. I use JetBrains' IDEs when I need a graphical debugger or advanced refactoring support, but I hope Neovim 0.5 will reduce the need for this.\n\nMy Neovim config is stored in this repository.\n\nYou'll likely want to adjust my settings, thus these files provide a nice starting point. I hope that you will be able to fork my repository and customize your own from there! Using my vimrc as a starting place may save you some time.\n\nLet me know if you get stuck in the install process (make a GitHub issue) and I'll try to help out.\n\n# Installation\n\nIf you use macOS or Linux, run these commands:\n\n\tgit clone git@github.com:johndgiese/dotvim.git ~/.config/nvim\n    sh ~/.config/nvim/install.sh\n\n## Ctags\n\nCtags creates an index of language objects in your code. A few of my vim plugins rely on this index. You can comment out the plugins in init.vim, but I recommend trying to install ctags. It's quite useful. You can read about it [here](https://docs.ctags.io/en/latest/).\n\nTo install it on Ubuntu, run this command:\n\n    sudo apt-get install ctags\n\nTo install it on macOS, run this command:\n  \n    # see https://docs.ctags.io/en/latest/osx.html#building-with-homebrew\n    brew tap universal-ctags/universal-ctags\n    brew install --HEAD universal-ctags\n\n## Fzf and Rip-grep\n\nFzf is a fuzzy file finder and rip-grep is a fast file-search tool.\n\nTo install it on macOS, run this command:\n\n    brew install ripgrep fzf\n\nTo install it on Ubuntu (18.10 and newer), run this command:\n\n    sudo apt-get install ripgrep\n\n# How this vim config differs from normal vim\n\nThe most important three changes are:\n\n* ESC in insert mode is now jk (quickly, one after another)\n* Swaps `;` and `:`, because you use `:` all the time in vim but rarely use `;`\n* The new \\\u003cleader\\\u003e key is `,` instead of `/`\n\nThese three shortcuts will save you a lot of keypresses and keep your hands comfortable during long days of coding.\n\n* \\\u003cleader\\\u003eev opens the vimrc\n* \\\u003cleader\\\u003esv sources the vimrc (which you need to make changes come into effect)\n* \\\u003cleader\\\u003e1 lets you browse files\n* \\\u003cleader\\\u003e2 lets you view the structure of your file\n* \\\u003cleader\\\u003e3 lets you see all the open buffers\n* \\\u003cleader\\\u003e4 lets you navigate the undo history\n* \\\u003cleader\\\u003e5 runs your make program, which is file-type dependent (see below)\n* \\\u003cleader\\\u003e6 toggles the fugitive Gstatus buffer\n* Searches (pressing / or ? in normal mode) now have \\v prepended so that vim uses the verymagic mode (i.e. it uses normal python/perl regular expressions instead of its own version)\n* \\\u003cleader\\\u003e/ clears search highlighting\n* \\\u003cleader\\\u003es toggles spell-check\n* Much better colorscheme\n* \\\u003cleader\\\u003eo opens the colorscheme file for easy updating if you use different languages\n* \\\u003cleader\\\u003eO shows the syntax groups below the cursor\n* \\\u003cleader\\\u003ec toggles color highlighting\n* \\\u003cleader\\\u003ew will highlight whitespace at the ends of lines, and ,W will delete it.\n* \\\u003cleader\\\u003ee toggles syntastic plugin (see below) on and off\n* \\\u003cleader\\\u003eq toggles the quickfix open and closed, and \\\u003cA-]\\\u003e and \\\u003cA-]\\\u003e\n  navigates through the list\n* \\\u003cC-p\\\u003e opens the a fuzzy file browser\n\nThe following other plugins are installed:\n* vim-plug - lets you manage plugins more easily (look in the bundle directory)\n* Nerdtree - browse files inside vim\n* Tagbar - view the structure of your files using ctags\n* Gundo - graphical view of undo branches; see the [vimcast](http://vimcasts.org/episodes/undo-branching-and-gundo-vim/)\n* Fugitive - use git inside vim! See the [vimcasts](http://vimcasts.org/episodes/archive) about it.\n* Colorizer - show colors within the editor (useful for CSS editing)\n* Surround - work better with parenthesis and other nesting structures. Type :h surround\n* Unimpaired - provides various mappings for operating with pairs\n* Airline - a colorful and useful statusline\n* FZF - lets you browse files really quickly\n* ... a few other little ones\n\n# Maintaining your repo\n\nThe structure of this vimrc setup allows easy cross platform use and easy updating of your plugins.  This comes at a cost of it being a little more complicated to maintain (but overall much faster and stable).  Here are a few notes that may help you.\n\n## Commiting changes\n\nIf you modify your vimrc file you will likely want to commit these changes to your repository.  Do this like you would for any git repository\n\n\tgit add .\n\tgit commit -m \"brief description of changes\"\n\nfinally, if you are hosting your vim setup online you would push to the remote repository:\n\n\tgit push origin master\n\t\nNote that you may need to update the origin url for the repo (Google online if you don't know how to do this)\n\n## Managing plugins\n\nI use vim-plug to manage plugins; it is much better than the default way.  Google online if you don't believe me.  Instructions on how to use it [here](https://github.com/junegunn/vim-plug).\n\n## Updating the VIMRC\n\nYou can quickly update the vimrc by pressing \\\u003cleader\\\u003ev in normal mode.  When you save it, it will source the changes so that you can see the effects immediately.  Note that this doesn't always work as expected, so you may have to fully reset vim to use this.\n\n## Updating the Colorscheme\n\nEveryone likes a different colorscheme, so you will probably want to make some updates to mine or change it completely.  To do this you can use type \\\u003cleader\\\u003eo to go straight to the file to start editing.  You can use \\\u003cleader\\\u003eO to see what syntax groups below the cursor.\n\nIf you want to change the name of the colorscheme, you will have to go into your vimrc file and change the name in two places: one for actually loading the colorscheme, and one for enabling the ,o shortcut.\n\nSee [this vimcast](http://vimcasts.org/episodes/creating-colorschemes-for-vim/) for details about colorschemes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohndgiese%2Fdotvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohndgiese%2Fdotvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohndgiese%2Fdotvim/lists"}