[
  {
    "path": "README.md",
    "content": "# Vim Cheat Sheet for Programmers\n\nWhen I was learning Vim I wanted to know a few things:\n\n* How are keys grouped by functionality?\n* What keys are free to re-use?\n* How do I set sane defaults for editing code?\n\n## Screen (150 dpi)\n\n![vim_cheat_sheet_for_programmers_print_150dpi.png](vim_cheat_sheet_for_programmers_print_150dpi.png)\n\n## Print (600 dpi)\n\n* [vim_cheat_sheet_for_programmers_print_600dpi.png](vim_cheat_sheet_for_programmers_print_600dpi.png)\n\nThe color coded Legend / Keys helps provide guidance for your experience level.\n\n![Legend](legend.png)\n\n# Older Versions\n\n## 2.3\n\n* [2.3 pdf](old_2.3/vim_cheat_sheet_for_programmers_print.pdf)\n* [2.3 png](old_2.3/vim_cheat_sheet_for_programmers_print.png)\n* [2.3 xls](old_2.3/vim_cheat_sheet_for_programmers_print.xlsx)\n\n\n## 2.0\n\n* [2.0 pdf](old_2.0/vim_cheat_sheet_for_programmers_print.pdf)\n* [2.0 pdf](old_2.0/vim_cheat_sheet_for_programmers_print.png)\n* [2.0 xls](old_2.0/vim_cheat_sheet_for_programmers_print.xlsx)\n\n# Other cheat sheets / references\n\n* http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html\n* http://tnerual.eriogerg.free.fr/vim.html\n* http://www.lagmonster.org/docs/vi.html\n* http://jrmiii.com/2009/03/06/learning-vim-the-pragmatic-way.html\n* https://vim.rtorr.com/\n* https://devhints.io/vim\n"
  },
  {
    "path": "legend.html",
    "content": "<html>\n<head>\n<style>\ntd\n{\n    white-space:pre;\n    font-family: monospace;\n}\n</style>\n</head>\n<body>\n<hr>\n<table>\n<tr><td>* <span style='color:#ffffff; background:#00A000'>Green</span>         </td><td>= Essential (movement)</td></tr>\n<tr><td>* <span style='color:#000000; background:#F0F000'>Yellow</span>        </td><td>= Basic (insert/replace)</td></tr>\n<tr><td>* <span style='color:#000000; background:#F08000'>Orange</span> / <span style='color:#ffffff;background:#0000ff'>Blue</span></td><td>= Advanced (folding/tags)</td></tr>\n<tr><td>* <span style='color:#000000; background:#C00000'>Red</span>           </td><td>= Expert (macros)</td></tr>\n</table>\n</body>\n</html>\n"
  },
  {
    "path": "old_2.0/index.html",
    "content": "<html>\n<title>Vim Cheat Sheat for Programmers by Michael Pohoreski</title>\n<body>\n\n<p>Update: Version 2.0 is up!  There are now 4 versions to chose from:<br>\n(If you are wondering what the differences are between the screen and print:  the screen has less color variations, and no gradients to make it easier to read.)</p>\n<!--\n<p>Background: I couldn't find a good Vim cheat sheet that:\n<ul>\n<li>Listed all the useful Vim configuation/settings in one place that a programmer would be interested in using, and </li>\n<li>Listed every Ctrl key combination so you could tell which keys were available for your own mapping(s).</li>\n</ul>\nSolution: So after looking at the Vim source, I made my own cheat sheet.  The top half lists all the keys, the bottom half is organized by categories with bold entries designating common tasks.  The red strike-out text above the keys show all the Ctrl keys that Vim doesn't recognize - you can't map Caps to your favorite command(s) for example.\n</p>\n-->\n<ul>\n<li>One designed for on-screen reading: <a href=\"vim_cheat_sheet_for_programmers_screen.pdf\">PDF</a>  (<a href=\"vim_cheat_sheet_for_programmers_screen.xlsx\">Excel 2011 source</a>),</li>\n<li>One designed for hard-copy reading: <a href=\"vim_cheat_sheet_for_programmers_print.pdf\">PDF</a> (<a href=\"vim_cheat_sheet_for_programmers_print.xlsx\">Excel 2011 source</a>),</li>\n<li>One designed for monochrome printing: <a href=\"vim_cheat_sheet_for_programmers_bnw.pdf\">PDF</a> (<a href=\"vim_cheat_sheet_for_programmers_bnw.xlsx\">Excel 2011 source</a>), and</li>\n<li>One designed for Red/Green color bindness -- a \"Blue\" theme <a href=\"vim_cheat_sheet_for_programmers_colorblind.pdf\">PDF</a> (<a href=\"vim_cheat_sheet_for_programmers_colorblind.xlsx\">Excel 2011 source</a>).</li>\n \n</ul>\n<p>The color coded Legend / Keys helps provide guidance for your experience level.<p>\n<ul>\n<li> <span style=\"background-color: #008000\"><font color=\"#FFFFFF\">&nbsp; Green &nbsp;</font></span> = Essential </li>\n<li> <span style=\"background-color: #FFFF00\">&nbsp; Yellow &nbsp;</span> = Basic</li>\n<li> <span style=\"background-color: #FF8000\">&nbsp; Orange &nbsp;</span> / <span style=\"background-color: #0000FF\"><font color=\"#FFFFFF\">Blue</font></span> = Advanced</li>\n<li> <span style=\"background-color: #FF0000\">&nbsp; Red &nbsp;</span> = Expert</li>\n</ul>\n<p>If you don't like this version (I'd love to hear why) try these, you may find them more to your liking...</p>\n<ul>\n<li> <a href=\"http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html\">http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html</a>\n<li> <a href=\"http://tnerual.eriogerg.free.fr/vim.html\">http://tnerual.eriogerg.free.fr/vim.html</a>\n<li> <a href=\"http://www.lagmonster.org/docs/vi.html\">http://www.lagmonster.org/docs/vi.html</a>\n<li> <a href=\"http://jrmiii.com/2009/03/06/learning-vim-the-pragmatic-way.html\">http://jrmiii.com/2009/03/06/learning-vim-the-pragmatic-way.html</a>\n</ul>\n<p>Thanks to all the redditors for the feedback! &nbsp;~ Michael</p>\n<hr>\nThe on-screen 150 DPI .png version is shown...\n    <img width=\"100%\" src=\"vim_cheat_sheet_for_programmers_screen.png\">\n<br>\n<hr>\nThe color hard-copy 300 DPI .png version: \n    <img width=\"100%\" src=\"vim_cheat_sheet_for_programmers_print.png\">\n<hr>\nThe monochrome hard-copy 300 DPI .png version: \n    <img width=\"100%\" src=\"vim_cheat_sheet_for_programmers_bnw.png\">\n<hr>\nAn color blind hard-copy 150 DPI .png version: \n    <img width=\"100%\" src=\"vim_cheat_sheet_for_programmers_colorblind.png\">\n</p>\n<hr>\n=== Vim Rants ===<br>\n<br>\nVim has 4 <font color=\"#FF0000\">bugs</font>...\n<ul>\n<li>Unable to map Caps lock key, Ctrl-1, Ctrl-Shift-1, Ctrl-Alt-Shift-1, etc. !</li>\n<li>Unable to distinguish between TAB and Ctrl-I, ESC and Ctrl-[ !  Any _modern_ editor can tell the diffeence.  It is not 1970 anymore people!</li>\n<li><span style=\"background-color: #FFFF00\">:set list</span> doesn't work for displaying all whitespace with a seperate character, i.e., listchars is missing an <span style=\"background-color: #FFFF00\">whitespace:+</span> option.</li>\n<li>The cursor movement keys <span style=\"background-color: #FFFF00\">h j k l</span> are literally hard-coded throughout the source -- which also effects the netrw :Explore file browser.  A user should be able to tell Vim what their 4 basic movement keys are, and ALL commands & Plugins should use THAT.  The <font color=\"#00C0FF\">PROPER</font> way to write code is to translate key presses into an enumeration, i.e. CMD_MOVE_UP, CMD_MOVE_DOWN, etc, and use THAT in your logic, NOT if (cmd == 'h') ....</li>\n</ul>\nOthe then that, Vim is a beautiful code editor!\n</body>\n</html>\n\n"
  }
]