<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>symbolsystem</title>
    
    <link href="http://symbolsystem.com/" />
    <updated>2012-02-12T13:23:54-08:00</updated>
    <id>http://symbolsystem.com/</id>
    
    
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/symbolsystem" /><feedburner:info uri="symbolsystem" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
        <title>This is Your Brain on Vim</title>
        
        <link href="http://feedproxy.google.com/~r/symbolsystem/~3/twM8QzJbvv8/" />
        <updated>2010-12-15T00:00:00-08:00</updated>
        <id>symbolsystem.com:/2010/12/15/this-is-your-brain-on-vim</id>
        <content type="html">&lt;h3 id='the_pristine_state'&gt;the pristine state&lt;/h3&gt;

&lt;p&gt;I was watching a violinist bow intensely and I had this thought: I probably have as many brain cells devoted to my text editor as he does to playing his chosen instrument. Is it outlandish to imagine that an MRI of his brain during a difficult solo wouldn&amp;#8217;t look much different than mine while manipulating code in vim?&lt;/p&gt;
&lt;img src='/img/brain_before.png' /&gt;
&lt;p&gt;Consider, if you will, the following montage from one vimmer&amp;#8217;s journey.&lt;/p&gt;

&lt;h2 id='the_long_hard_road_to_vim_nirvana'&gt;the long, hard road to vim nirvana&lt;/h2&gt;

&lt;h3 id='monday'&gt;monday&lt;/h3&gt;

&lt;p&gt;&amp;#8220;eclipse sure is neat.&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;but that weird guy with the neckbeard at work looks really fast with vim, I should try it!&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;alright! I got gvim. this doesn&amp;#8217;t look bad. there are even menus!!!&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;wait what? where&amp;#8217;d my text go? wait. undo. no.&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;:help&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;:q!!!!!&amp;#8221;&lt;/p&gt;

&lt;p&gt;.&lt;/p&gt;

&lt;p&gt;.&lt;/p&gt;

&lt;p&gt;revels in the opiatic relief of autocompleting boilerplate in eclipse for the rest of the day&lt;/p&gt;

&lt;h3 id='tuesday'&gt;tuesday&lt;/h3&gt;

&lt;p&gt;&amp;#8220;okay vim. it&amp;#8217;s a new day, a new opportunity to really sharpen the old saw. I&amp;#8217;m not giving up that easily!&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;WHY CAN&amp;#8217;T I JUST STAY IN INSERT MODE FJDSAKLFJDALSKJKLDF&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;wait, you&amp;#8217;re telling me I have to press escape-shift-colon-w-enter every time I want to save? this is some bullsheeeet.&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;after spending 2 hours on the tutorial, all I basically know is &amp;#8216;ddp&amp;#8217; to swap lines. crap.&amp;#8221;&lt;/p&gt;

&lt;h3 id='a_week_later'&gt;a week later&lt;/h3&gt;

&lt;p&gt;&amp;#8220;woah. vim is everywhere! this means all of this effort will not be in vain when I ssh into the mainframez to edit some configs&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;SWEET, HEY GUYS CHECK OUT THIS DARK TOTALLY UNCORPORATE COLORSCHEME. MY NEW-TOOL-PAIN IS SUPERFICIALLY EASED.&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;oh balls. my .vimrc isn&amp;#8217;t on the mainframez so all my cool shit is gone when I ssh to edit some configs.&amp;#8221;&lt;/p&gt;

&lt;h3 id='two_months_later'&gt;two months later&lt;/h3&gt;

&lt;p&gt;hjkl movement becomes natural. you mysteriously lose the ability to ice skate&lt;/p&gt;

&lt;p&gt;&amp;#8221;I&amp;#8217;ll use these 400 plugins I just downloaded ALL the TIME! especially this folding LaTEX plugin oh man&amp;#8221;&lt;/p&gt;

&lt;p&gt;/self-flagellation for lapsing back to the arrow keys&lt;/p&gt;

&lt;p&gt;&amp;#8220;adieu, caps lock.&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;that&amp;#8217;s it. the last straw. vim can&amp;#8217;t even wrap text properly, I&amp;#8217;m going back to edit.com&amp;#8221;&lt;/p&gt;

&lt;h3 id='a_year_later'&gt;a year later&lt;/h3&gt;

&lt;p&gt;speaks less out loud&lt;/p&gt;

&lt;p&gt;installs command-T plugin, saves several hundred thousand keystrokes/day&lt;/p&gt;

