{
    "componentChunkName": "component---src-templates-post-js",
    "path": "/blog/2013/04/09/getting-to-know-vim",
    "result": {"data":{"site":{"siteMetadata":{"title":"your friend Joel's digital garden","description":"Articles and notes from a collaborator at egghead.io. Musings on software, business, and life from a skilled virtual assistant.","author":{"name":"Joel Hooks"},"keywords":["Video Blogger"]}},"mdx":{"excerpt":"It's like coming full circle. When I was first introduced to computers, they very much resembled what I see in\nTerminal today. I've always had a distinct fondness for the command line\ninterface. That said, when I started using computers…","fields":{"github":"https://github.com/joelhooks/joelhooks-com/tree/master/content/legacy_blog/2013-04-09-getting-to-know-vim.markdown"},"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"layout\": \"post\",\n  \"title\": \"Getting to Know VIM\",\n  \"date\": \"2013-04-09T00:00:00.000Z\",\n  \"comments\": true\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", null, \"It's like coming full circle.\"), mdx(\"p\", null, \"When I was first introduced to computers, they very much resembled what I see in\\nTerminal today. I've always had a distinct fondness for the command line\\ninterface. That said, when I started using computers professionally most of my\\ntime has been spent in fancy GUIs. Perhaps because of the roots of my obsession\\nI still have an affinity for these text based interfaces.\"), mdx(\"p\", null, \"For the past several years, I've been constantly poking at vim. I've gone from\\nstruggling to remember the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \":wq\"), \" sequence to trying my damndest to use\\n\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"hjkl\"), \" instead of my arrow keys. I've used vim movement cheatsheets as\\ndesktop backgrounds, and stopped using 'crutches' like nano when I'm working on\\na server via ssh.\"), mdx(\"p\", null, \"This year, I've decided to go full bore with vim. When I'm editing text, I want\\nto default to vim instead of the many other GUI options I tend to enjoy day to\\nday.\"), mdx(\"p\", null, \"And I'm having some success!\"), mdx(\"p\", null, \"The excellent \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://pragprog.com/book/dnvim/practical-vim\"\n  }, \"Practical Vim\"), \" has\\nbeen extremely helpful. The single most important thing I've done this go-around\\nis to completely remove \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"all\"), \" of the dotfiles I've accumulated over the\\nyears. Some custom bits with \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/carlhuda/janus\"\n  }, \"Janus\"), \"\\ninstalled on top of that. Janus is awesome, but I also had \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"absolutely no idea\"), \" what was going on. It\\ninstalls all of the 'essential' plugins, but it is too much. I was generally\\nleft hunting and pecking and doing things poorly.\"), mdx(\"p\", null, \"So I stripped it down, and have been in the process of building up \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"my own\\ndotfiles\"), \" line by line.\"), mdx(\"p\", null, \"It now feels like a tipping point has been reached. I have some core\\nunderstanding of my editor, how it works, and what options are available. I plan\\non documenting this process, including which tools have been useful so far.\\nUltimately my interest in vim lies with using it in conjunction with tmux (rad\\nterminal multiplexer) to create a truly unixy command line development\\nenvironment.\"));\n}\n;\nMDXContent.isMDXComponent = true;","frontmatter":{"title":"Getting to Know VIM","date":"April 09, 2013","banner":null,"slug":null,"keywords":null}}},"pageContext":{"id":"9252a7af-96fd-5b52-806d-005870fc1911","prev":{"id":"69eea334-e327-5f68-852e-d58c4f2f4c84","parent":{"name":"2013-04-18-a-tiny-review-one-week-with-an-11-macbook-air-for-software-development","sourceInstanceName":"legacy"},"excerpt":"For as long as I can remember, all of my computer upgrades have been \"bigger and\nbadder.\" Outside of moving from a FULL ATX DESKTOP WORKSTATION to a laptop,\nMoore's law has played out nicely. Every few years I'd get something bigger and\nbetter. Not…","fields":{"title":"It is Tiny. One Week Developing With an 11\" MacBook Air","slug":"blog/2013/04/18/a-tiny-review-one-week-with-an-11-macbook-air-for-software-development","date":"2013-04-18T00:00:00.000Z"}},"next":{"id":"bd42a971-34e0-57d6-a11e-2d590093a742","parent":{"name":"2013-04-09-vim-adventures-a-fun-way-to-pick-up-some-basic-skills","sourceInstanceName":"legacy"},"excerpt":"Vim Adventures  is a fun browser based game that\nteaches basic VIM skills while adventuring. It is kind of silly, and can be a\nbit... frustrating... but that is the point. This is VIM after all! No pain, no\ngain ;)","fields":{"title":"VIM Adventures: A Fun Way to Pick up Some Basic Skills","slug":"blog/2013/04/09/vim-adventures-a-fun-way-to-pick-up-some-basic-skills","date":"2013-04-09T00:00:00.000Z"}}}},
    "staticQueryHashes": ["1045846374"]}