{"componentChunkName":"component---node-modules-gatsby-theme-document-src-templates-docs-js","path":"/vim","result":{"data":{"mdx":{"body":"function _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/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Vim\",\n  \"description\": \"Vim editor concepts and cheat sheet\"\n};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h3\", {\n    \"id\": \"savequit\"\n  }, \"Save/Quit\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Save file -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":w\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Save file and quit -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":x\"), \" or \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"ZZ\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Quit -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":q\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Quit discarding changes -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":q!\"), \" or \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"ZQ\"))), mdx(\"h3\", {\n    \"id\": \"modes\"\n  }, \"Modes\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Normal -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"ESC\"), \", \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"c\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Insert -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"i\"), \", \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"I\"), \", \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"a\"), \", \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"A\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Replace -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"R\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Visual -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"v\"), \", \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"V\"), \", \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"v\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Command -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":\"))), mdx(\"h3\", {\n    \"id\": \"moving-around\"\n  }, \"Moving around\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Search forward and backward once -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"/\"), \" and \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"?\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"On search: (next hit -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"n\"), \", previous hit -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"N\"), \")\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"f\"), \", \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"F\"), \" -\", \">\", \" \\\"find\\\" the next character, including the character\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"t\"), \", \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"T\"), \" -\", \">\", \" \\\"find\\\" the next character, up to that character\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Search for next/previous match currently under cursor -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"asterisk\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"#\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Find an replace all occurrences of \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"foo\"), \" with \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"bar\"), \" -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":%s/foo/bar/g\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Move to the paired parenthesis or curly brace -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"%\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Move to the beginning/end of a word (forward) -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"w\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"e\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Move to the beginning/end of a word (backward) -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"b\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"ge\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Move to beginning/end of line and start editing -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"I\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"A\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Move to the beginning/end of line -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"0\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"$\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Jump forward/backward one line -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"j\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"k\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Jump forward/backward one paragraph -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"}\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"{\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Jump to the top/middle/bottom of the page -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"H\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"M\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"L\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Jump forward/backward one page -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"f\"), \"  / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"b\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Jump up/down half page -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"u\"), \"  / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"d\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Jump to next line with same content -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Right Alt\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"3\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Move cursor to the /top/middle/bottom of the page -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"zt\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"zz\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"zb\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Move cursor to the beginning/end of document -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"gg\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"G\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Move cursor to a specific line number -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":10\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Move cursor X lines above/below -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"10k\"), \"/\", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"10j\"))), mdx(\"h3\", {\n    \"id\": \"line-numbers\"\n  }, \"Line numbers\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Activate absolute line numbers -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":set nu\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Activate relative line numbers -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":set rnu\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Toggle absolute line numbers -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":set nu!\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Toggle relative line numbers -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":set rnu!\"))), mdx(\"h3\", {\n    \"id\": \"editing\"\n  }, \"Editing\"), mdx(\"h4\", {\n    \"id\": \"operators\"\n  }, \"Operators\"), mdx(\"p\", null, \"Operators specify which operation to perfom:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"d\"), \" -\", \">\", \" Delete/Cut\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"y\"), \" -\", \">\", \" Yank (copy)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"c\"), \" -\", \">\", \" Change (delete and enter insert mode)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"r\"), \" -\", \">\", \" Replace\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"v\"), \" -\", \">\", \" Visually select\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"<\"), \" -\", \">\", \" Indent to the left\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \">\"), \" -\", \">\", \" Indent to the right\")), mdx(\"h4\", {\n    \"id\": \"motion\"\n  }, \"Motion\"), mdx(\"p\", null, \"Motion specifies where the Operators operate in relation to the cursor position:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"w\"), \" -\", \">\", \" word \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"p\"), \" -\", \">\", \" paragraph \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"_\"), \" -\", \">\", \" line\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"2j\"), \" -\", \">\", \" down 2 lines\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"e\"), \" -\", \">\", \" until the end of the word\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"$\"), \" -\", \">\", \" until the end of the line\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"0\"), \" -\", \">\", \" from the beginning of the line\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"t/T\"), \" -> until a specific character\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"f/F\"), \" -> until a specific character, including the specific character\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"v\"), \" -\", \">\", \" Select block\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"i\"), \" -\", \">\", \" INNER: inside/between something\", mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"iw\"), \" -\", \">\", \" \\\"inner word\\\" (works from anywhere in a word)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"it\"), \" -\", \">\", \" \\\"inner tag\\\" (works within the contents of an HTML tag)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"i\\\"\"), \" -\", \">\", \" \\\"inner quotes\\\"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"i_\"), \" -\", \">\", \" \\\"inner line\\\"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"is\"), \" -\", \">\", \" \\\"inner sentence\\\"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"ip\"), \" -\", \">\", \" \\\"inner paragraph\\\"\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"a\"), \" -\", \">\", \" AROUND: like INNER, but including the tag, quotes, etc\", mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"at\"), \" -\", \">\", \" \\\"around tag\\\" (works within the content of an HTML tag including the tags)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"a\\\"\"), \" -\", \">\", \" \\\"around quotes\\\" (works within the content of including the quotes)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"as\"), \" -\", \">\", \" \\\"around sentence\\\"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"ap\"), \" -\", \">\", \" \\\"around paragraph\\\"\")))), mdx(\"p\", null, \"Examples:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Delete everything between a tag\", \"*\", \", type: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"dit\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Delete everything until it finds a dot: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"dt.\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Delete everything until it finds a dot, including the dot: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"df.\"))), mdx(\"p\", null, \"*\", \" \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"It will apply inside a tag or to the nearest tag\")), mdx(\"h4\", {\n    \"id\": \"common-commands\"\n  }, \"Common commands\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"repeat last operation -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \".\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"copy selection -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"y\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"copy character-\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"yl\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"copy word -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"yiw\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"copy line -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"yy\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"copy paragraph -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"yap\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Select paragraph -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"vip\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut selection -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"d\"), \" \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut word from cursor position -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"dw\"), \" \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut whole word -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"diw\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut word and insert mode -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"cw\"), \" \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut paragraph -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"dap\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"paste -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"p\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"undo -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"u\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"redo -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"r\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete character (Del) -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"x\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete character (Backspace) -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"X\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"replace character -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"r\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete character and insert mode -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"s\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Switch to 'Insert' mode -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"i\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Exit 'Insert' mode -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"ESC\"), \" or \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"c\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Increase/Decrease the first number in a line: \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"a\"), \"/\", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"x\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Format block of text -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"V\"), \" + \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"text selection\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"=\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Repeat command mode last command -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"@:\"))), mdx(\"h4\", {\n    \"id\": \"lines\"\n  }, \"Lines\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"create new line below -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"o\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"create a new line above -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"O\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"copy line -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"yy\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"copy all lines under the cursor -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":.,$y\"), \" or \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":+,$y\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"paste -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"p\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"paste line above -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"P\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut line -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"dd\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut everything from the beginning of the line up to the cursor -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"d0\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut everthing from the cursor to the end of the line -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"D\"), \" or \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"d$\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut the rest of the line and insert mode -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"C\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut the whole line and insert mode -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"S\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut from the current line to the end of the file -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":.,$d\"), \" or \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":+,$d\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut from the current line to the beginning of the file -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":.,1d\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut from line 3 to line 10 -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":3,10d\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut from line 3 to the end of the file -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":3,$d\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut the last line-\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":$d\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"delete/cut all lines-\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":%d\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"move current line after line 6 -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":m 6\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"move line two lines above -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":m-2\"), \" (note that \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":m-1\"), \" won't work)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"move line one line below -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":m+1\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"move line to beginning/end of document -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":m 0\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":m $\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"move block of lines -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":5,7m 12\"), \" (move lines 5,6,7 after line 12)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"move block of lines -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":5,7m+4\"), \" (move lines 5,6,7 four lines below)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"indent current line -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"<<\"), \" or \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \">>\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"indent current line plus 2 lines below -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"3<<\"), \" or \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"3>>\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"select a range of lines and indent -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":4,17<\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Delete all lines containing the string \\u201Cfoo\\u201D. It also removes line where \\u201Cfoo\\u201D is embedded in larger words, such as \\u201Cfootball\\u201D -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":g/foo/d\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Delete all lines not containing the string \\u201Cfoo\\u201D -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":g!/foo/d\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Remove all comments from a Bash script. The pattern ^# means each line beginning with # -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":g/^#/d\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Remove all blank lines. The pattern ^$ matches all empty lines -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":g/^$/d\"))), mdx(\"h4\", {\n    \"id\": \"special-operations\"\n  }, \"Special operations\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Comment a block of lines:\"), mdx(\"ol\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Select the block of lines with \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"V\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Enter command mode and type: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"norm I#\")))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Uncomment a block of lines:  \"), mdx(\"ol\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Select the block of lines with \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"V\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Enter command mode and type: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"norm x\"), \" \"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Replace \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"word1\"), \" for \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"word2\"), \" X number of times:\"), mdx(\"ol\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Search for \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"word1\"), \": \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"/word1\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"enter\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Type \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"cgn\"), \" + \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"word2\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"ESC\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Iterate through the results:\")), mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Press \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \".\"), \" to replace next \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"word1\"), \" instance for \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"word2\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Press \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"n\"), \" to skip next \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"word1\"), \" instance\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Move all lines that start with specific character/s to the end of the document. In this example, the specific characters is \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"static\"), \":\"))), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \":g/^static/m$`\\n\")), mdx(\"h2\", {\n    \"id\": \"file-management\"\n  }, \"File Management\"), mdx(\"h3\", {\n    \"id\": \"explorer\"\n  }, \"Explorer\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Open file explorer -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":Explore\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"List files in current directory -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":e\"), \" then press \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Space\"), \" and \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \"+\", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"d\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Open file in new window horizontally -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"split filename\"), \" or \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"sp: filename\"), \" \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Open file in new window vertically -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"vsplit filename\"), \" or \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"vsp: filename\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Cycle through windows -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"w\"), \" twice\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Swap windows positions -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"w\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"r\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Move windows directionally -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"w\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"H/J/K/L\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Close current window -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl + q\"), \" or \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":hide\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Close all windows except current one: -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":only\"))), mdx(\"h3\", {\n    \"id\": \"tabs\"\n  }, \"Tabs\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"New tab -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":tabnew\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Go to next tab -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"gt\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Go to previous tab -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"gT\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Go to tab number -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"#gt\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Go to first tab -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":tabr\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Go to last tab -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":tabl\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Move current tab to the last position -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":tabm\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Move current tab to the # position -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":tabm #\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Close tab -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":close\"))), mdx(\"h3\", {\n    \"id\": \"buffers\"\n  }, \"Buffers\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Open a new 100 characters width window buffer explorer -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":100vs .\"), \" \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Toggle between open windows: -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"w\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"w\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Open new file in buffer -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":e <filename path\", \">\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Open a new file and split screen horizontally -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":sp\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Open a new file and split screen vertically -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":vsp\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"List active buffers -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":ls\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Change to specific buffer -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":b <buffer-number\", \">\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Move to next/previous buffer -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":bn\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":bp\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Delete current buffer -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \":bd\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Jump back/forward to last jump location -\", \">\", \" \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"o\"), \" / \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ctrl\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"i\"))), mdx(\"h2\", {\n    \"id\": \"customize-vim\"\n  }, \"Customize Vim\"), mdx(\"p\", null, \"You can customize Vim by editing \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"~/.vimrc\")), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"let mapleader = \\\",\\\" \\nset tabstop=2\\nset autoindent\\nset number \\\" enable line numbering\\nsyntax enable \\\" syntax highlighting enabled\\n\\n\\n\\\" KEY MAPPINGS\\n\\nnmap <leader>ee :vsplit<cr> :Explore<cr> \\\" pressing ,ee will open Explore in a new vertical window\\nnmap <leader>zz :split $MYVIMRC<cr> \\\" Pressing ,zz will open ~/.vimrc in a new window\\nnmap <leader>zx :source $MYVIMRC<cr> \\\" Pressing ,zx will source the changes made in ~/.vimrc\\nvmap <buffer> ;bo \\\"zdi<strong><c-r>z</strong><esc>\\n\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Note\"), \": For the changes to take affect, run this command inside Vim:\"), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \":so $MYVIMRC\")), mdx(Message, {\n    variant: \"info\",\n    mdxType: \"Message\"\n  }, \"\\uD83C\\uDF81 \", mdx(\"b\", null, \"Gift\"), \" \", mdx(\"br\", null), \"You can download a useful \", mdx(\"i\", null, \"~/.vimrc\"), \" file by running the command \", mdx(\"em\", null, \"wget https://raw.githubusercontent.com/cheomanigua/config/master/vimrc\")), mdx(\"h3\", {\n    \"id\": \"key-mapping\"\n  }, \"Key mapping\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"List keymaps: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \":map\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Remove keymap: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \":unmap <keymap>\"))), mdx(\"h3\", {\n    \"id\": \"snippet-insertion\"\n  }, \"Snippet insertion\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Create in \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"~/.vim/templates/\"), \" directory the text file containing the snippet\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Add this lines in \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"~/.vimrc\"), \":\")), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"function Rsf() \\n :read ~/.vim/templates/<textfile>\\nendfunction\\n\")), mdx(\"ol\", {\n    \"start\": 3\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Restart vim: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \":so $MYVIMRC\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"When you need to insert the snippet, type: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \":call Rsf()\"))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Note\"), \": \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Rsf()\"), \" is used as an example. You can name your function whatever you want.\"), mdx(Message, {\n    variant: \"important\",\n    mdxType: \"Message\"\n  }, \"\\uD83D\\uDCA1 \", mdx(\"b\", null, \"Tip\"), \" \", mdx(\"br\", null), \"You can keymap \", mdx(\"strong\", null, \":call Rsf()\"), \" so you won't need to type in the full command.\"), mdx(\"h2\", {\n    \"id\": \"plugins\"\n  }, \"Plugins\"), mdx(\"p\", null, \"It is recommended to install a plugin manager in order to install, load and uninstall plugins. In this case we are using \", mdx(\"a\", {\n    href: \"https://github.com/junegunn/vim-plug\",\n    target: \"_blank\"\n  }, \"vim-plug\")), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Download \", mdx(\"a\", {\n    href: \"https://github.com/junegunn/vim-plug\",\n    target: \"_blank\"\n  }, \"vim-plug\"), \":\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim\"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Add \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"vim-plug\"), \" in your \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"~/.vimrc\"), \" file:\"))), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"\\\" vim-plug\\ncall plug#begin('~/.vim/plugged')\\n\\n\\\" plugin section\\n\\n\\\" end vim-plug\\ncall plug#end()\\n\")), mdx(\"ol\", {\n    \"start\": 3\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Add, for instance, \", mdx(\"a\", {\n    href: \"https://github.com/MaxMEllon/vim-jsx-pretty\",\n    target: \"_blank\"\n  }, \"vim-jsx-pretty\"), \", \", mdx(\"a\", {\n    href: \"https://github.com/mattn/emmet-vim\",\n    target: \"_blank\"\n  }, \"emmet-vim\"), \" and \", mdx(\"a\", {\n    href: \"https://github.com/neoclide/coc.nvim\",\n    target: \"_blank\"\n  }, \"Intellisense\"), \" plugins in your \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"~/.vimrc\"), \" file:\")), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"\\\" vim-plug\\ncall plug#begin('~/.vim/plugged')\\n\\n\\\" plugin section\\nPlug 'maxmellon/vim-jsx-pretty'\\nPlug 'mattn/emmet-vim'\\nPlug 'neoclide/coc.nvim', {'branch': 'release'}\\n\\n\\\" end vim-plug\\ncall plug#end()\\n\")), mdx(\"ol\", {\n    \"start\": 4\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Launch Vim and run: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \":PlugInstall\"))), mdx(\"p\", null, \"That's it. This is how you install plugins in Vim with \", mdx(\"a\", {\n    href: \"https://github.com/junegunn/vim-plug\",\n    target: \"_blank\"\n  }, \"vim-plug\"), \".\"), mdx(\"h1\", {\n    \"id\": \"vimrc\"\n  }, \".VIMRC\"), mdx(\"p\", null, \"This is a useful \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \".vimrc\"), \" file:\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-bash\"\n  }), \"\\\" map leader key to comma key\\nlet mapleader = \\\",\\\"\\n\\n\\\" vim-plug\\ncall plug#begin('~/.vim/plugged')\\n\\n\\\" plugin section\\nPlug 'maxmellon/vim-jsx-pretty'\\nPlug 'mattn/emmet-vim'\\nPlug 'neoclide/coc.nvim', {'branch': 'release'}\\n\\n\\\" end vim-plug\\ncall plug#end()\\n\\n\\\" Set tab width and indentations with spaces (no hard tabs) \\nset expandtab\\nset shiftwidth=2\\nset softtabstop=2\\n\\n\\\" Auto-indenting\\nset autoindent\\nset smartindent\\nfiletype indent on\\nfiletype plugin indent on\\n\\n\\\" Line numbers\\nset number \\\" enable absolute line number\\nset relativenumber \\\"enable relative line number\\nsyntax enable \\\" syntax highlighting enabled\\n\\n\\\"set hidden\\n\\n\\\"--- KEY MAPPINGS ---\\n\\n\\\" pressing <leader>ee will open Explore in a new vertical window\\nnmap <leader>ee :vsplit<cr> :Explore<cr> \\n\\n\\\" Pressing <leader>zz will open ~/.vimrc in a new window\\nnmap <leader>zz :split $MYVIMRC<cr> \\n\\n\\\" Pressing <leader>zx will source the changes made in ~/.vimrc\\nnmap <leader>zx :source $MYVIMRC<cr> \\n\\n\\\"-- EMMET CONFIG --\\n\\\"redefine trigger key (press emmet_leader key (,) twice to trigger\\nlet g:user_emmet_leader_key=','\\n\")));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"items":[{"items":[{"url":"#savequit","title":"Save/Quit"},{"url":"#modes","title":"Modes"},{"url":"#moving-around","title":"Moving around"},{"url":"#line-numbers","title":"Line numbers"},{"url":"#editing","title":"Editing","items":[{"url":"#operators","title":"Operators"},{"url":"#motion","title":"Motion"},{"url":"#common-commands","title":"Common commands"},{"url":"#lines","title":"Lines"},{"url":"#special-operations","title":"Special operations"}]}]},{"url":"#file-management","title":"File Management","items":[{"url":"#explorer","title":"Explorer"},{"url":"#tabs","title":"Tabs"},{"url":"#buffers","title":"Buffers"}]},{"url":"#customize-vim","title":"Customize Vim","items":[{"url":"#key-mapping","title":"Key mapping"},{"url":"#snippet-insertion","title":"Snippet insertion"}]},{"url":"#plugins","title":"Plugins"}]},{"url":"#vimrc","title":".VIMRC"}]},"frontmatter":{"title":"Vim","description":"Vim editor concepts and cheat sheet"}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"fa9d3c98-019c-5551-95cc-2db4458248cd"}}}