{"id":13596195,"url":"https://github.com/jez/vim-as-an-ide","last_synced_at":"2025-05-16T09:03:55.062Z","repository":{"id":27818136,"uuid":"31307723","full_name":"jez/vim-as-an-ide","owner":"jez","description":"Workshop on how to use Vim Plugins.","archived":false,"fork":false,"pushed_at":"2016-11-24T11:10:53.000Z","size":38,"stargazers_count":1960,"open_issues_count":0,"forks_count":167,"subscribers_count":67,"default_branch":"master","last_synced_at":"2025-04-09T04:02:57.085Z","etag":null,"topics":["talk","vim"],"latest_commit_sha":null,"homepage":"https://blog.jez.io/vim-as-an-ide/","language":"VimL","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/jez.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":"2015-02-25T10:09:03.000Z","updated_at":"2025-03-13T02:33:12.000Z","dependencies_parsed_at":"2022-07-25T17:32:52.082Z","dependency_job_id":null,"html_url":"https://github.com/jez/vim-as-an-ide","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/jez%2Fvim-as-an-ide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jez%2Fvim-as-an-ide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jez%2Fvim-as-an-ide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jez%2Fvim-as-an-ide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jez","download_url":"https://codeload.github.com/jez/vim-as-an-ide/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501556,"owners_count":22081528,"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":["talk","vim"],"created_at":"2024-08-01T16:02:11.735Z","updated_at":"2025-05-16T09:03:55.044Z","avatar_url":"https://github.com/jez.png","language":"VimL","funding_links":[],"categories":["VimL","Vim Script"],"sub_categories":[],"readme":"# Vim as an IDE\n\nThis repository is the result of a tech talk that I gave at Carnegie Mellon\nUniversity on February 25, 2015. Its central motivation is this: students who\nhave been instructed or told to use Vim to complete programming assignments\nwhile ssh'ed are missing out on the vast power that lies within Vim.\n\nThere are two fronts to having an amazing Vim experience:\n\n1. knowing how to manipulate text using Vim's built in keyboard shortcuts\n2. having plugins that make Vim behave like users would expect from a modern\n   text editor.\n\nIn my experience as a TA and fellow student, learning the former requires\nthe latter and vice versa, leading to a vicious cycle of Vim peril. With this in\nmind, this repository aims to cure the latter, so that the vicious cycle can\nend.\n\n## How to use this repository\n\nThis repository contains a sample vimrc that walks you through the changes at\neach step so that you can gain an understanding of what's going on (rather than\njust copying someone's vimrc!).\n\nEach commit in this repository corresponds to __a step from the actual\nworkshop__. Use the __[list of all commits][master]__ to browse the steps.\nYou'll see a (sometimes lengthy) explanation of what happened, and then the\ndiff(erence) of exactly what changed from step-to-step.\n\n[master]: https://github.com/jez/vim-as-an-ide/commits/master\n\nThis is what you should do:\n\n- start at the [first commit](https://github.com/jez/vim-as-an-ide/commit/0673f0c)\n- read the commit message and GitHub comments\n- copy the changes\n- repeat\n\nIt's that simple. Depending on how fast you read and how in-depth you want to\ngo, you could easily have a fully-configured\\* Vim setup in about an hour.\n\nOnce you've done this, the hard part is learning to use what you just installed!\nI went back through and added some usage information and links to references on\nthe GitHub comments, so be sure to check them out.\n\n### Table of Contents\n\nEven though you *can* install this file outright, you should really look through\nthe steps for more information about what's going on.\n\nNote: every time you add a new `Plugin ...` line, you'll have to run\n\n```\nvim +PluginInstall +qall\n```\n\n\n*  [Create vimrc file][step-01]\n*  [Add some general settings][step-02]\n*  [Enable the mouse][step-03]\n*  [Set up Vundle boilerplate][step-04]\n*  [Make Vim look good][step-05]\n*  [Plugins NERDTree and NERDTree Tabs][step-06]\n*  [Plugin Syntastic][step-07]\n*  [Plugins vim-easytags and tagbar][step-08]\n*  [Plugin ctrlp][step-09]\n*  [Plugin A.vim][step-10]\n*  [Plugins vim-gitgutter and vim-fugitive][step-11]\n*  [Plugin delimitMate][step-12]\n*  [Plugin vim-superman][step-13]\n*  [Plugin vim-tmux-navigator][step-14]\n*  [Syntax plugins][step-15]\n*  [Add all the extra plugins that I use][step-16]\n\n[step-01]: https://github.com/jez/vim-as-an-ide/commit/0673f0c\n[step-02]: https://github.com/jez/vim-as-an-ide/commit/dff7da3\n[step-03]: https://github.com/jez/vim-as-an-ide/commit/fc77b04\n[step-04]: https://github.com/jez/vim-as-an-ide/commit/dcc0c8d\n[step-05]: https://github.com/jez/vim-as-an-ide/commit/a1f4055\n[step-06]: https://github.com/jez/vim-as-an-ide/commit/5fd6dc6\n[step-07]: https://github.com/jez/vim-as-an-ide/commit/0f2a776\n[step-08]: https://github.com/jez/vim-as-an-ide/commit/0706f73\n[step-09]: https://github.com/jez/vim-as-an-ide/commit/e7b27d1\n[step-10]: https://github.com/jez/vim-as-an-ide/commit/b1d3691\n[step-11]: https://github.com/jez/vim-as-an-ide/commit/7fc1cab\n[step-12]: https://github.com/jez/vim-as-an-ide/commit/e69a4fb\n[step-13]: https://github.com/jez/vim-as-an-ide/commit/c2122f4\n[step-14]: https://github.com/jez/vim-as-an-ide/commit/7b698e2\n[step-15]: https://github.com/jez/vim-as-an-ide/commit/f2819c7\n[step-16]: https://github.com/jez/vim-as-an-ide/commit/50fb17b\n\nAs you're following along these steps, if you want to check whether what you see\nmatches up with what my setup looks like after a given step, jump over to [this\npost](http://blog.jez.io/2015/03/03/vim-as-an-ide/).\n\n\n\u003e **Update (2016-11-12)**\n\u003e\n\u003e I've taken a pass through to update some of the more outdated commits.\n\u003e Unfortunately, this means some links have become broken. You can still find\n\u003e links to these steps by going to the branch `original`. If you find outdated\n\u003e links anywhere here, please let me know.\n\n\n## Installation Instructions\n\nIf you just want to use this file as your vimrc, no questions asked,\n\n1. Move your ~/.vimrc file and ~/.vim folder somewhere else for now.\n2. [Download Vundle](https://github.com/jez/vim-as-an-ide/commit/1186be2)\n3. [Change your terminal colorscheme to solarized](https://github.com/jez/vim-as-an-ide/commit/457f2e2)\n4. [Install a patched font](https://github.com/jez/vim-as-an-ide/commit/457f2e2)\n5. Download the file [vimrc.vim](/vimrc.vim) and rename it to ~/.vimrc\n6. Run `vim +PluginInstall +qall`\n7. ???\n8. Profit!\n\n\n## Now that I'm a plugin master, I want to...\n\n- find more plugins!\n    - \u003chttp://vimawesome.com/\u003e\n- learn how to actually use Vim!\n    - `vimtutor`\n    - [Learning Vim in 2014][1]\n        - In particular, [Vim as Language][2]\n- customize my Vimrc!\n    - Look at these examples\n        - \u003chttps://github.com/jez/dotfiles/blob/master/vimrc\u003e\n        - \u003chttps://github.com/bezi/dotfiles/blob/master/vimrc\u003e\n    - See the [first][1] and [last][3] links\n- write my own Vim plugin!\n     - [Learn Vimscript the Hard Way][3]\n\n[1]: http://benmccormick.org/learning-vim-in-2014/\n[2]: http://benmccormick.org/2014/07/02/learning-vim-in-2014-vim-as-language/\n[3]: http://learnvimscriptthehardway.stevelosh.com/\n\n__In order to teach people plugins, I had to sacrifice teaching people how to\ntap into the power of editing in Vim, which comes from using the keyboard over\nthe mouse.__ Please, take a little time to learn how to actually use Vim!\n\n\\* When I say _fully-configured_, I mean _actually usable_. It can be argued that\nVim is never fully-configured: everyone's preferences are different, and\ncircumstances change. Configuring your text editor is really a continuous\nprocess!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjez%2Fvim-as-an-ide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjez%2Fvim-as-an-ide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjez%2Fvim-as-an-ide/lists"}