&lt;p&gt;tries impressing someone watching over shoulder with a macro, only to mess up and uppercase/rot13 the entire file&lt;/p&gt;

&lt;p&gt;delays onset of carpal tunnel for several years by finally committing ctrl+[ to muscle memory&lt;/p&gt;

&lt;p&gt;in one miraculous day, finally learns motions, visual mode, and * &amp;#8211; realizes there is no turning back&lt;/p&gt;

&lt;p&gt;&amp;#8220;vim doesn&amp;#8217;t support interactive buffers? after 20 years? well, I&amp;#8217;m a hacker. I&amp;#8217;ll just add support for it.&amp;#8221;&lt;/p&gt;

&lt;p&gt;sees quality of vim codebase, runs frantically in opposite direction&lt;/p&gt;

&lt;p&gt;&amp;#8220;who needs a console in their editor anyways!!!! I am all about the unix philosophy, etc&amp;#8221;&lt;/p&gt;

&lt;p&gt;hot flashes of panic surrounding the notion that vim is just an editing mode to be incorporated into &amp;#8220;real&amp;#8221; editors&lt;/p&gt;

&lt;p&gt;irc friends finally corner you for a dramatic intervention re: obnoxiously frequent stray &amp;#8220;:w&amp;#8221;s in room&lt;/p&gt;

&lt;h3 id='two_years_later'&gt;two years later&lt;/h3&gt;

&lt;p&gt;&amp;#8220;vimscript is an abomination unto the lord.&amp;#8221;&lt;/p&gt;

&lt;p&gt;niggling feeling that emacs&amp;#8217; parens-all-the-way-down construction must be heaven-like, comparatively&lt;/p&gt;

&lt;p&gt;&amp;#8220;I had this nightmare last night. dreamt I still hadn&amp;#8217;t learned to slice and dice vertical splits on my widescreen monitors. it was EFFING SCARY.&amp;#8221;&lt;/p&gt;

&lt;p&gt;glances around room furtively, binds ctrl+s to save, allows self quiet sigh of relief&lt;/p&gt;

&lt;p&gt;realizes inadequacy of hjkl in the face of the ultimate time saver that is search-to-navigate&lt;/p&gt;

&lt;p&gt;discovers :python scripting, enters golden age of flourishing customizability. feels only a little dirty&lt;/p&gt;

&lt;p&gt;frenzied &amp;#60;Leader&amp;#62;key mapping until keyboard resembles NASA mission control panel in its manifold multifunctional ridiculousness&lt;/p&gt;

&lt;p&gt;&amp;#8220;hey look, everybody within earshot!!! I&amp;#8217;m now version controlling, blogposting, mailchecking, testrunning, debugging, hackernews-skimming, ALL from within vim&amp;#8217;s warm safe ultra-customizable womb! why aren&amp;#8217;t you guys doing back flips to celebrate!?&amp;#8221;&lt;/p&gt;

&lt;h3 id='some_lengthy_and_indeterminately_vague_time_later'&gt;some lengthy and indeterminately vague time later&lt;/h3&gt;

&lt;p&gt;loses several friends over lectures on &amp;#8220;the clear advantages of modality in text editing&amp;#8221;&lt;/p&gt;

&lt;p&gt;luxuriates in shared github.com/me/vimfiles bliss, publishes obligatory blog post about how special and unique setup is&lt;/p&gt;

&lt;p&gt;with syntax checking, linting, autocompletion, quick documentation lookup, tons of killer abbreviations, and plugins for every filetype under the sun, vim approaches true IDE-status in both productivity, and startup time&lt;/p&gt;

&lt;p&gt;logs into server, unconsciously uses nano to edit a config file. unexpected realization of betrayal minutes later accompanied by a deep shame abetted only by updating all those barely used plugins and sprinkling more comments in .vimrc&lt;/p&gt;

&lt;p&gt;monastic calm no longer daunted by repetitive editing tasks, nor by emacs vs vim debates&lt;/p&gt;

&lt;h2 id='and_finally_this_is_your_brain_on_vim'&gt;&amp;#8230;and finally, this is your brain on Vim&lt;/h2&gt;
&lt;img src='/img/brain_after.png' /&gt;
&lt;p&gt;any questions?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/symbolsystem/~4/twM8QzJbvv8" height="1" width="1"/&gt;</content>
        <author>
            <name />
            <uri />
        </author>
    <feedburner:origLink>http://symbolsystem.com/2010/12/15/this-is-your-brain-on-vim/</feedburner:origLink></entry>
    
</feed>

