{"componentChunkName":"component---node-modules-narative-gatsby-theme-novela-src-templates-author-template-tsx","path":"/authors/bryan-lee/page/2","result":{"pageContext":{"author":{"authorsPage":true,"bio":"Web Developer. Now prefer TypeScript and Rust, mainly working on UED.\n","id":"7d3dbfdc-58e9-5099-b0f3-ca98ddc04463","name":"Bryan Lee","featured":true,"social":[{"url":"https://github.com/liby"},{"url":"https://twitter.com/meetliby"}],"slug":"/authors/bryan-lee","avatar":{"small":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQL/xAAWAQEBAQAAAAAAAAAAAAAAAAACAwH/2gAMAwEAAhADEAAAAe5VadK7YMR0wPUBz//EABwQAAMBAAIDAAAAAAAAAAAAAAECAwAEEhEhMv/aAAgBAQABBQKXVcWnTBnnrwHYIGI40tRj5j9A+v/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABgRAAIDAAAAAAAAAAAAAAAAAAABEBFR/9oACAECAQE/AWi0bH//xAAfEAACAgIBBQAAAAAAAAAAAAAAAREhAhIQMkFRcYH/2gAIAQEABj8Czy26nRqx4ryTM3MCruXL+jPfH//EABsQAAMBAQEBAQAAAAAAAAAAAAABESExUUGB/9oACAEBAAE/IciyprpKg3+DnlXilF99PwgGhJan1sVAzTb6Y4f/2gAMAwEAAgADAAAAEF/4/wD/xAAXEQEBAQEAAAAAAAAAAAAAAAABABEx/9oACAEDAQE/EDMnscJv/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQESH/2gAIAQIBAT8Q6LsMo0//xAAgEAEBAAIBAwUAAAAAAAAAAAABEQAhMRBRYYGhweHx/9oACAEBAAE/EApBPFBUr5uXjxBXbN86azXHxMCnKLRDzJzvNcUtyQHeIVKqFX0wZktfb8x4pRs7376J/9k=","aspectRatio":1,"src":"/static/112d7159f7c020bdec3bdf12fb558466/fa1ea/bryan-lee.jpg","srcSet":"/static/112d7159f7c020bdec3bdf12fb558466/afb2b/bryan-lee.jpg 13w,\n/static/112d7159f7c020bdec3bdf12fb558466/7c20e/bryan-lee.jpg 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/fa1ea/bryan-lee.jpg 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/03612/bryan-lee.jpg 75w,\n/static/112d7159f7c020bdec3bdf12fb558466/61cdf/bryan-lee.jpg 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/f86e8/bryan-lee.jpg 460w","srcWebp":"/static/112d7159f7c020bdec3bdf12fb558466/e7b2c/bryan-lee.webp","srcSetWebp":"/static/112d7159f7c020bdec3bdf12fb558466/58718/bryan-lee.webp 13w,\n/static/112d7159f7c020bdec3bdf12fb558466/74aad/bryan-lee.webp 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/e7b2c/bryan-lee.webp 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/ed320/bryan-lee.webp 75w,\n/static/112d7159f7c020bdec3bdf12fb558466/66016/bryan-lee.webp 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/d908f/bryan-lee.webp 460w","sizes":"(max-width: 50px) 100vw, 50px"},"medium":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQL/xAAWAQEBAQAAAAAAAAAAAAAAAAACAwH/2gAMAwEAAhADEAAAAe5VadK7YMR0wPUBz//EABwQAAMBAAIDAAAAAAAAAAAAAAECAwAEEhEhMv/aAAgBAQABBQKXVcWnTBnnrwHYIGI40tRj5j9A+v/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABgRAAIDAAAAAAAAAAAAAAAAAAABEBFR/9oACAECAQE/AWi0bH//xAAfEAACAgIBBQAAAAAAAAAAAAAAAREhAhIQMkFRcYH/2gAIAQEABj8Czy26nRqx4ryTM3MCruXL+jPfH//EABsQAAMBAQEBAQAAAAAAAAAAAAABESExUUGB/9oACAEBAAE/IciyprpKg3+DnlXilF99PwgGhJan1sVAzTb6Y4f/2gAMAwEAAgADAAAAEF/4/wD/xAAXEQEBAQEAAAAAAAAAAAAAAAABABEx/9oACAEDAQE/EDMnscJv/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQESH/2gAIAQIBAT8Q6LsMo0//xAAgEAEBAAIBAwUAAAAAAAAAAAABEQAhMRBRYYGhweHx/9oACAEBAAE/EApBPFBUr5uXjxBXbN86azXHxMCnKLRDzJzvNcUtyQHeIVKqFX0wZktfb8x4pRs7376J/9k=","aspectRatio":1,"src":"/static/112d7159f7c020bdec3bdf12fb558466/61cdf/bryan-lee.jpg","srcSet":"/static/112d7159f7c020bdec3bdf12fb558466/7c20e/bryan-lee.jpg 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/fa1ea/bryan-lee.jpg 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/61cdf/bryan-lee.jpg 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/59538/bryan-lee.jpg 150w,\n/static/112d7159f7c020bdec3bdf12fb558466/fd013/bryan-lee.jpg 200w,\n/static/112d7159f7c020bdec3bdf12fb558466/f86e8/bryan-lee.jpg 460w","srcWebp":"/static/112d7159f7c020bdec3bdf12fb558466/66016/bryan-lee.webp","srcSetWebp":"/static/112d7159f7c020bdec3bdf12fb558466/74aad/bryan-lee.webp 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/e7b2c/bryan-lee.webp 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/66016/bryan-lee.webp 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/d9b14/bryan-lee.webp 150w,\n/static/112d7159f7c020bdec3bdf12fb558466/6b183/bryan-lee.webp 200w,\n/static/112d7159f7c020bdec3bdf12fb558466/d908f/bryan-lee.webp 460w","sizes":"(max-width: 100px) 100vw, 100px"},"large":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQL/xAAWAQEBAQAAAAAAAAAAAAAAAAACAwH/2gAMAwEAAhADEAAAAe5VadK7YMR0wPUBz//EABwQAAMBAAIDAAAAAAAAAAAAAAECAwAEEhEhMv/aAAgBAQABBQKXVcWnTBnnrwHYIGI40tRj5j9A+v/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABgRAAIDAAAAAAAAAAAAAAAAAAABEBFR/9oACAECAQE/AWi0bH//xAAfEAACAgIBBQAAAAAAAAAAAAAAAREhAhIQMkFRcYH/2gAIAQEABj8Czy26nRqx4ryTM3MCruXL+jPfH//EABsQAAMBAQEBAQAAAAAAAAAAAAABESExUUGB/9oACAEBAAE/IciyprpKg3+DnlXilF99PwgGhJan1sVAzTb6Y4f/2gAMAwEAAgADAAAAEF/4/wD/xAAXEQEBAQEAAAAAAAAAAAAAAAABABEx/9oACAEDAQE/EDMnscJv/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQESH/2gAIAQIBAT8Q6LsMo0//xAAgEAEBAAIBAwUAAAAAAAAAAAABEQAhMRBRYYGhweHx/9oACAEBAAE/EApBPFBUr5uXjxBXbN86azXHxMCnKLRDzJzvNcUtyQHeIVKqFX0wZktfb8x4pRs7376J/9k=","aspectRatio":1,"src":"/static/112d7159f7c020bdec3bdf12fb558466/ec46e/bryan-lee.jpg","srcSet":"/static/112d7159f7c020bdec3bdf12fb558466/a2637/bryan-lee.jpg 82w,\n/static/112d7159f7c020bdec3bdf12fb558466/15203/bryan-lee.jpg 164w,\n/static/112d7159f7c020bdec3bdf12fb558466/ec46e/bryan-lee.jpg 328w,\n/static/112d7159f7c020bdec3bdf12fb558466/f86e8/bryan-lee.jpg 460w","srcWebp":"/static/112d7159f7c020bdec3bdf12fb558466/5a48e/bryan-lee.webp","srcSetWebp":"/static/112d7159f7c020bdec3bdf12fb558466/2d087/bryan-lee.webp 82w,\n/static/112d7159f7c020bdec3bdf12fb558466/29d87/bryan-lee.webp 164w,\n/static/112d7159f7c020bdec3bdf12fb558466/5a48e/bryan-lee.webp 328w,\n/static/112d7159f7c020bdec3bdf12fb558466/d908f/bryan-lee.webp 460w","sizes":"(max-width: 328px) 100vw, 328px"}}},"originalPath":"/authors/authors-bryan-lee","skip":6,"limit":6,"group":[{"id":"38076720-4edd-5f35-9fcd-0d81c2c69f1a","slug":"/2020-08-18-a-vivid-metaphor-about-async-and-await","secret":false,"title":"一个关于 Async/await 的生动比喻","author":"Bryan Lee","date":"August 18th, 2020","dateForSEO":"2020-08-18T00:00:00.000Z","timeToRead":1,"excerpt":"这样的结果你只能喝到白开水，但是加上 await 就不同了","canonical_url":null,"subscription":true,"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/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"一个关于 Async/await 的生动比喻\",\n  \"slug\": \"2020-08-18-a-vivid-metaphor-about-async-and-await\",\n  \"author\": \"Bryan Lee\",\n  \"date\": \"2020-08-18T00:00:00.000Z\",\n  \"excerpt\": \"这样的结果你只能喝到白开水，但是加上 await 就不同了\",\n  \"hero\": \"./images/hero.jpeg\"\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(\"h2\", {\n    \"id\": \"用煮面和吃面来做个类比\"\n  }, \"\\u7528\\u716E\\u9762\\u548C\\u5403\\u9762\\u6765\\u505A\\u4E2A\\u7C7B\\u6BD4\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-js\"\n  }), \"function \\u716E\\u9762() {\\n  \\u6C34 = \\u52A0\\u6C34()\\n  if (\\u9762 === false) {\\n    // \\u5F02\\u6B65\\u64CD\\u4F5C\\n    \\u9762 = \\u53BB\\u8D85\\u5E02\\u4E70\\u9762();\\n  }\\n\\n  \\u9633\\u6625\\u9762 = \\u5F00\\u706B(\\u6C34\\uFF0C\\u9762);\\n  \\u5403\\u9762(\\u9633\\u6625\\u9762);\\n}\\n\")), mdx(\"h2\", {\n    \"id\": \"这样的结果你只能喝到白开水，但是加上-await-就不同了\"\n  }, \"\\u8FD9\\u6837\\u7684\\u7ED3\\u679C\\u4F60\\u53EA\\u80FD\\u559D\\u5230\\u767D\\u5F00\\u6C34\\uFF0C\\u4F46\\u662F\\u52A0\\u4E0A await \\u5C31\\u4E0D\\u540C\\u4E86\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-js\"\n  }), \"async function \\u716E\\u9762() {\\n  \\u6C34=\\u52A0\\u6C34();\\n  if (\\u9762 === false ) {\\n    // \\u5F02\\u6B65\\u64CD\\u4F5C\\n    \\u9762 = await \\u53BB\\u8D85\\u5E02\\u4E70\\u9762();\\n  }\\n  \\u9633\\u6625\\u9762 = \\u5F00\\u706B(\\u6C34\\uFF0C\\u9762);\\n  \\u5403\\u9762(\\u9633\\u6625\\u9762);\\n}\\n\")), mdx(\"p\", null, \"\\u7528\\u4E86 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"await\"), \" \\u5C31\\u53EF\\u4EE5\", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u7B49\\u4E70\\u5230\\u9762\"), \"\\u4EE5\\u540E\\u518D\\u6267\\u884C\\u540E\\u7EED\\u64CD\\u4F5C\\u3002\"));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQCAwX/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAgP/2gAMAwEAAhADEAAAAcmuTGspjof/xAAbEAABBQEBAAAAAAAAAAAAAAACAAEDERITIf/aAAgBAQABBQLiVYJUtuoh6McPv//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABcRAQADAAAAAAAAAAAAAAAAAAABESH/2gAIAQIBAT8B2Fv/xAAZEAADAAMAAAAAAAAAAAAAAAAAATEQQZH/2gAIAQEABj8C10mW24U//8QAGhAAAgMBAQAAAAAAAAAAAAAAAAERITFRQf/aAAgBAQABPyHVANGsT4RUMdceOiFV7P/aAAwDAQACAAMAAAAQHN//xAAVEQEBAAAAAAAAAAAAAAAAAAAAMf/aAAgBAwEBPxCo/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQARITH/2gAIAQIBAT8QXpUE7U//xAAaEAEBAQEAAwAAAAAAAAAAAAABEQAxQZGx/9oACAEBAAE/EEVYBYC+tNipeZNisnB2drigIqD68ZKnBYlm/9k=","aspectRatio":1.5031847133757963,"src":"/static/2f1d68617df700b9b13619386f232b1b/58fe7/hero.jpg","srcSet":"/static/2f1d68617df700b9b13619386f232b1b/e0f30/hero.jpg 236w,\n/static/2f1d68617df700b9b13619386f232b1b/86afd/hero.jpg 472w,\n/static/2f1d68617df700b9b13619386f232b1b/58fe7/hero.jpg 944w,\n/static/2f1d68617df700b9b13619386f232b1b/02748/hero.jpg 1416w,\n/static/2f1d68617df700b9b13619386f232b1b/5c241/hero.jpg 1888w,\n/static/2f1d68617df700b9b13619386f232b1b/e3277/hero.jpg 2250w","srcWebp":"/static/2f1d68617df700b9b13619386f232b1b/99fbb/hero.webp","srcSetWebp":"/static/2f1d68617df700b9b13619386f232b1b/77392/hero.webp 236w,\n/static/2f1d68617df700b9b13619386f232b1b/1f177/hero.webp 472w,\n/static/2f1d68617df700b9b13619386f232b1b/99fbb/hero.webp 944w,\n/static/2f1d68617df700b9b13619386f232b1b/4a492/hero.webp 1416w,\n/static/2f1d68617df700b9b13619386f232b1b/b0b8f/hero.webp 1888w,\n/static/2f1d68617df700b9b13619386f232b1b/d168a/hero.webp 2250w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQCAwX/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAgP/2gAMAwEAAhADEAAAAcmuTGspjof/xAAbEAABBQEBAAAAAAAAAAAAAAACAAEDERITIf/aAAgBAQABBQLiVYJUtuoh6McPv//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABcRAQADAAAAAAAAAAAAAAAAAAABESH/2gAIAQIBAT8B2Fv/xAAZEAADAAMAAAAAAAAAAAAAAAAAATEQQZH/2gAIAQEABj8C10mW24U//8QAGhAAAgMBAQAAAAAAAAAAAAAAAAERITFRQf/aAAgBAQABPyHVANGsT4RUMdceOiFV7P/aAAwDAQACAAMAAAAQHN//xAAVEQEBAAAAAAAAAAAAAAAAAAAAMf/aAAgBAwEBPxCo/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQARITH/2gAIAQIBAT8QXpUE7U//xAAaEAEBAQEAAwAAAAAAAAAAAAABEQAxQZGx/9oACAEBAAE/EEVYBYC+tNipeZNisnB2drigIqD68ZKnBYlm/9k=","aspectRatio":1.4954128440366972,"src":"/static/2f1d68617df700b9b13619386f232b1b/1dc0b/hero.jpg","srcSet":"/static/2f1d68617df700b9b13619386f232b1b/3a5ce/hero.jpg 163w,\n/static/2f1d68617df700b9b13619386f232b1b/05730/hero.jpg 327w,\n/static/2f1d68617df700b9b13619386f232b1b/1dc0b/hero.jpg 653w,\n/static/2f1d68617df700b9b13619386f232b1b/f72c7/hero.jpg 980w,\n/static/2f1d68617df700b9b13619386f232b1b/6e4a3/hero.jpg 1306w,\n/static/2f1d68617df700b9b13619386f232b1b/e3277/hero.jpg 2250w","srcWebp":"/static/2f1d68617df700b9b13619386f232b1b/0acdf/hero.webp","srcSetWebp":"/static/2f1d68617df700b9b13619386f232b1b/ac59e/hero.webp 163w,\n/static/2f1d68617df700b9b13619386f232b1b/7660b/hero.webp 327w,\n/static/2f1d68617df700b9b13619386f232b1b/0acdf/hero.webp 653w,\n/static/2f1d68617df700b9b13619386f232b1b/75470/hero.webp 980w,\n/static/2f1d68617df700b9b13619386f232b1b/68d47/hero.webp 1306w,\n/static/2f1d68617df700b9b13619386f232b1b/d168a/hero.webp 2250w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQCAwX/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAgP/2gAMAwEAAhADEAAAAcmuTGspjof/xAAbEAABBQEBAAAAAAAAAAAAAAACAAEDERITIf/aAAgBAQABBQLiVYJUtuoh6McPv//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABcRAQADAAAAAAAAAAAAAAAAAAABESH/2gAIAQIBAT8B2Fv/xAAZEAADAAMAAAAAAAAAAAAAAAAAATEQQZH/2gAIAQEABj8C10mW24U//8QAGhAAAgMBAQAAAAAAAAAAAAAAAAERITFRQf/aAAgBAQABPyHVANGsT4RUMdceOiFV7P/aAAwDAQACAAMAAAAQHN//xAAVEQEBAAAAAAAAAAAAAAAAAAAAMf/aAAgBAwEBPxCo/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQARITH/2gAIAQIBAT8QXpUE7U//xAAaEAEBAQEAAwAAAAAAAAAAAAABEQAxQZGx/9oACAEBAAE/EEVYBYC+tNipeZNisnB2drigIqD68ZKnBYlm/9k=","aspectRatio":1.5,"src":"/static/2f1d68617df700b9b13619386f232b1b/eaa58/hero.jpg","srcSet":"/static/2f1d68617df700b9b13619386f232b1b/5a3ee/hero.jpg 114w,\n/static/2f1d68617df700b9b13619386f232b1b/41f8f/hero.jpg 229w,\n/static/2f1d68617df700b9b13619386f232b1b/eaa58/hero.jpg 457w,\n/static/2f1d68617df700b9b13619386f232b1b/c309b/hero.jpg 686w,\n/static/2f1d68617df700b9b13619386f232b1b/e3008/hero.jpg 914w,\n/static/2f1d68617df700b9b13619386f232b1b/e3277/hero.jpg 2250w","srcWebp":"/static/2f1d68617df700b9b13619386f232b1b/15384/hero.webp","srcSetWebp":"/static/2f1d68617df700b9b13619386f232b1b/31fce/hero.webp 114w,\n/static/2f1d68617df700b9b13619386f232b1b/e3e25/hero.webp 229w,\n/static/2f1d68617df700b9b13619386f232b1b/15384/hero.webp 457w,\n/static/2f1d68617df700b9b13619386f232b1b/0258d/hero.webp 686w,\n/static/2f1d68617df700b9b13619386f232b1b/64ea2/hero.webp 914w,\n/static/2f1d68617df700b9b13619386f232b1b/d168a/hero.webp 2250w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/2f1d68617df700b9b13619386f232b1b/0ff54/hero.jpg"}}},{"id":"8dd89d94-725a-5430-a10a-3337989c35fa","slug":"/2020-06-17-replace-git-checkout-with-git-switch","secret":false,"title":"使用 `git switch` 替代 `git checkout`","author":"Bryan Lee","date":"June 17th, 2020","dateForSEO":"2020-06-17T00:00:00.000Z","timeToRead":1,"excerpt":"在这之前，`git checkout` 承担了两个方向完全不同的功能，一方面被用来切换分支，另一方面又用它恢复文件，对于新手来说，实在令人疑惑，产生了心智负担。","canonical_url":null,"subscription":true,"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/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"使用 `git switch` 替代 `git checkout`\",\n  \"slug\": \"2020-06-17-replace-git-checkout-with-git-switch\",\n  \"author\": \"Bryan Lee\",\n  \"date\": \"2020-06-17T00:00:00.000Z\",\n  \"hero\": \"./images/hero.jpeg\",\n  \"excerpt\": \"在这之前，`git checkout` 承担了两个方向完全不同的功能，一方面被用来切换分支，另一方面又用它恢复文件，对于新手来说，实在令人疑惑，产生了心智负担。\",\n  \"tags\": [\"Git\"]\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(\"h2\", {\n    \"id\": \"从前\"\n  }, \"\\u4ECE\\u524D\"), mdx(\"p\", null, \"\\u521A\\u63A5\\u89E6 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"git checkout\"), \" \\u547D\\u4EE4\\u7684\\u65F6\\u5019\\uFF0C\\u7ECF\\u5E38\\u7528\\u5B83\\u6765\\u5207\\u6362\\u4EE3\\u7801\\u5206\\u652F\\uFF0C\\u5F53\\u7136\\u4E5F\\u53EF\\u4EE5\\u7528\\u6765\\u5207\\u6362\\u5230\\u6307\\u5B9A\\u7684 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"commit\"), \"\\u3002\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-git\"\n  }), \"// \\u5207\\u6362\\u5230 `develop` \\u5206\\u652F\\u3002\\ngit checkout develop\\n\\n// \\u521B\\u5EFA\\u4E00\\u4E2A\\u65B0\\u5206\\u652F\\uFF0C\\u5E76\\u5207\\u6362\\u5230\\u8FD9\\u4E2A\\u5206\\u652F\\ngit checkout -b <\\u5206\\u652F\\u540D>\\n\\n// \\u5207\\u6362\\u5230\\u6307\\u5B9A commit\\ngit checkout <commit hash>\\n\")), mdx(\"p\", null, \"\\u6B64\\u5916\\uFF0C\\u8FD8\\u6709\\u4E00\\u4E2A\\u529F\\u80FD\\uFF0C\\u4F46\\u6211\\u7528\\u7684\\u6BD4\\u8F83\\u5C11\\uFF0C\\u5B83\\u53EF\\u4EE5\\u4ECE\\u5386\\u53F2\\u63D0\\u4EA4\\u8BB0\\u5F55\\u3001\\u5206\\u652F\\u8BB0\\u5F55\\u6062\\u590D\\u6307\\u5B9A\\u6587\\u4EF6\\u3002\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-git\"\n  }), \"git checkout [<options>] [<branch>] -- <file>\\n\")), mdx(\"p\", null, \"\\u5728\\u547D\\u4EE4\\u6572\\u4E0B \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"git checkout\"), \" \\u7684\\u65F6\\u5019\\uFF0C\\u6211\\u65F6\\u5E38\\u4F1A\\u60F3\\uFF0C\\u660E\\u660E\\u662F\\u5207\\u6362\\u5206\\u652F\\uFF0C\\u4E3A\\u4EC0\\u4E48\\u8981\\u53EB\\u300C\\u7B7E\\u51FA\\u300D\\u5462\\uFF0C\\u5BF9\\u4E8E\\u4E00\\u4E2A\\u5F3A\\u8FEB\\u75C7\\u6765\\u8BF4\\uFF0C\\u8FD9\\u4EF6\\u4E8B\\u6CA1\\u5C11\\u8BA9\\u6211\\u7EA0\\u7ED3\\u3002\"), mdx(\"h2\", {\n    \"id\": \"后来\"\n  }, \"\\u540E\\u6765\"), mdx(\"p\", null, \"Git \\u5728 2.23 \\u7248\\u672C\\u4E2D\\uFF0C\\u5F15\\u5165\\u4E86\\u4E24\\u4E2A\\u65B0\\u547D\\u4EE4 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"git switch\"), \" \\u548C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"git restore\"), \"\\uFF0C\\u7528\\u4EE5\\u66FF\\u4EE3\\u73B0\\u5728\\u7684 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"git checkout\"), \"\\u3002\"), mdx(\"p\", null, \"\\u5728\\u8FD9\\u4E4B\\u524D\\uFF0C\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"git checkout\"), \" \\u627F\\u62C5\\u4E86\\u4E24\\u4E2A\\u65B9\\u5411\\u5B8C\\u5168\\u4E0D\\u540C\\u7684\\u529F\\u80FD\\uFF0C\\u4E00\\u65B9\\u9762\\u88AB\\u7528\\u6765\\u5207\\u6362\\u5206\\u652F\\uFF0C\\u53E6\\u4E00\\u65B9\\u9762\\u53C8\\u7528\\u5B83\\u6062\\u590D\\u6587\\u4EF6\\uFF0C\\u5BF9\\u4E8E\\u65B0\\u624B\\u6765\\u8BF4\\uFF0C\\u5B9E\\u5728\\u4EE4\\u4EBA\\u7591\\u60D1\\uFF0C\\u4EA7\\u751F\\u4E86\\u5FC3\\u667A\\u8D1F\\u62C5\\u3002\"), mdx(\"p\", null, \"\\u76F8\\u6BD4\\u4E4B\\u4E0B\\uFF0C\\u65B0\\u547D\\u4EE4\\u5206\\u5DE5\\u660E\\u786E\\uFF0C\\u804C\\u8D23\\u6E05\\u6670\\u3002\"), mdx(\"h2\", {\n    \"id\": \"小记\"\n  }, \"\\u5C0F\\u8BB0\"), mdx(\"p\", null, \"\\u6700\\u8FD1\\u56E0\\u4E3A\\u75AB\\u60C5\\u53CD\\u5F39\\u7684\\u539F\\u56E0\\uFF0C\\u5F00\\u59CB\\u4E86\\u4E3A\\u671F\\u4E00\\u5468\\u7684 WFH\\uFF0C\\u6574\\u4E2A\\u4EBA\\u72B6\\u6001\\u975E\\u5E38\\u5DEE\\uFF0C\\u6D51\\u6D51\\u5669\\u5669\\uFF1B\\u8FD9\\u7BC7\\u535A\\u5BA2\\u4E5F\\u62D6\\u6B20\\u4E86\\u975E\\u5E38\\u4E45\\uFF0C\\u5B8C\\u5168\\u6CA1\\u6709\\u601D\\u8DEF\\u3002\\n\\u73B0\\u5728\\u81EA\\u5DF1 review \\u4E00\\u904D\\uFF0C\\u7B80\\u76F4\\u6CA1\\u773C\\u770B\\u3002\\u540E\\u7EED\\u4E00\\u5B9A\\u4F1A\\u91CD\\u5199\\u8FD9\\u7BC7\\uFF0C\\u8BDD\\u8D77\\u6765\\u8FD8\\u6709 365 \\u5929\\u5C31\\u662F\\u6211\\u7684\\u751F\\u65E5\\u4E86\\uFF0C\\u56DE\\u9996\\u4E0A\\u4E00\\u6B21\\u8FC7\\u751F\\u65E5\\uFF0C\\u4EFF\\u4F5B\\u5C31\\u5728\\u4ECA\\u5929\\u3002\"));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAwX/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAB2aWYhUYD/8QAGxAAAgMAAwAAAAAAAAAAAAAAAAECAxEEEhT/2gAIAQEAAQUCU4sfIqT9NJiMR0if/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGhAAAgIDAAAAAAAAAAAAAAAAAAExMgIRkf/aAAgBAQAGPwKTTzLohEIquH//xAAZEAACAwEAAAAAAAAAAAAAAAAAARAR8eH/2gAIAQEAAT8hSWrIpwTjswfOMcf/2gAMAwEAAgADAAAAEF//AP/EABURAQEAAAAAAAAAAAAAAAAAAAAh/9oACAEDAQE/EEf/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAdEAEAAgAHAAAAAAAAAAAAAAABADERIUFhcYHw/9oACAEBAAE/EBpk1IxF7HGJMgswukVacmKX5Np//9k=","aspectRatio":1.7744360902255638,"src":"/static/7686d0a862de3db105acb67c110651e6/58fe7/hero.jpg","srcSet":"/static/7686d0a862de3db105acb67c110651e6/e0f30/hero.jpg 236w,\n/static/7686d0a862de3db105acb67c110651e6/86afd/hero.jpg 472w,\n/static/7686d0a862de3db105acb67c110651e6/58fe7/hero.jpg 944w,\n/static/7686d0a862de3db105acb67c110651e6/02748/hero.jpg 1416w,\n/static/7686d0a862de3db105acb67c110651e6/5c241/hero.jpg 1888w,\n/static/7686d0a862de3db105acb67c110651e6/92aac/hero.jpg 2689w","srcWebp":"/static/7686d0a862de3db105acb67c110651e6/99fbb/hero.webp","srcSetWebp":"/static/7686d0a862de3db105acb67c110651e6/77392/hero.webp 236w,\n/static/7686d0a862de3db105acb67c110651e6/1f177/hero.webp 472w,\n/static/7686d0a862de3db105acb67c110651e6/99fbb/hero.webp 944w,\n/static/7686d0a862de3db105acb67c110651e6/4a492/hero.webp 1416w,\n/static/7686d0a862de3db105acb67c110651e6/b0b8f/hero.webp 1888w,\n/static/7686d0a862de3db105acb67c110651e6/1c36c/hero.webp 2689w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAwX/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAB2aWYhUYD/8QAGxAAAgMAAwAAAAAAAAAAAAAAAAECAxEEEhT/2gAIAQEAAQUCU4sfIqT9NJiMR0if/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGhAAAgIDAAAAAAAAAAAAAAAAAAExMgIRkf/aAAgBAQAGPwKTTzLohEIquH//xAAZEAACAwEAAAAAAAAAAAAAAAAAARAR8eH/2gAIAQEAAT8hSWrIpwTjswfOMcf/2gAMAwEAAgADAAAAEF//AP/EABURAQEAAAAAAAAAAAAAAAAAAAAh/9oACAEDAQE/EEf/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAdEAEAAgAHAAAAAAAAAAAAAAABADERIUFhcYHw/9oACAEBAAE/EBpk1IxF7HGJMgswukVacmKX5Np//9k=","aspectRatio":1.7717391304347827,"src":"/static/7686d0a862de3db105acb67c110651e6/1dc0b/hero.jpg","srcSet":"/static/7686d0a862de3db105acb67c110651e6/3a5ce/hero.jpg 163w,\n/static/7686d0a862de3db105acb67c110651e6/05730/hero.jpg 327w,\n/static/7686d0a862de3db105acb67c110651e6/1dc0b/hero.jpg 653w,\n/static/7686d0a862de3db105acb67c110651e6/f72c7/hero.jpg 980w,\n/static/7686d0a862de3db105acb67c110651e6/6e4a3/hero.jpg 1306w,\n/static/7686d0a862de3db105acb67c110651e6/92aac/hero.jpg 2689w","srcWebp":"/static/7686d0a862de3db105acb67c110651e6/0acdf/hero.webp","srcSetWebp":"/static/7686d0a862de3db105acb67c110651e6/ac59e/hero.webp 163w,\n/static/7686d0a862de3db105acb67c110651e6/7660b/hero.webp 327w,\n/static/7686d0a862de3db105acb67c110651e6/0acdf/hero.webp 653w,\n/static/7686d0a862de3db105acb67c110651e6/75470/hero.webp 980w,\n/static/7686d0a862de3db105acb67c110651e6/68d47/hero.webp 1306w,\n/static/7686d0a862de3db105acb67c110651e6/1c36c/hero.webp 2689w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAwX/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAB2aWYhUYD/8QAGxAAAgMAAwAAAAAAAAAAAAAAAAECAxEEEhT/2gAIAQEAAQUCU4sfIqT9NJiMR0if/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGhAAAgIDAAAAAAAAAAAAAAAAAAExMgIRkf/aAAgBAQAGPwKTTzLohEIquH//xAAZEAACAwEAAAAAAAAAAAAAAAAAARAR8eH/2gAIAQEAAT8hSWrIpwTjswfOMcf/2gAMAwEAAgADAAAAEF//AP/EABURAQEAAAAAAAAAAAAAAAAAAAAh/9oACAEDAQE/EEf/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAdEAEAAgAHAAAAAAAAAAAAAAABADERIUFhcYHw/9oACAEBAAE/EBpk1IxF7HGJMgswukVacmKX5Np//9k=","aspectRatio":1.78125,"src":"/static/7686d0a862de3db105acb67c110651e6/eaa58/hero.jpg","srcSet":"/static/7686d0a862de3db105acb67c110651e6/5a3ee/hero.jpg 114w,\n/static/7686d0a862de3db105acb67c110651e6/41f8f/hero.jpg 229w,\n/static/7686d0a862de3db105acb67c110651e6/eaa58/hero.jpg 457w,\n/static/7686d0a862de3db105acb67c110651e6/c309b/hero.jpg 686w,\n/static/7686d0a862de3db105acb67c110651e6/e3008/hero.jpg 914w,\n/static/7686d0a862de3db105acb67c110651e6/92aac/hero.jpg 2689w","srcWebp":"/static/7686d0a862de3db105acb67c110651e6/15384/hero.webp","srcSetWebp":"/static/7686d0a862de3db105acb67c110651e6/31fce/hero.webp 114w,\n/static/7686d0a862de3db105acb67c110651e6/e3e25/hero.webp 229w,\n/static/7686d0a862de3db105acb67c110651e6/15384/hero.webp 457w,\n/static/7686d0a862de3db105acb67c110651e6/0258d/hero.webp 686w,\n/static/7686d0a862de3db105acb67c110651e6/64ea2/hero.webp 914w,\n/static/7686d0a862de3db105acb67c110651e6/1c36c/hero.webp 2689w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/7686d0a862de3db105acb67c110651e6/0ff54/hero.jpg"}}},{"id":"13d975fb-9e2c-5e0e-8ff7-3b3a520ec3d8","slug":"/2020-05-30-switch-homebrew-to-ustc-mirror","secret":false,"title":"将 Homebrew 切换为 USTC Mirror","author":"Bryan Lee","date":"May 30th, 2020","dateForSEO":"2020-05-30T00:00:00.000Z","timeToRead":1,"excerpt":"由于国内网络原因，有可能会使 Homebrew 在更新和安装软件时速度缓慢，所以无责任推荐使用国内镜像源。还顺手写了一个替换脚本，有需要的可以直接到页面的最下方自取。","canonical_url":null,"subscription":true,"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/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"将 Homebrew 切换为 USTC Mirror\",\n  \"slug\": \"2020-05-30-switch-homebrew-to-ustc-mirror\",\n  \"author\": \"Bryan Lee\",\n  \"date\": \"2020-05-30T00:00:00.000Z\",\n  \"hero\": \"./images/hero.jpeg\",\n  \"excerpt\": \"由于国内网络原因，有可能会使 Homebrew 在更新和安装软件时速度缓慢，所以无责任推荐使用国内镜像源。还顺手写了一个替换脚本，有需要的可以直接到页面的最下方自取。\",\n  \"tags\": [\"Homebrew\", \"USTC Mirror\", \"Shell\"]\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(\"h2\", {\n    \"id\": \"前言\"\n  }, \"\\u524D\\u8A00\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"Homebrew \\u662F\\u4E00\\u6B3E\\u81EA\\u7531\\u53CA\\u5F00\\u653E\\u6E90\\u4EE3\\u7801\\u7684\\u8F6F\\u4EF6\\u5305\\u7BA1\\u7406\\u7CFB\\u7EDF\\uFF0C\\u7528\\u4EE5\\u7B80\\u5316 macOS \\u7CFB\\u7EDF\\u4E0A\\u7684\\u8F6F\\u4EF6\\u5B89\\u88C5\\u8FC7\\u7A0B\\uFF0C\\u6700\\u521D\\u7531\\u9A6C\\u514B\\u65AF\\xB7\\u970D\\u5A01\\u5C14\\u5199\\u6210\\u3002\\u56E0\\u5176\\u53EF\\u6269\\u5C55\\u6027\\u5F97\\u5230\\u4E86\\u4E00\\u81F4\\u597D\\u8BC4\\uFF0C\\u800C\\u5728Ruby on Rails \\u793E\\u533A\\u5E7F\\u4E3A\\u4EBA\\u77E5\\u3002 Homebrew \\u4F7F\\u7528 GitHub\\uFF0C\\u901A\\u8FC7\\u7528\\u6237\\u7684\\u8D21\\u732E\\u6269\\u5927\\u5BF9\\u8F6F\\u4EF6\\u5305\\u7684\\u652F\\u6301\\u3002\")), mdx(\"p\", null, \"\\u5982\\u4E0B\\u5217\\u8868\\u683C\\u6240\\u793A\\uFF0CHomebrew \\u4E3B\\u8981\\u7531 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/Homebrew/brew\",\n    \"title\": \"Homebrew repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"brew\"), \"\\u3001\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/Homebrew/homebrew-bottles\",\n    \"title\": \"homebrew-bottles repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"homebrew-bottles\"), \"\\u3001\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/Homebrew/homebrew-cask\",\n    \"title\": \"homebrew-cask repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"homebrew-cask\"), \"\\u3001\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/Homebrew/homebrew-core\",\n    \"title\": \"homebrew-core repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"homebrew-core\"), \" \\u8FD9 4 \\u4E2A\\u90E8\\u5206\\u7EC4\\u6210\\u3002\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": \"center\"\n  }), \"\\u540D\\u79F0\"), mdx(\"th\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": \"center\"\n  }), \"\\u8BF4\\u660E\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": \"center\"\n  }), \"brew\"), mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": \"center\"\n  }), \"Homebrew \\u7684\\u6E90\\u4EE3\\u7801\\u4ED3\\u5E93\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": \"center\"\n  }), \"homebrew-bottles\"), mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": \"center\"\n  }), \"Homebrew \\u9884\\u7F16\\u8BD1\\u4E8C\\u8FDB\\u5236\\u8F6F\\u4EF6\\u5305\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": \"center\"\n  }), \"homebrew-cask\"), mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": \"center\"\n  }), \"\\u63D0\\u4F9B macOS \\u5E94\\u7528\\u548C\\u5927\\u578B\\u4E8C\\u8FDB\\u5236\\u6587\\u4EF6\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": \"center\"\n  }), \"homebrew-core\"), mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": \"center\"\n  }), \"Homebrew \\u6838\\u5FC3\\u8F6F\\u4EF6\\u4ED3\\u5E93\")))), mdx(\"h2\", {\n    \"id\": \"原因\"\n  }, \"\\u539F\\u56E0\"), mdx(\"p\", null, \"\\u7531\\u4E8E\\u56FD\\u5185\\u7F51\\u7EDC\\u539F\\u56E0\\uFF0C\\u6709\\u53EF\\u80FD\\u4F1A\\u4F7F Homebrew \\u5728\\u66F4\\u65B0\\u548C\\u5B89\\u88C5\\u8F6F\\u4EF6\\u65F6\\u901F\\u5EA6\\u7F13\\u6162\\uFF0C\\u6240\\u4EE5\\u65E0\\u8D23\\u4EFB\\u63A8\\u8350\\u4F7F\\u7528\\u56FD\\u5185\\u955C\\u50CF\\u6E90\\u3002\\u8FD8\\u987A\\u624B\\u5199\\u4E86\\u4E00\\u4E2A\\u66FF\\u6362\\u811A\\u672C\\uFF0C\\u6709\\u9700\\u8981\\u7684\\u53EF\\u4EE5\\u76F4\\u63A5\\u5230\\u9875\\u9762\\u7684\\u6700\\u4E0B\\u65B9\\u81EA\\u53D6\\u3002\"), mdx(\"p\", null, \"\\u5B9E\\u73B0\\u539F\\u7406\\u975E\\u5E38\\u7B80\\u5355\\uFF1A\\u5206\\u522B\\u5C06\\u7EC4\\u6210 Homebrew \\u7684 4 \\u4E2A\\u5173\\u952E\\u90E8\\u5206\\u5728\\u7528\\u6237\\u672C\\u5730\\u6240\\u5173\\u8054\\u7684\\u8FDC\\u7A0B\\u4ED3\\u5E93\\u7684 URL \\u66F4\\u6539\\u4E3A\\u56FD\\u5185\\u955C\\u50CF\\u6E90\\u7684 URL \\u5373\\u53EF\\u3002\"), mdx(\"h2\", {\n    \"id\": \"其他\"\n  }, \"\\u5176\\u4ED6\"), mdx(\"p\", null, \"\\u5982\\u679C\\u4F60\\u89C9\\u5F97\\u4F7F\\u7528\\u4E2D\\u6709\\u4EFB\\u4F55\\u95EE\\u9898\\uFF0C\\u6216\\u8005\\u56E0\\u4E3A\\u67D0\\u4E9B\\u539F\\u56E0\\u60F3\\u8981\\u6062\\u590D\\u5230\\u66FF\\u6362\\u4E4B\\u524D\\u7684\\u72B6\\u6001\\uFF0C\\u90A3\\u4E48\\u6211\\u4E5F\\u51C6\\u5907\\u4E86\\u4E00\\u4E2A\\u8FD8\\u539F\\u811A\\u672C\\u3002\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u6CE8\\u610F\"), \"\\uFF1A\\u56E0\\u4E3A\\u4E2A\\u4EBA\\u559C\\u597D\\u539F\\u56E0\\uFF0C\\u811A\\u672C\\u4E2D\\u4F7F\\u7528\\u4E86 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"http://mirrors.ustc.edu.cn/\",\n    \"title\": \"中国科学技术大学镜像源\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"USTC Mirror\"), \" \\u7684\\u5730\\u5740\\uFF0C\\u4F60\\u53EF\\u4EE5\\u81EA\\u884C\\u9009\\u62E9\\u662F\\u5426\\u9700\\u8981\\u5C06\\u5176\\u66FF\\u6362\\u4E3A\\u5176\\u4ED6\\u6E90\\uFF0C\\u8FD9\\u91CC\\u4E0D\\u505A\\u9650\\u5236\\u3002\"), mdx(\"details\", null, mdx(\"summary\", null, mdx(\"strong\", null, \"\\u811A\\u672C\\u6587\\u4EF6\")), mdx(\"p\", null, \"  \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://gist.githubusercontent.com/liby/3d5091bb811b2d3f537bf64b6fc2b19f/raw/replace.sh\",\n    \"title\": \"替换脚本\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"\\u66FF\\u6362\")), mdx(\"hr\", null), mdx(\"p\", null, \"  \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://gist.githubusercontent.com/liby/3d5091bb811b2d3f537bf64b6fc2b19f/raw/restore.sh\",\n    \"title\": \"还原脚本\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"\\u8FD8\\u539F\"))));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAEDBP/EABUBAQEAAAAAAAAAAAAAAAAAAAMB/9oADAMBAAIQAxAAAAHh0qJFEn//xAAaEAABBQEAAAAAAAAAAAAAAAABAAIDERMh/9oACAEBAAEFAmwrJtmEWX90WxX/xAAXEQEAAwAAAAAAAAAAAAAAAAAAARJR/9oACAEDAQE/AVox/8QAFxEBAAMAAAAAAAAAAAAAAAAAAAISUf/aAAgBAgEBPwFWWv/EABYQAAMAAAAAAAAAAAAAAAAAAAAgMf/aAAgBAQAGPwJYf//EABsQAQACAgMAAAAAAAAAAAAAAAEAESFBEDFx/9oACAEBAAE/IUMuPZZxxexdS5qO8M//2gAMAwEAAgADAAAAEOAP/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQAhMf/aAAgBAwEBPxBFc5Ev/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQARITH/2gAIAQIBAT8QKDexZyP/xAAbEAEAAwEAAwAAAAAAAAAAAAABABEhUTFxkf/aAAgBAQABPxAgN1WKhQB57CvPuQ7AszagsQ+rinQ7c//Z","aspectRatio":1.5031847133757963,"src":"/static/ff89022b202a33d33aa7f98ab4b98636/58fe7/hero.jpg","srcSet":"/static/ff89022b202a33d33aa7f98ab4b98636/e0f30/hero.jpg 236w,\n/static/ff89022b202a33d33aa7f98ab4b98636/86afd/hero.jpg 472w,\n/static/ff89022b202a33d33aa7f98ab4b98636/58fe7/hero.jpg 944w,\n/static/ff89022b202a33d33aa7f98ab4b98636/02748/hero.jpg 1416w,\n/static/ff89022b202a33d33aa7f98ab4b98636/5c241/hero.jpg 1888w,\n/static/ff89022b202a33d33aa7f98ab4b98636/abdbb/hero.jpg 2550w","srcWebp":"/static/ff89022b202a33d33aa7f98ab4b98636/99fbb/hero.webp","srcSetWebp":"/static/ff89022b202a33d33aa7f98ab4b98636/77392/hero.webp 236w,\n/static/ff89022b202a33d33aa7f98ab4b98636/1f177/hero.webp 472w,\n/static/ff89022b202a33d33aa7f98ab4b98636/99fbb/hero.webp 944w,\n/static/ff89022b202a33d33aa7f98ab4b98636/4a492/hero.webp 1416w,\n/static/ff89022b202a33d33aa7f98ab4b98636/b0b8f/hero.webp 1888w,\n/static/ff89022b202a33d33aa7f98ab4b98636/0b63c/hero.webp 2550w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAEDBP/EABUBAQEAAAAAAAAAAAAAAAAAAAMB/9oADAMBAAIQAxAAAAHh0qJFEn//xAAaEAABBQEAAAAAAAAAAAAAAAABAAIDERMh/9oACAEBAAEFAmwrJtmEWX90WxX/xAAXEQEAAwAAAAAAAAAAAAAAAAAAARJR/9oACAEDAQE/AVox/8QAFxEBAAMAAAAAAAAAAAAAAAAAAAISUf/aAAgBAgEBPwFWWv/EABYQAAMAAAAAAAAAAAAAAAAAAAAgMf/aAAgBAQAGPwJYf//EABsQAQACAgMAAAAAAAAAAAAAAAEAESFBEDFx/9oACAEBAAE/IUMuPZZxxexdS5qO8M//2gAMAwEAAgADAAAAEOAP/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQAhMf/aAAgBAwEBPxBFc5Ev/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQARITH/2gAIAQIBAT8QKDexZyP/xAAbEAEAAwEAAwAAAAAAAAAAAAABABEhUTFxkf/aAAgBAQABPxAgN1WKhQB57CvPuQ7AszagsQ+rinQ7c//Z","aspectRatio":1.4954128440366972,"src":"/static/ff89022b202a33d33aa7f98ab4b98636/1dc0b/hero.jpg","srcSet":"/static/ff89022b202a33d33aa7f98ab4b98636/3a5ce/hero.jpg 163w,\n/static/ff89022b202a33d33aa7f98ab4b98636/05730/hero.jpg 327w,\n/static/ff89022b202a33d33aa7f98ab4b98636/1dc0b/hero.jpg 653w,\n/static/ff89022b202a33d33aa7f98ab4b98636/f72c7/hero.jpg 980w,\n/static/ff89022b202a33d33aa7f98ab4b98636/6e4a3/hero.jpg 1306w,\n/static/ff89022b202a33d33aa7f98ab4b98636/abdbb/hero.jpg 2550w","srcWebp":"/static/ff89022b202a33d33aa7f98ab4b98636/0acdf/hero.webp","srcSetWebp":"/static/ff89022b202a33d33aa7f98ab4b98636/ac59e/hero.webp 163w,\n/static/ff89022b202a33d33aa7f98ab4b98636/7660b/hero.webp 327w,\n/static/ff89022b202a33d33aa7f98ab4b98636/0acdf/hero.webp 653w,\n/static/ff89022b202a33d33aa7f98ab4b98636/75470/hero.webp 980w,\n/static/ff89022b202a33d33aa7f98ab4b98636/68d47/hero.webp 1306w,\n/static/ff89022b202a33d33aa7f98ab4b98636/0b63c/hero.webp 2550w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAEDBP/EABUBAQEAAAAAAAAAAAAAAAAAAAMB/9oADAMBAAIQAxAAAAHh0qJFEn//xAAaEAABBQEAAAAAAAAAAAAAAAABAAIDERMh/9oACAEBAAEFAmwrJtmEWX90WxX/xAAXEQEAAwAAAAAAAAAAAAAAAAAAARJR/9oACAEDAQE/AVox/8QAFxEBAAMAAAAAAAAAAAAAAAAAAAISUf/aAAgBAgEBPwFWWv/EABYQAAMAAAAAAAAAAAAAAAAAAAAgMf/aAAgBAQAGPwJYf//EABsQAQACAgMAAAAAAAAAAAAAAAEAESFBEDFx/9oACAEBAAE/IUMuPZZxxexdS5qO8M//2gAMAwEAAgADAAAAEOAP/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQAhMf/aAAgBAwEBPxBFc5Ev/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQARITH/2gAIAQIBAT8QKDexZyP/xAAbEAEAAwEAAwAAAAAAAAAAAAABABEhUTFxkf/aAAgBAQABPxAgN1WKhQB57CvPuQ7AszagsQ+rinQ7c//Z","aspectRatio":1.5,"src":"/static/ff89022b202a33d33aa7f98ab4b98636/eaa58/hero.jpg","srcSet":"/static/ff89022b202a33d33aa7f98ab4b98636/5a3ee/hero.jpg 114w,\n/static/ff89022b202a33d33aa7f98ab4b98636/41f8f/hero.jpg 229w,\n/static/ff89022b202a33d33aa7f98ab4b98636/eaa58/hero.jpg 457w,\n/static/ff89022b202a33d33aa7f98ab4b98636/c309b/hero.jpg 686w,\n/static/ff89022b202a33d33aa7f98ab4b98636/e3008/hero.jpg 914w,\n/static/ff89022b202a33d33aa7f98ab4b98636/abdbb/hero.jpg 2550w","srcWebp":"/static/ff89022b202a33d33aa7f98ab4b98636/15384/hero.webp","srcSetWebp":"/static/ff89022b202a33d33aa7f98ab4b98636/31fce/hero.webp 114w,\n/static/ff89022b202a33d33aa7f98ab4b98636/e3e25/hero.webp 229w,\n/static/ff89022b202a33d33aa7f98ab4b98636/15384/hero.webp 457w,\n/static/ff89022b202a33d33aa7f98ab4b98636/0258d/hero.webp 686w,\n/static/ff89022b202a33d33aa7f98ab4b98636/64ea2/hero.webp 914w,\n/static/ff89022b202a33d33aa7f98ab4b98636/0b63c/hero.webp 2550w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/ff89022b202a33d33aa7f98ab4b98636/0ff54/hero.jpg"}}},{"id":"b903047b-44d1-5cda-adc0-6390e9dc72b3","slug":"/2020-05-28-a-strange-operator","secret":false,"title":"一个奇怪的 shell 运算符 —— `>!`","author":"Bryan Lee","date":"May 28th, 2020","dateForSEO":"2020-05-28T00:00:00.000Z","timeToRead":1,"excerpt":"意思是说，如果 zsh 在没有设置 CLOBBER 的情况下，即 `noclobber` 的状态为 `off` 时，`>!` 与 `>` 完全相同；但 `noclobber` 的状态为 `on` 时，`>` 不能重定向到已经存在的文件，但 `>!` 可以。","canonical_url":null,"subscription":true,"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/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"一个奇怪的 shell 运算符 —— `>!`\",\n  \"slug\": \"2020-05-28-a-strange-operator\",\n  \"author\": \"Bryan Lee\",\n  \"date\": \"2020-05-28T00:00:00.000Z\",\n  \"hero\": \"./images/hero.jpeg\",\n  \"excerpt\": \"意思是说，如果 zsh 在没有设置 CLOBBER 的情况下，即 `noclobber` 的状态为 `off` 时，`>!` 与 `>` 完全相同；但 `noclobber` 的状态为 `on` 时，`>` 不能重定向到已经存在的文件，但 `>!` 可以。\",\n  \"tags\": [\"Linux\", \"POSIX\", \"Z shell\"]\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(\"h2\", {\n    \"id\": \"相遇\"\n  }, \"\\u76F8\\u9047\"), mdx(\"p\", null, \"\\u6211\\u5728\\u4F7F\\u7528 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/ohmyzsh/ohmyzsh\",\n    \"title\": \"Oh My ZSH 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"Oh My ZSH\"), \" \\u7684\\u65F6\\u5019\\uFF0C\\u4F1A\\u901A\\u8FC7 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"git clone\"), \" \\u5B89\\u88C5\\u4E00\\u4E9B\\u7528\\u6237\\u81EA\\u5B9A\\u4E49\\u7684\\u63D2\\u4EF6\\uFF0C\\u6BD4\\u5982 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-autosuggestions\",\n    \"title\": \"zsh-autosuggestions 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"zsh-autosuggestions\"), \"\\u3001\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-completions\",\n    \"title\": \"zsh-completions 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"zsh-completions\"), \" \\u4EE5\\u53CA \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-syntax-highlighting\",\n    \"title\": \"zsh-syntax-highlighting 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"zsh-syntax-highlighting\"), \" \\u7B49\\u7B49\\uFF0C\\u5B83\\u4EEC\\u5E76\\u4E0D\\u4F1A\\u968F\\u7740 Oh My ZSH \\u7684\\u66F4\\u65B0\\u800C\\u4E00\\u540C\\u66F4\\u65B0\\uFF0C\\u9700\\u8981\\u6211\\u624B\\u52A8\\u8FDB\\u5165\\u5B83\\u4EEC\\u5404\\u81EA\\u7684\\u672C\\u5730\\u4ED3\\u5E93\\u5185\\u6267\\u884C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"git pull\"), \" \\u6765\\u83B7\\u53D6\\u66F4\\u65B0\\u3002\"), mdx(\"p\", null, \"\\u7531\\u4E8E\\u8FD9\\u79CD\\u66F4\\u65B0\\u65B9\\u5F0F\\u592A\\u8FC7\\u7E41\\u7410\\uFF0C\\u6211\\u4FBF\\u627E\\u5230\\u4E86\\u4E00\\u4E2A\\u81EA\\u52A8\\u66F4\\u65B0\\u8FD9\\u4E9B\\u81EA\\u5B9A\\u4E49\\u63D2\\u4EF6\\u7684\\u5DE5\\u5177\\u2014\\u2014 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/TamCore/autoupdate-oh-my-zsh-plugins\",\n    \"title\": \"autoupdate-oh-my-zsh-plugins 的  repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"autoupdate-oh-my-zsh-plugins\"), \"\\uFF0C\\u56E0\\u4E3A\\u5B83\\u7684\\u529F\\u80FD\\u5B9E\\u73B0\\u53EA\\u6D89\\u53CA\\u5230\\u4E86\\u4E00\\u4E2A\\u6587\\u4EF6\\uFF0C\\u4E14\\u4EE3\\u7801\\u884C\\u6570\\u5E76\\u4E0D\\u5938\\u5F20\\uFF0C\\u867D\\u7136\\u6211\\u5BF9 shell \\u4E00\\u77E5\\u534A\\u89E3\\uFF0C\\u4E5F\\u4E00\\u65F6\\u6765\\u4E86\\u5174\\u8DA3\\uFF0C \\u4FBF\\u7D22\\u6027 review \\u8D77\\u4E86\\u6E90\\u4EE3\\u7801\\u3002\"), mdx(\"p\", null, \"\\u4E5F\\u6B63\\u56E0\\u6B64\\u8FD9\\u4E2A\\u4E34\\u65F6\\u8D77\\u610F\\uFF0C\\u8BA9\\u6211\\u770B\\u5230\\u4E86\\u4E00\\u884C\\u503C\\u5F97\\u6DF1\\u6316\\u7684\\u4EE3\\u7801\\uFF1A\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-sh\"\n  }), \"echo \\\"LAST_EPOCH=$(_current_epoch)\\\" >! \\\"${ZSH_CACHE_DIR}/.zsh-custom-update\\\"\\n\")), mdx(\"h2\", {\n    \"id\": \"相知\"\n  }, \"\\u76F8\\u77E5\"), mdx(\"p\", null, \"\\u56E0\\u4E3A\\u770B\\u8FC7\\u7684 shell \\u4EE3\\u7801\\u5C31\\u5C11\\uFF0C\\u66F4\\u662F\\u7B2C\\u4E00\\u6B21\\u770B\\u5230 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \">!\"), \" \\u8FD0\\u7B97\\u7B26\\uFF0C\\u4FBF\\u53BB\\u7FFB\\u9605\\u4E86\\u76F8\\u5173\\u6587\\u6863\\uFF0C\\u5374\\u6CA1\\u6709\\u627E\\u5230\\u5173\\u4E8E\\u8FD9\\u4E2A\\u8FD0\\u7B97\\u7B26\\u7684\\u4ECB\\u7ECD\\uFF0C\\u6BD4\\u8F83\\u7C7B\\u4F3C\\u7684\\u8FD0\\u7B97\\u7B26\\u662F\\u4E0B\\u9762\\u8FD9\\u4E2A\\uFF1A\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-sh\"\n  }), \"# \\u5C06\\u8F93\\u51FA\\u91CD\\u5B9A\\u5411\\u5230 file\\ncommand > file\\n\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u6CE8\\u610F\"), \"\\uFF1A\\u5173\\u4E8E shell \\u6570\\u636E\\u91CD\\u5B9A\\u5411\\u662F\\u4EC0\\u4E48\\uFF0C\\u8FD9\\u91CC\\u4E0D\\u518D\\u82B1\\u8D39\\u7BC7\\u5E45\\u4ECB\\u7ECD\\uFF0C\\u6709\\u5174\\u8DA3\\u7684\\u8BDD\\uFF0C\\u53EF\\u4EE5\\u770B\\u4E00\\u4E0B\\u8FD9\\u7BC7\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html\",\n    \"title\": \"输入重定向与输出重定向详细分析\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"\\u6587\\u7AE0\"), \"\\u3002\"), mdx(\"p\", null, \"\\u5C06 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \">\"), \" \\u4E0E \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \">!\"), \" \\u547D\\u4EE4\\u5BF9\\u6BD4\\u4E86\\u4E00\\u4E0B\\uFF0C\\u53D1\\u73B0\\u4E24\\u8005\\u7684\\u6548\\u679C\\u4E00\\u6A21\\u4E00\\u6837\\uFF1A\"), mdx(\"p\", null, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1604px\"\n    }\n  }), \"\\n      \", mdx(\"span\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"74.81296758104739%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAIAAABr+ngCAAAACXBIWXMAABYlAAAWJQFJUiTwAAACDklEQVQoz42QXW/SUBjH+zWMMDROelpOGX2lLS3tAKFx6oXZJ1AHmmVvbgjEsRlNduE3kBXYV1ETt0DZndHLMbYLLqbGy7YDT4HMLQTdOb+T8/b88/yfB3Ns5/fPX51Ou32M1hU6ndOTk9Pjsfejo/bZ2Y9+v499+/r9/dsdQWJiuiEICZpWGSZOMyovzCpqRlENdIjQKu09erC8HsS5fH7TEzebVmFzCzIyUpKhaBBnETjgEKMzzg2vQwhS8PnJbHbJcRzMsg7fvNuBtBSLpWcTD6R4OnHvoaoagOBR3DghKAZuwVxuZShuFV6XSVo0jMeaPsdyuiilWE7DwTXEyHZxazsixZVYBn0EkVvAAkJAJVwjc+twG9mOiIqcTKUeyWpaS85p+v1/iqnc81HmVrFYvoNHBW1eVjIcr0XFFMNqk2qGlOTzg2cLi67rYAcHjfxGiWKTpDQPSPFyVyeJb9y8++TpC9d1sUbTWntZCgRCMDRRMNF2o2GtrhX9UxCG5b9BoQH/bRgSr6wWfFMk8nMRAQDn1UwIF+AEP+wCEvsDcCG7POh2s1V6VZ6+HUapAMF5AC7MqhSjEDBKUiICfbERdQZKAGdmSAGfppcW123Hxrrd7v6XfbNi1qr1EWbNrNYvs2vWauZedbdW/2DuVapmpfrp42evYb1e77x37owP275yQxPhepvruL3B+AMq7GUAeT+o0gAAAABJRU5ErkJggg==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"picture\", {\n    parentName: \"span\"\n  }, \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/642b2a9c5af4520b0b7e6d28c532539c/82237/article-image-1.webp 1604w\"],\n    \"sizes\": \"(max-width: 1604px) 100vw, 1604px\",\n    \"type\": \"image/webp\"\n  })), \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/642b2a9c5af4520b0b7e6d28c532539c/d7e85/article-image-1.png 1604w\"],\n    \"sizes\": \"(max-width: 1604px) 100vw, 1604px\",\n    \"type\": \"image/png\"\n  })), \"\\n        \", mdx(\"img\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"src\": \"/static/642b2a9c5af4520b0b7e6d28c532539c/d7e85/article-image-1.png\",\n    \"alt\": \"简单对比后，发现两者的效果看似相同\",\n    \"title\": \"简单对比后，发现两者的效果看似相同\",\n    \"loading\": \"lazy\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    }\n  })), \"\\n      \"), \"\\n    \")), mdx(\"p\", null, \"\\u53EF\\u662F\\u6211\\u5E76\\u6CA1\\u6709\\u5230\\u6B64\\u4E3A\\u6B62\\uFF0C\\u66F4\\u4E0D\\u4F1A\\u7B80\\u5355\\u5730\\u8BA4\\u5B9A\\u8FD9\\u4E24\\u8005\\u4E4B\\u95F4\\u5728\\u4F5C\\u7528\\u4E0A\\u6CA1\\u6709\\u533A\\u522B\\u3002\\u6211\\u4E2A\\u4EBA\\u66F4\\u503E\\u5411\\u4E8E\\u52A0\\u4E0A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"!\"), \" \\u6709\\u300C\\u5F3A\\u5236\\u6267\\u884C\\u300D\\u5730\\u610F\\u5473\\u5728\\u91CC\\u9762\\u3002\"), mdx(\"p\", null, \"\\u6CA1\\u6709\\u653E\\u5F03\\u5BFB\\u627E\\u7684\\u6211\\uFF0C\\u6700\\u7EC8\\u5728\\u4E0E\\u540C\\u4E8B\\u7684\\u804A\\u5929\\u65F6\\uFF0C\\u5728\\u8FD9\\u4E2A\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://stackoverflow.com/questions/6762348/what-do-and-do-in-tcsh\",\n    \"title\": \"What do >! and >>! do in tcsh\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"\\u95EE\\u9898\"), \"\\u4E0B\\u627E\\u5230\\u4E86 tcsh \\u4E2D\\u6709\\u76F8\\u540C\\u7684\\u8FD0\\u7B97\\u7B26\\uFF1B\\u4E5F\\u56E0\\u6B64\\uFF0C\\u8BA9\\u6211\\u987A\\u85E4\\u6478\\u74DC\\u627E\\u5230\\u4E86\\u5728 zsh \\u4E2D\\u4F7F\\u7528 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \">!\"), \" \\u8FD0\\u7B97\\u7B26\\u7684\\u4ECB\\u7ECD\\uFF1A\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"http://zsh.sourceforge.net/Doc/Release/Redirection.html\",\n    \"title\": \"clobber on redirect 的文档介绍\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"clobber on redirect\"), \"\\u3002\"), mdx(\"p\", null, \"\\u6587\\u6863\\u4E2D\\u662F\\u8FD9\\u6837\\u4ECB\\u7ECD \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \">!\"), \" \\u7684\\uFF1A\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"Same as >, except that the file is truncated to zero length if it exists, even if CLOBBER is unset.\")), mdx(\"p\", null, \"\\u610F\\u601D\\u662F\\u8BF4\\uFF0C\\u5982\\u679C zsh \\u5728\\u6CA1\\u6709\\u8BBE\\u7F6E CLOBBER \\u7684\\u60C5\\u51B5\\u4E0B\\uFF0C\\u5373 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"noclobber\"), \" \\u7684\\u72B6\\u6001\\u4E3A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"off\"), \" \\u65F6\\uFF0C\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \">!\"), \" \\u4E0E \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \">\"), \" \\u5B8C\\u5168\\u76F8\\u540C\\uFF1B\\u4F46 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"noclobber\"), \" \\u7684\\u72B6\\u6001\\u4E3A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"on\"), \" \\u65F6\\uFF0C\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \">\"), \" \\u4E0D\\u80FD\\u91CD\\u5B9A\\u5411\\u5230\\u5DF2\\u7ECF\\u5B58\\u5728\\u7684\\u6587\\u4EF6\\uFF0C\\u4F46 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \">!\"), \" \\u53EF\\u4EE5\\u3002\\u5982\\u679C\\u4F60\\u8BA4\\u4E3A\\u8FD9\\u6BB5\\u8BDD\\u5F88\\u7ED5\\u7684\\u8BDD\\uFF0C\\u53EF\\u4EE5\\u770B\\u4E0B\\u56FE\\uFF1A\"), mdx(\"p\", null, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1570px\"\n    }\n  }), \"\\n      \", mdx(\"span\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"86.49681528662421%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAACn0lEQVQ4y42UW08TQRTH+ymEUoql3d52t9vdbUuhtAiJ0YSvoQ9yibeAD1gupUpiTLSlRb6Kxjd7g/gIfUB80fiEH8Atof17Zrbblk2NbPLPzJ4z85tzZs9Zh2EY+PXjJxq1L6jW6qhUaqhU66jVGnysVOpkb6BaNX18rB6R/wiNxjGOjr9y/9nZOdjjOP/2HfmtHNwTLgQlDS53CE6Xn97NkWmc5mPjAYyMCeQPwukWyRaGV1AQCOkYcQp48HAZnU4bjtPTJvJ7byBpKcSn5qGoMwhLCS5RnvqHyNddI0WS8HgjWFp+hlbLMIG7+T3Ikg5Vm4GkTxP4DmKJOTo9hmB4mOIIiabYAROTEh4tPSVgywTmdnahhRSkkvNQ4xmo+iz0ZAZyNAmZDtBizJbmMAtkzTnQYwENC5hHVIwimUjzzVosTbBphKQ4whEzLbZxEHgtwkFgk4A7udcIqwnMzC4gM3cf8wuLHGpP1YpsEDwUuJ3LI6joSM/dg04pK2qKX7g9ouEpJ2zAZhOblLLbJyJG6bIPMgizRzQ05UnbHWY3NiEm72Lx8VtI0RSCVFv2iOxiPnawEFBwy+nB0kq3bE5OTrC1/Qphmb6olrkG+h+QjQw64REpwif9lF9mcxgd8/NivQnMnvJtSnl55Xm/DrMEZC3HyuMmkGtACsLjlbG2voHLSwbsRuiifpUVVnuJvoZEGub2froiaz1fBOsvsl1gN8LRUR8CQQ2CP8rlo8a3YEJA7ckrRGldHH6/Dh/1cIDe3fSzWF1dM+/w98UF/brqKBb2TRVLXAWal8sfUD44NG37Za5CoYRS6RCl4gGK74rYf8/2lfHp42eK8BKOdruNq6srfqHsBCbDGo0/XC2DzU317HxNq7eWMTqdDv4Ch5HKUBu37DgAAAAASUVORK5CYII=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"picture\", {\n    parentName: \"span\"\n  }, \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/195ab17b8effc370c6f7b9cc48c8cb76/80a12/article-image-2.webp 1570w\"],\n    \"sizes\": \"(max-width: 1570px) 100vw, 1570px\",\n    \"type\": \"image/webp\"\n  })), \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/195ab17b8effc370c6f7b9cc48c8cb76/ec85c/article-image-2.png 1570w\"],\n    \"sizes\": \"(max-width: 1570px) 100vw, 1570px\",\n    \"type\": \"image/png\"\n  })), \"\\n        \", mdx(\"img\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"src\": \"/static/195ab17b8effc370c6f7b9cc48c8cb76/ec85c/article-image-2.png\",\n    \"alt\": \"这里可以看出两者间的区别\",\n    \"title\": \"这里可以看出两者间的区别\",\n    \"loading\": \"lazy\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    }\n  })), \"\\n      \"), \"\\n    \")), mdx(\"h2\", {\n    \"id\": \"相忘于江湖\"\n  }, \"\\u76F8\\u5FD8\\u4E8E\\u6C5F\\u6E56\"), mdx(\"p\", null, \"\\u641E\\u6E05\\u695A\\u4E86\\u5B83\\u4EEC\\u4E4B\\u95F4\\u7684\\u533A\\u522B\\uFF0C\\u5FC3\\u91CC\\u603B\\u7B97\\u723D\\u5FEB\\u4E86\\u4E9B\\uFF0C\\u4F46\\u662F\\u4E8B\\u60C5\\u8FD8\\u6CA1\\u6709\\u5B8C\\uFF1B\\u5728\\u5BFB\\u6C42\\u7B54\\u6848\\u7684\\u8FC7\\u7A0B\\u4E2D\\uFF0C\\u6211\\u4E5F\\u4E86\\u89E3\\u5230\\uFF0C\\u5B9E\\u9645\\u4E0A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \">!\"), \" \\u662F\\u4E0D\\u7B26\\u5408 POSIX \\u6807\\u51C6\\u7684\\uFF0C\\u6709\\u53EF\\u80FD\\u4F1A\\u51FA\\u73B0\\u517C\\u5BB9\\u6027\\u95EE\\u9898\\u3002\"), mdx(\"p\", null, \"\\u6B63\\u5E38\\u6765\\u8BF4\\uFF0C\\u5982\\u679C\\u60F3\\u8981\\u8FBE\\u5230 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \">!\"), \" \\u8FD0\\u7B97\\u7B26\\u7684\\u6548\\u679C\\uFF0C\\u53EF\\u4EE5\\u4F7F\\u7528\\u7B26\\u5408 POSIX \\u6807\\u51C6\\u7684 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \">|\"), \" \\u8FD0\\u7B97\\u7B26\\u6765\\u4EE3\\u66FF\\uFF1B\\u56E0\\u6B64\\uFF0C\\u6211\\u53C8\\u501F\\u673A\\u6C34\\u4E86\\u4E00\\u4E2A \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/TamCore/autoupdate-oh-my-zsh-plugins/pull/9\",\n    \"title\": \"Replace the `>!` operator with the `>|` operator...\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"PR\"), \"\\u3002\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u6CE8\\u610F\"), \"\\uFF1A\\u5173\\u4E8E \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \">|\"), \" \\u7684\\u8BE6\\u7EC6\\u4ECB\\u7ECD\\uFF0C\\u53EF\\u4EE5\\u5728\\u8FD9\\u4E2A\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_02\",\n    \"title\": \"2.7.2 Redirecting Output\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"\\u6587\\u6863\"), \"\\u4E2D\\u67E5\\u9605\\u3002\"));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAIDBAX/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAcuSq2oogf/EABoQAAICAwAAAAAAAAAAAAAAAAACARAREiH/2gAIAQEAAQUCXo661Ema/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAFBABAAAAAAAAAAAAAAAAAAAAIP/aAAgBAQAGPwJf/8QAGRABAQEBAQEAAAAAAAAAAAAAAQARITFR/9oACAEBAAE/IegSk3Oz7YT9y3//2gAMAwEAAgADAAAAEE/f/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAGhABAAIDAQAAAAAAAAAAAAAAAQARIVFx0f/aAAgBAQABPxAAlWtZjg9FL5HDIRRNRkyXrLWf/9k=","aspectRatio":1.3333333333333333,"src":"/static/31fda6da50600be00ae9ee519bcfd267/58fe7/hero.jpg","srcSet":"/static/31fda6da50600be00ae9ee519bcfd267/e0f30/hero.jpg 236w,\n/static/31fda6da50600be00ae9ee519bcfd267/86afd/hero.jpg 472w,\n/static/31fda6da50600be00ae9ee519bcfd267/58fe7/hero.jpg 944w,\n/static/31fda6da50600be00ae9ee519bcfd267/02748/hero.jpg 1416w,\n/static/31fda6da50600be00ae9ee519bcfd267/5c241/hero.jpg 1888w,\n/static/31fda6da50600be00ae9ee519bcfd267/2b614/hero.jpg 1934w","srcWebp":"/static/31fda6da50600be00ae9ee519bcfd267/99fbb/hero.webp","srcSetWebp":"/static/31fda6da50600be00ae9ee519bcfd267/77392/hero.webp 236w,\n/static/31fda6da50600be00ae9ee519bcfd267/1f177/hero.webp 472w,\n/static/31fda6da50600be00ae9ee519bcfd267/99fbb/hero.webp 944w,\n/static/31fda6da50600be00ae9ee519bcfd267/4a492/hero.webp 1416w,\n/static/31fda6da50600be00ae9ee519bcfd267/b0b8f/hero.webp 1888w,\n/static/31fda6da50600be00ae9ee519bcfd267/941d6/hero.webp 1934w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAIDBAX/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAcuSq2oogf/EABoQAAICAwAAAAAAAAAAAAAAAAACARAREiH/2gAIAQEAAQUCXo661Ema/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAFBABAAAAAAAAAAAAAAAAAAAAIP/aAAgBAQAGPwJf/8QAGRABAQEBAQEAAAAAAAAAAAAAAQARITFR/9oACAEBAAE/IegSk3Oz7YT9y3//2gAMAwEAAgADAAAAEE/f/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAGhABAAIDAQAAAAAAAAAAAAAAAQARIVFx0f/aAAgBAQABPxAAlWtZjg9FL5HDIRRNRkyXrLWf/9k=","aspectRatio":1.3360655737704918,"src":"/static/31fda6da50600be00ae9ee519bcfd267/1dc0b/hero.jpg","srcSet":"/static/31fda6da50600be00ae9ee519bcfd267/3a5ce/hero.jpg 163w,\n/static/31fda6da50600be00ae9ee519bcfd267/05730/hero.jpg 327w,\n/static/31fda6da50600be00ae9ee519bcfd267/1dc0b/hero.jpg 653w,\n/static/31fda6da50600be00ae9ee519bcfd267/f72c7/hero.jpg 980w,\n/static/31fda6da50600be00ae9ee519bcfd267/6e4a3/hero.jpg 1306w,\n/static/31fda6da50600be00ae9ee519bcfd267/2b614/hero.jpg 1934w","srcWebp":"/static/31fda6da50600be00ae9ee519bcfd267/0acdf/hero.webp","srcSetWebp":"/static/31fda6da50600be00ae9ee519bcfd267/ac59e/hero.webp 163w,\n/static/31fda6da50600be00ae9ee519bcfd267/7660b/hero.webp 327w,\n/static/31fda6da50600be00ae9ee519bcfd267/0acdf/hero.webp 653w,\n/static/31fda6da50600be00ae9ee519bcfd267/75470/hero.webp 980w,\n/static/31fda6da50600be00ae9ee519bcfd267/68d47/hero.webp 1306w,\n/static/31fda6da50600be00ae9ee519bcfd267/941d6/hero.webp 1934w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAIDBAX/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAcuSq2oogf/EABoQAAICAwAAAAAAAAAAAAAAAAACARAREiH/2gAIAQEAAQUCXo661Ema/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAFBABAAAAAAAAAAAAAAAAAAAAIP/aAAgBAQAGPwJf/8QAGRABAQEBAQEAAAAAAAAAAAAAAQARITFR/9oACAEBAAE/IegSk3Oz7YT9y3//2gAMAwEAAgADAAAAEE/f/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAGhABAAIDAQAAAAAAAAAAAAAAAQARIVFx0f/aAAgBAQABPxAAlWtZjg9FL5HDIRRNRkyXrLWf/9k=","aspectRatio":1.3255813953488371,"src":"/static/31fda6da50600be00ae9ee519bcfd267/eaa58/hero.jpg","srcSet":"/static/31fda6da50600be00ae9ee519bcfd267/5a3ee/hero.jpg 114w,\n/static/31fda6da50600be00ae9ee519bcfd267/41f8f/hero.jpg 229w,\n/static/31fda6da50600be00ae9ee519bcfd267/eaa58/hero.jpg 457w,\n/static/31fda6da50600be00ae9ee519bcfd267/c309b/hero.jpg 686w,\n/static/31fda6da50600be00ae9ee519bcfd267/e3008/hero.jpg 914w,\n/static/31fda6da50600be00ae9ee519bcfd267/2b614/hero.jpg 1934w","srcWebp":"/static/31fda6da50600be00ae9ee519bcfd267/15384/hero.webp","srcSetWebp":"/static/31fda6da50600be00ae9ee519bcfd267/31fce/hero.webp 114w,\n/static/31fda6da50600be00ae9ee519bcfd267/e3e25/hero.webp 229w,\n/static/31fda6da50600be00ae9ee519bcfd267/15384/hero.webp 457w,\n/static/31fda6da50600be00ae9ee519bcfd267/0258d/hero.webp 686w,\n/static/31fda6da50600be00ae9ee519bcfd267/64ea2/hero.webp 914w,\n/static/31fda6da50600be00ae9ee519bcfd267/941d6/hero.webp 1934w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/31fda6da50600be00ae9ee519bcfd267/0ff54/hero.jpg"}}},{"id":"4376a9fd-e032-59e5-bbb7-3a99f3c4c2ea","slug":"/2020-05-27-about-the-source-dot-zshrc-command","secret":false,"title":"Source 命令踩坑小记","author":"Bryan Lee","date":"May 27th, 2020","dateForSEO":"2020-05-27T00:00:00.000Z","timeToRead":1,"excerpt":"至此，情况已经非常清晰明了，在启用 Powerlevel10k 的情况下，运行 `source ~/.zshrc` 命令会让 zsh-autosuggestion 插件出现问题：光标后提供的补全提示显示为白色，而不是[默认设置][]的颜色——灰色。","canonical_url":null,"subscription":true,"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/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Source 命令踩坑小记\",\n  \"slug\": \"2020-05-27-about-the-source-dot-zshrc-command\",\n  \"author\": \"Bryan Lee\",\n  \"date\": \"2020-05-27T00:00:00.000Z\",\n  \"hero\": \"./images/hero.jpeg\",\n  \"excerpt\": \"至此，情况已经非常清晰明了，在启用 Powerlevel10k 的情况下，运行 `source ~/.zshrc` 命令会让 zsh-autosuggestion 插件出现问题：光标后提供的补全提示显示为白色，而不是[默认设置][]的颜色——灰色。\",\n  \"tags\": [\"Oh My ZSH\", \"Powerlevel10k\", \"zsh-autosuggestions\"]\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(\"h2\", {\n    \"id\": \"前情介绍\"\n  }, \"\\u524D\\u60C5\\u4ECB\\u7ECD\"), mdx(\"p\", null, \"\\u8FD9\\u4E24\\u5929\\u5076\\u7136\\u53D1\\u73B0\\u4E86\\u4E00\\u4E2A\\u95EE\\u9898\\uFF0C\\u5728 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/gnachman/iTerm2\",\n    \"title\": \"iTerm2 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"iTerm2\"), \" + \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/ohmyzsh/ohmyzsh\",\n    \"title\": \"Oh My ZSH 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"Oh My ZSH\"), \" \\u73AF\\u5883\\u4E0B\\uFF0C\\u8FD0\\u884C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\u4E4B\\u540E\\u4F1A\\u5BFC\\u81F4 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-autosuggestions\",\n    \"title\": \"zsh-autosuggestions 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"zsh-autosuggestions\"), \" \\u63D2\\u4EF6\\u51FA\\u73B0\\u4E00\\u4E9B\\u8089\\u773C\\u53EF\\u89C1\\u7684\\u95EE\\u9898\\uFF0C\\u6309\\u7167 zsh-autosuggestions \\u63D2\\u4EF6\\u7684\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-autosuggestions#usage\",\n    \"title\": \"zsh-autosuggestions 功能说明部分的文档\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"\\u6587\\u6863\\u63CF\\u8FF0\"), \"\\uFF1A\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"As you type commands, you will see a completion offered after the cursor in a muted gray color.\")), mdx(\"p\", null, \"\\u5373\\u201C\\u5F53\\u4F60\\u952E\\u5165\\u547D\\u4EE4\\u65F6\\uFF0C\\u5C06\\u4F1A\\u770B\\u5230\\u5149\\u6807\\u540E\\u63D0\\u4F9B\\u7684\\u8865\\u5168\\u63D0\\u793A\\u663E\\u793A\\u4E3A\\u9759\\u9ED8\\u7684\\u7070\\u8272\\u201D\\uFF0C\\u4E0D\\u8FC7\\u5F53\\u6211\\u8FD0\\u884C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u4EE5\\u540E\\uFF0C\\u5149\\u6807\\u540E\\u63D0\\u4F9B\\u7684\\u8865\\u5168\\u63D0\\u793A\\u5374\\u663E\\u793A\\u4E3A\\u767D\\u8272\\uFF0C\\u4E0E\\u5149\\u6807\\u524D\\u5DF2\\u7ECF\\u8F93\\u5165\\u7684\\u547D\\u4EE4\\u90E8\\u5206\\u76F8\\u540C\\uFF0C\\u8BA9\\u4EBA\\u96BE\\u4EE5\\u533A\\u5206\\u3002\"), mdx(\"h2\", {\n    \"id\": \"排查过程\"\n  }, \"\\u6392\\u67E5\\u8FC7\\u7A0B\"), mdx(\"p\", null, \"\\u53D1\\u73B0\\u95EE\\u9898\\u540E\\uFF0C\\u6211\\u7B2C\\u4E00\\u65F6\\u95F4\\u53BB\\u5230 zsh-autosuggestions \\u7684 repo\\uFF0C\\u67E5\\u627E\\u76F8\\u5173 issue\\uFF0C\\u5374\\u6CA1\\u6709\\u4EFB\\u4F55\\u6536\\u83B7\\uFF08\\u5B9E\\u9645\\u4E0A\\u6709\\u4E00\\u4E2A\\u5173\\u4E8E\\u6B64\\u95EE\\u9898\\u7684 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-autosuggestions/issues/516\",\n    \"title\": \"ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE changes after source\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"issue#516\"), \"\\uFF0C\\u4F46\\u662F\\u6211\\u6CA1\\u627E\\u5BF9\\u5173\\u952E\\u8BCD\\uFF09\\u3002\\u57FA\\u4E8E\\u6B64\\uFF0C\\u6211\\u4FBF\\u6574\\u7406\\u4E86\\u4E00\\u4E0B\\uFF0C\\u81EA\\u5DF1\\u63D0\\u4E86\\u4E00\\u4E2A \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-autosuggestions/issues/538\",\n    \"title\": \"The color of the automatic prompt is incorrect\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"issue#538\"), \"\\u3002\"), mdx(\"p\", null, \"zsh-autosuggestions \\u7684\\u4F5C\\u8005 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/ericfreese\",\n    \"title\": \"ericfreese 的 GitHub 主页\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"ericfreese\"), \" \\u56DE\\u590D\\u6211\\u8BF4\\uFF1A\\u6709\\u4EBA\\u63D0\\u4E86\\u4E00\\u4E2A\\u76F8\\u540C\\u7684 issue\\uFF0C\\u53EF\\u4EE5\\u770B\\u4E00\\u4E0B\\u3002\\u5B9E\\u9645\\u4E0A\\uFF0Cericfreese \\u672C\\u4EBA\\u5728\\u91CC\\u9762\\u7684\\u56DE\\u590D\\u4E5F\\u6BD4\\u8F83\\u7B80\\u77ED\\uFF1A\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"I don\\u2019t know what exactly is going on here but it\\u2019s generally not a good idea to source your .zshrc additional times. If you\\u2019ve made changes to the file, try exec zsh instead.\")), mdx(\"p\", null, \"\\u5927\\u610F\\u662F\\u8BF4 ericfreese \\u81EA\\u5DF1\\u4E5F\\u4E0D\\u6E05\\u695A\\u8FD9\\u662F\\u4EC0\\u4E48\\u539F\\u56E0\\u9020\\u6210\\u7684\\uFF0C\\u4F46\\u4ED6\\u8BA4\\u4E3A\\u5982\\u679C\\u60F3\\u8981\\u5BF9 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \".zshrc\"), \" \\u6587\\u4EF6\\u7684\\u4FEE\\u6539\\u751F\\u6548\\uFF0C\\u90A3\\u4E48\\u6700\\u597D\\u4E0D\\u8981\\u4F7F\\u7528 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\uFF0C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"exec zsh\"), \" \\u547D\\u4EE4\\u662F\\u66F4\\u597D\\u7684\\u9009\\u62E9\\u3002\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u6CE8\\u610F\"), \"\\uFF1A\\u5728\\u6211\\u8FD9\\u91CC\\u7684\\u60C5\\u51B5\\u662F\\uFF0C\\u8FD0\\u884C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"exec zsh\"), \" \\u540E zsh-autosuggestions \\u63D2\\u4EF6\\u786E\\u5B9E\\u53EF\\u4EE5\\u6B63\\u5E38\\u5DE5\\u4F5C\\uFF0C\\u6CA1\\u6709\\u4EFB\\u4F55\\u663E\\u793A\\u4E0A\\u7684\\u95EE\\u9898\\uFF1B\\u4E0D\\u8FC7\\u53EA\\u8981\\u540E\\u7EED\\u8FD0\\u884C\\u4E86 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\uFF0C\\u4F9D\\u65E7\\u4F1A\\u8BA9 zsh-autosuggestions \\u7684\\u529F\\u80FD\\u51FA\\u73B0\\u95EE\\u9898\\uFF1A\\u5149\\u6807\\u540E\\u63D0\\u4F9B\\u7684\\u8865\\u5168\\u63D0\\u793A\\u663E\\u793A\\u4E3A\\u767D\\u8272\\u3002\"), mdx(\"p\", null, \"\\u4E0E\\u6B64\\u540C\\u65F6\\u6211\\u4E5F\\u901A\\u8FC7\\u8FD9\\u4E2A issue \\u53D1\\u73B0\\u4E86\\u4E00\\u4E2A\\u5171\\u901A\\u70B9\\uFF0C\\u90A3\\u5C31\\u662F\\u9047\\u5230\\u76F8\\u540C\\u95EE\\u9898\\u7684\\u6211\\u4EEC\\u90FD\\u4E0D\\u7EA6\\u800C\\u540C\\u5730\\u4F7F\\u7528\\u4E86 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/romkatv/powerlevel10k\",\n    \"title\": \"Powerlevel10k 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"Powerlevel10k\"), \"\\uFF0C\\u4E00\\u4E2A zsh \\u4E3B\\u9898\\uFF1B\\u6211\\u4FBF\\u8BD5\\u7740\\u5C06\\u5B83\\u7981\\u7528\\u6389\\uFF0C\\u5728\\u8FD9\\u4E4B\\u540E\\u5C1D\\u8BD5\\u8FD0\\u884C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\uFF0C\\u7ED3\\u679C\\u5C31\\u662F\\u65E0\\u8BBA\\u8FD0\\u884C\\u591A\\u5C11\\u6B21\\uFF0C\\u5149\\u6807\\u540E\\u63D0\\u4F9B\\u7684\\u8865\\u5168\\u63D0\\u793A\\u7686\\u6B63\\u5E38\\u663E\\u793A\\u4E3A\\u9759\\u9ED8\\u7684\\u7070\\u8272\\uFF0C\\u5373 zsh-autosuggestion \\u63D2\\u4EF6\\u6B63\\u5E38\\u5DE5\\u4F5C\\uFF0C\\u6CA1\\u6709\\u51FA\\u73B0\\u663E\\u793A\\u4E0A\\u7684\\u95EE\\u9898\\u3002\"), mdx(\"p\", null, \"\\u81F3\\u6B64\\uFF0C\\u60C5\\u51B5\\u5DF2\\u7ECF\\u975E\\u5E38\\u6E05\\u6670\\u660E\\u4E86\\uFF0C\\u5728\\u542F\\u7528 Powerlevel10k \\u7684\\u60C5\\u51B5\\u4E0B\\uFF0C\\u8FD0\\u884C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\u4F1A\\u8BA9 zsh-autosuggestion \\u63D2\\u4EF6\\u51FA\\u73B0\\u95EE\\u9898\\uFF1A\\u5149\\u6807\\u540E\\u63D0\\u4F9B\\u7684\\u8865\\u5168\\u63D0\\u793A\\u663E\\u793A\\u4E3A\\u767D\\u8272\\uFF0C\\u800C\\u4E0D\\u662F\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-autosuggestions/blob/0d3bbaf8e6eee660190a4bb1158a60ea6d39374c/src/config.zsh#L10\",\n    \"title\": \"高亮显示建议时使用的默认颜色在这里定义\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"\\u9ED8\\u8BA4\\u8BBE\\u7F6E\"), \"\\u7684\\u989C\\u8272\\u2014\\u2014\\u7070\\u8272\\u3002\"), mdx(\"p\", null, \"\\u56E0\\u6B64\\uFF0C\\u6211\\u5728 issue \\u4E2D @ \\u4E86 Powerlevel10k \\u7684\\u4F5C\\u8005 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/romkatv\",\n    \"title\": \"romkatv 的 GitHub 主页\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"romkatv\"), \"\\uFF0C\\u5E76\\u5C1D\\u8BD5\\u5411\\u4ED6\\u9610\\u8FF0\\u6574\\u4EF6\\u4E8B\\u60C5\\u7684\\u7ECF\\u8FC7\\u4E0E\\u6211\\u7684\\u89C2\\u70B9\\uFF0C\\u6211\\u4EEC\\u7684\\u8BA8\\u8BBA\\u5185\\u5BB9\\u5F88\\u7B80\\u5355\\uFF0C\\u4E0D\\u8FC7\\u56E0\\u4E3A\\u610F\\u89C1\\u76F8\\u5DE6\\uFF0C\\u6574\\u6574\\u4E00\\u4E2A\\u9875\\u9762\\u7684\\u697C\\u5C42\\u90FD\\u662F\\u6211\\u4EEC\\u4E89\\u8BBA\\u7684\\u5185\\u5BB9\\uFF0C\\u5982\\u679C\\u4F60\\u6709\\u5174\\u8DA3\\u7684\\u8BDD\\uFF0C\\u53EF\\u4EE5\\u5728\\u8FD9\\u4E2A \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-autosuggestions/issues/538\",\n    \"title\": \"The color of the automatic prompt is incorrect\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"issue#538\"), \" \\u4E2D\\u770B\\u5230\\u5168\\u90E8\\u7684\\u5185\\u5BB9\\u3002\"), mdx(\"p\", null, \"TL;DR. \\u6211\\u76F8\\u4FE1\\u5927\\u90E8\\u5206\\u4EBA\\u90FD\\u6CA1\\u6709\\u8FD9\\u4E2A\\u8010\\u5FC3\\u770B\\u5B8C\\uFF0C\\u90A3\\u6211\\u5C3D\\u53EF\\u80FD\\u5730\\u957F\\u8BDD\\u77ED\\u8BF4\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"romkatv\\uFF1A\\u5982\\u679C\\u60F3\\u8981\\u91CD\\u65B0\\u52A0\\u8F7D zsh\\uFF0C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"exec zsh\"), \" \\u547D\\u4EE4\\u8DB3\\u4EE5\\uFF0C\\u4E14\\u5B57\\u6570\\u66F4\\u5C11\\u3002\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u6211\\uFF1A\\u6BD4\\u8F83\\u60F3\\u77E5\\u9053\\u4E3A\\u4EC0\\u4E48 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u4E0E Powerlevel10k \\u4E0D\\u517C\\u5BB9\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"romkatv\\uFF1A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\u7684\\u539F\\u7406\\u5C31\\u5B58\\u5728\\u7F3A\\u9677\\uFF0C\\u4E0E\\u5176\\u95EE\\u5B83\\u4E3A\\u4EC0\\u4E48\\u4F1A\\u51FA\\u73B0\\u95EE\\u9898\\uFF0C\\u4E0D\\u5982\\u95EE\\u95EE\\u81EA\\u5DF1\\u4E3A\\u4EC0\\u4E48\\u975E\\u8981\\u7528\\u5B83\\u3002\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u6211\\uFF1A\\u53EF\\u662F\\u901A\\u8FC7\\u63A7\\u5236\\u53D8\\u91CF\\u6CD5\\u53EF\\u4EE5\\u5F88\\u5BB9\\u6613\\u5730\\u770B\\u51FA\\u662F Powerlevel10k \\u5F15\\u8D77\\u7684\\u51B2\\u7A81\\uFF0C\\u4E0D\\u542F\\u7528 Powerlevel10k \\u7684\\u8BDD\\uFF0C\\u8FD0\\u884C\\u591A\\u5C11\\u6B21 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u90FD\\u4E0D\\u4F1A\\u8BA9 zsh-autosuggestions \\u63D2\\u4EF6\\u51FA\\u95EE\\u9898\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"romkatv\\uFF1A\\u4F60\\u9519\\u4E86\\uFF0C\\u7C7B\\u6BD4\\u4E00\\u4E0B\\uFF1A\\u300C\\u671D\\u81EA\\u5DF1\\u7684\\u811A\\u5F00\\u67AA\\u4F1A\\u5F88\\u75DB\\uFF0C\\u89E3\\u51B3\\u65B9\\u6848\\u5F88\\u7B80\\u5355\\uFF1A\\u4E0D\\u8981\\u90A3\\u6837\\u505A\\u300D\\uFF0C\\u6CA1\\u6709\\u4EC0\\u4E48\\u7406\\u7531\\u975E\\u8981\\u4F7F\\u7528 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u4E0D\\u53EF\\uFF0C\\u6240\\u4EE5\\u4E0D\\u7528\\u662F\\u6700\\u597D\\u7684\\u3002\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u6211\\uFF1A\\u6211\\u4EEC\\u4E0D\\u8981\\u7EA0\\u7ED3 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u6709\\u591A\\u7CDF\\u7CD5\\uFF0C\\u4F1A\\u9020\\u6210\\u54EA\\u4E9B\\u9690\\u60A3\\uFF0C\\u5355\\u5C31 zsh-autosuggestions \\u63D2\\u4EF6\\u51FA\\u73B0\\u7684\\u95EE\\u9898\\u6765\\u770B\\uFF0CPowerlevel10k \\u7684\\u539F\\u56E0\\u591A\\u4E00\\u4E9B\\uFF0C\\u5C06\\u8FD9\\u4E2A\\u95EE\\u9898\\u7B80\\u5355\\u7C97\\u66B4\\u5730\\u5F52\\u548E\\u4E8E \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u662F\\u4E0D\\u8D1F\\u8D23\\u4EFB\\u7684\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"romkatv\\uFF1A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u5C31\\u4E0D\\u5E94\\u8BE5\\u7528\\u4E8E\\u91CD\\u8F7D zsh\\uFF0C\\u4E0D\\u8981\\u5BF9\\u5B83\\u62B1\\u6709\\u4EFB\\u4F55\\u671F\\u671B\\uFF0C\\u5B83\\u7684\\u884C\\u4E3A\\u4E0D\\u53EF\\u6349\\u6478\\uFF0C\\u53D1\\u751F\\u4EC0\\u4E48\\u9519\\u8BEF\\u90FD\\u6709\\u53EF\\u80FD\\uFF0C\\u56E0\\u6B64\\u4F7F\\u7528 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"exec zsh\"), \" \\u624D\\u662F\\u6B63\\u786E\\u7684\\u3002\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u6211\\uFF1A\\u90A3\\u6211\\u660E\\u767D\\u4F60\\u7684\\u610F\\u601D\\u4E86\\uFF0C\\u4F60\\u8BA4\\u4E3A\\u7EA0\\u7ED3 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u4E3A\\u4EC0\\u4E48\\u4F1A\\u51FA\\u95EE\\u9898\\u6CA1\\u6709\\u610F\\u4E49\\uFF0C\\u4E0D\\u5982\\u4E00\\u5F00\\u59CB\\u5C31\\u4E0D\\u53BB\\u4F7F\\u7528\\u5B83\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"romkatv\\uFF1A\\u6CA1\\u9519\\uFF0C\\u6216\\u8BB8\\u6709\\u4EBA\\u4F1A\\u597D\\u5947\\u4E3A\\u4EC0\\u4E48 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u4E3A\\u4EC0\\u4E48\\u4F1A\\u51FA\\u73B0\\u8FD9\\u6837\\u6216\\u90A3\\u6837\\u7684\\u95EE\\u9898\\uFF0C\\u5E76\\u5C1D\\u8BD5\\u53BB\\u4FEE\\u590D\\u6B64\\u7C7B\\u95EE\\u9898\\u6216\\u51CF\\u514D\\u95EE\\u9898\\u53D1\\u751F\\u7684\\u51E0\\u7387\\uFF1B\\u4F46\\u5B9E\\u9645\\u4E0A\\u8FD9\\u6837\\u505A\\u662F\\u5728\\u6D6A\\u8D39\\u65F6\\u95F4\\uFF0C\\u662F\\u6BEB\\u65E0\\u610F\\u4E49\\u7684\\u884C\\u4E3A\\u3002\"))), mdx(\"h2\", {\n    \"id\": \"做个总结\"\n  }, \"\\u505A\\u4E2A\\u603B\\u7ED3\"), mdx(\"p\", null, \"\\u56AF\\uFF0C\\u597D\\u50CF\\u5373\\u4FBF\\u662F\\u7B80\\u5355\\u5199\\u4E2A\\u6982\\u8981\\u4E5F\\u5360\\u4E86\\u6781\\u5927\\u7BC7\\u8BFB\\uFF1B\\u5B9E\\u9645\\u4E0A\\u6211\\u4E0E romkatv \\u7684\\u89C2\\u70B9\\u5DEE\\u5F02\\u662F\\u6839\\u672C\\u4E0A\\u7684\\u8BA4\\u77E5\\u4E0D\\u540C\\uFF1A\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u6211\\uFF1A\\u4E0D\\u542F\\u7528 Powerlevel10k\\uFF0C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\u5E76\\u6CA1\\u6709\\u8BA9 zsh-autosuggestions \\u63D2\\u4EF6\\u51FA\\u73B0\\u95EE\\u9898\\uFF0C\\u4E00\\u65E6\\u542F\\u7528 Powerlevel10k\\uFF0C\\u518D\\u8FD0\\u884C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u7684\\u8BDD zsh-autosuggestions \\u63D2\\u4EF6\\u5C31\\u51FA\\u95EE\\u9898\\u4E86\\uFF0C\\u8FD9\\u4E4B\\u95F4\\u5230\\u5E95\\u53D1\\u751F\\u4E86\\u4EC0\\u4E48\\uFF1F\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"romkatv\\uFF1A \\u5982\\u679C\\u60F3\\u8981\\u91CD\\u8F7D zsh\\uFF0C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"exec zsh\"), \" \\u662F\\u6700\\u4F18\\u9009\\uFF0C\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u9690\\u60A3\\u8F83\\u591A\\uFF0C\\u662F\\u4E2A\\u5B9A\\u65F6\\u70B8\\u5F39\\uFF0C\\u6781\\u4E0D\\u63A8\\u8350\\uFF1B\\u81F3\\u4E8E\\u7EA0\\u7ED3\\u5B83\\u4E3A\\u4EC0\\u4E48\\u4F1A\\u8DDF Powerlevel10k \\u4EA7\\u751F\\u51B2\\u7A81\\uFF1F\\u7B54\\u6848\\u5F88\\u7B80\\u5355\\uFF1A\\u4E0D\\u53BB\\u4F7F\\u7528 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u5C31\\u6C38\\u8FDC\\u4E5F\\u6CA1\\u6709\\u8FD9\\u4E2A\\u95EE\\u9898\\u3002\"))));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAADBf/EABUBAQEAAAAAAAAAAAAAAAAAAAME/9oADAMBAAIQAxAAAAEm7zrPxZUVP//EABoQAAMBAAMAAAAAAAAAAAAAAAECEgMAERP/2gAIAQEAAQUCujC9aAB/FQNQF4zCv//EABgRAQEAAwAAAAAAAAAAAAAAAAEAAxEi/9oACAEDAQE/AUB5jIav/8QAGBEAAgMAAAAAAAAAAAAAAAAAABEBAjH/2gAIAQIBAT8Bb0mp/8QAGhAAAgMBAQAAAAAAAAAAAAAAAAERIVEiQf/aAAgBAQAGPwJR7pakoo0fKP/EABsQAQACAgMAAAAAAAAAAAAAAAEAESFBMVFx/9oACAEBAAE/IQjPKrhyB9EYBogSYAwwa6VCFu3P/9oADAMBAAIAAwAAABBQL//EABcRAAMBAAAAAAAAAAAAAAAAAAABETH/2gAIAQMBAT8QWskin//EABgRAQEAAwAAAAAAAAAAAAAAAAEAESFB/9oACAECAQE/EBDuTOr/xAAbEAEAAwADAQAAAAAAAAAAAAABABEhMUGRUf/aAAgBAQABPxCrM2S48g7JcHSvYq4Qxb2upyDBQVv2L1asmh8hwYKaWf/Z","aspectRatio":1.5031847133757963,"src":"/static/730f1c48e049304c0d0cd68f1d0e3d28/58fe7/hero.jpg","srcSet":"/static/730f1c48e049304c0d0cd68f1d0e3d28/e0f30/hero.jpg 236w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/86afd/hero.jpg 472w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/58fe7/hero.jpg 944w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/02748/hero.jpg 1416w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/5c241/hero.jpg 1888w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/e3277/hero.jpg 2250w","srcWebp":"/static/730f1c48e049304c0d0cd68f1d0e3d28/99fbb/hero.webp","srcSetWebp":"/static/730f1c48e049304c0d0cd68f1d0e3d28/77392/hero.webp 236w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/1f177/hero.webp 472w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/99fbb/hero.webp 944w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/4a492/hero.webp 1416w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/b0b8f/hero.webp 1888w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/d168a/hero.webp 2250w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAADBf/EABUBAQEAAAAAAAAAAAAAAAAAAAME/9oADAMBAAIQAxAAAAEm7zrPxZUVP//EABoQAAMBAAMAAAAAAAAAAAAAAAECEgMAERP/2gAIAQEAAQUCujC9aAB/FQNQF4zCv//EABgRAQEAAwAAAAAAAAAAAAAAAAEAAxEi/9oACAEDAQE/AUB5jIav/8QAGBEAAgMAAAAAAAAAAAAAAAAAABEBAjH/2gAIAQIBAT8Bb0mp/8QAGhAAAgMBAQAAAAAAAAAAAAAAAAERIVEiQf/aAAgBAQAGPwJR7pakoo0fKP/EABsQAQACAgMAAAAAAAAAAAAAAAEAESFBMVFx/9oACAEBAAE/IQjPKrhyB9EYBogSYAwwa6VCFu3P/9oADAMBAAIAAwAAABBQL//EABcRAAMBAAAAAAAAAAAAAAAAAAABETH/2gAIAQMBAT8QWskin//EABgRAQEAAwAAAAAAAAAAAAAAAAEAESFB/9oACAECAQE/EBDuTOr/xAAbEAEAAwADAQAAAAAAAAAAAAABABEhMUGRUf/aAAgBAQABPxCrM2S48g7JcHSvYq4Qxb2upyDBQVv2L1asmh8hwYKaWf/Z","aspectRatio":1.4954128440366972,"src":"/static/730f1c48e049304c0d0cd68f1d0e3d28/1dc0b/hero.jpg","srcSet":"/static/730f1c48e049304c0d0cd68f1d0e3d28/3a5ce/hero.jpg 163w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/05730/hero.jpg 327w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/1dc0b/hero.jpg 653w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/f72c7/hero.jpg 980w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/6e4a3/hero.jpg 1306w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/e3277/hero.jpg 2250w","srcWebp":"/static/730f1c48e049304c0d0cd68f1d0e3d28/0acdf/hero.webp","srcSetWebp":"/static/730f1c48e049304c0d0cd68f1d0e3d28/ac59e/hero.webp 163w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/7660b/hero.webp 327w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/0acdf/hero.webp 653w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/75470/hero.webp 980w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/68d47/hero.webp 1306w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/d168a/hero.webp 2250w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAADBf/EABUBAQEAAAAAAAAAAAAAAAAAAAME/9oADAMBAAIQAxAAAAEm7zrPxZUVP//EABoQAAMBAAMAAAAAAAAAAAAAAAECEgMAERP/2gAIAQEAAQUCujC9aAB/FQNQF4zCv//EABgRAQEAAwAAAAAAAAAAAAAAAAEAAxEi/9oACAEDAQE/AUB5jIav/8QAGBEAAgMAAAAAAAAAAAAAAAAAABEBAjH/2gAIAQIBAT8Bb0mp/8QAGhAAAgMBAQAAAAAAAAAAAAAAAAERIVEiQf/aAAgBAQAGPwJR7pakoo0fKP/EABsQAQACAgMAAAAAAAAAAAAAAAEAESFBMVFx/9oACAEBAAE/IQjPKrhyB9EYBogSYAwwa6VCFu3P/9oADAMBAAIAAwAAABBQL//EABcRAAMBAAAAAAAAAAAAAAAAAAABETH/2gAIAQMBAT8QWskin//EABgRAQEAAwAAAAAAAAAAAAAAAAEAESFB/9oACAECAQE/EBDuTOr/xAAbEAEAAwADAQAAAAAAAAAAAAABABEhMUGRUf/aAAgBAQABPxCrM2S48g7JcHSvYq4Qxb2upyDBQVv2L1asmh8hwYKaWf/Z","aspectRatio":1.5,"src":"/static/730f1c48e049304c0d0cd68f1d0e3d28/eaa58/hero.jpg","srcSet":"/static/730f1c48e049304c0d0cd68f1d0e3d28/5a3ee/hero.jpg 114w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/41f8f/hero.jpg 229w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/eaa58/hero.jpg 457w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/c309b/hero.jpg 686w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/e3008/hero.jpg 914w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/e3277/hero.jpg 2250w","srcWebp":"/static/730f1c48e049304c0d0cd68f1d0e3d28/15384/hero.webp","srcSetWebp":"/static/730f1c48e049304c0d0cd68f1d0e3d28/31fce/hero.webp 114w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/e3e25/hero.webp 229w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/15384/hero.webp 457w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/0258d/hero.webp 686w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/64ea2/hero.webp 914w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/d168a/hero.webp 2250w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/730f1c48e049304c0d0cd68f1d0e3d28/0ff54/hero.jpg"}}},{"id":"e903c32f-5efc-5146-9483-5b8258836127","slug":"/2020-05-26-personal-configuration-of-some-dotfile-files","secret":false,"title":"关于我个人的一些 `dotfile` 文件的配置","author":"Bryan Lee","date":"May 26th, 2020","dateForSEO":"2020-05-26T00:00:00.000Z","timeToRead":1,"excerpt":"我个人喜欢将配置项尽可能地归类放置，完全是出于个人喜好，再譬如一些配置项出于个人习惯就没有按照上面的规则进行放置，比如 `[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh` 这行代码，所以可以作为参考，但并不代表说我的配置风格就是最好的、完美的。","canonical_url":null,"subscription":true,"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/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"关于我个人的一些 `dotfile` 文件的配置\",\n  \"slug\": \"2020-05-26-personal-configuration-of-some-dotfile-files\",\n  \"author\": \"Bryan Lee\",\n  \"date\": \"2020-05-26T00:00:00.000Z\",\n  \"hero\": \"./images/hero.jpeg\",\n  \"excerpt\": \"我个人喜欢将配置项尽可能地归类放置，完全是出于个人喜好，再譬如一些配置项出于个人习惯就没有按照上面的规则进行放置，比如 `[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh` 这行代码，所以可以作为参考，但并不代表说我的配置风格就是最好的、完美的。\",\n  \"tags\": [\"Oh My ZSH\", \"Powerlevel10k\", \"Vim\"]\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(\"details\", null, mdx(\"summary\", null, mdx(\"strong\", null, \"\\u6587\\u4EF6\\u6C47\\u603B\")), mdx(\"p\", null, \"  \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://gist.githubusercontent.com/liby/772fe930e54f30ae82821d8be133facb/raw/.vimrc\",\n    \"title\": \"我的 Vim 配置\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \".vimrc\")), mdx(\"hr\", null), mdx(\"p\", null, \"  \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://gist.githubusercontent.com/liby/772fe930e54f30ae82821d8be133facb/raw/.zshrc\",\n    \"title\": \"我的 Oh My ZSH 配置\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \".zshrc\"))), mdx(\"h2\", {\n    \"id\": \"有几个需要注意的地方\"\n  }, \"\\u6709\\u51E0\\u4E2A\\u9700\\u8981\\u6CE8\\u610F\\u7684\\u5730\\u65B9\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u5982\\u679C\\u60F3\\u8981\\u542F\\u7528 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/romkatv/powerlevel10k\",\n    \"title\": \"Powerlevel10k 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"Powerlevel10k\"), \" \\u7684 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/romkatv/powerlevel10k#how-do-i-enable-instant-prompt\",\n    \"title\": \"有关 instant prompt 的文档说明\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"instant prompt\"), \" \\u529F\\u80FD\\uFF0C\\u90A3\\u4E48\\u5FC5\\u987B\\u5C06\\u4E0B\\u5217\\u914D\\u7F6E\\u9879\\u653E\\u7F6E\\u5728 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"~/.zshrc\"), \" \\u6587\\u4EF6\\u9876\\u90E8\\u3002\"), mdx(\"pre\", {\n    parentName: \"li\"\n  }, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-sh\"\n  }), \"# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.\\n# Initialization code that may require console input (password prompts, [y/n]\\n# confirmations, etc.) must go above this block; everything else may go below.\\nif [[ -r \\\"${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh\\\" ]]; then\\n  source \\\"${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh\\\"\\nfi\\n\"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u9700\\u8981 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"export\"), \" \\u76F8\\u5173\\u7684\\u8BBE\\u7F6E\\u5C3D\\u91CF\\u653E\\u5728\\u5176\\u4ED6\\u914D\\u7F6E\\u9879\\u4E4B\\u524D\\uFF0C\\u907F\\u514D\\u51FA\\u73B0\\u540E\\u7EED\\u914D\\u7F6E\\u9879\\u9700\\u8981\\u7528\\u5230\\u5BFC\\u51FA\\u7684\\u53D8\\u91CF\\u5374\\u53D1\\u73B0\\u627E\\u4E0D\\u5230\\u7684\\u60C5\\u51B5\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source\"), \" \\u6709\\u5173\\u7684\\u914D\\u7F6E\\u9879\\u5728\\u6211\\u770B\\u6765\\u57FA\\u672C\\u662F\\u5F15\\u5165\\u4E00\\u4E9B\\u5176\\u4ED6\\u6587\\u4EF6\\u4E2D\\uFF08\\u6BD4\\u5982 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/autojump\",\n    \"title\": \"autojump 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"autojump\"), \" \\u8FD9\\u4E2A\\u63D2\\u4EF6\\u7684\\u52A0\\u8F7D\\uFF09\\u7684\\u914D\\u7F6E\\uFF0C\\u6240\\u4EE5\\u4E60\\u60EF\\u5C06\\u5B83\\u653E\\u5728 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"plugins\"), \" \\u914D\\u7F6E\\u9879\\u7684\\u540E\\u9762\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"alias\"), \" \\u76F8\\u5173\\u7684\\u914D\\u7F6E\\u6700\\u597D\\u653E\\u5230\\u6700\\u540E\\uFF0C\\u6BD4\\u5982 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"alias ll='ls -alFh'\"), \" \\u5982\\u679C\\u653E\\u5728 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source $ZSH/oh-my-zsh.sh\"), \" \\u4E4B\\u524D\\uFF0C\\u90A3\\u4E48\\u5C31\\u4F1A\\u88AB\\u8986\\u76D6\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u6211\\u4E2A\\u4EBA\\u559C\\u6B22\\u5C06\\u914D\\u7F6E\\u9879\\u5C3D\\u53EF\\u80FD\\u5730\\u5F52\\u7C7B\\u653E\\u7F6E\\uFF0C\\u5B8C\\u5168\\u662F\\u51FA\\u4E8E\\u4E2A\\u4EBA\\u559C\\u597D\\uFF0C\\u518D\\u8B6C\\u5982\\u4E00\\u4E9B\\u914D\\u7F6E\\u9879\\u51FA\\u4E8E\\u4E2A\\u4EBA\\u4E60\\u60EF\\u5C31\\u6CA1\\u6709\\u6309\\u7167\\u4E0A\\u9762\\u7684\\u89C4\\u5219\\u8FDB\\u884C\\u653E\\u7F6E\\uFF0C\\u6BD4\\u5982 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh\"), \" \\u8FD9\\u884C\\u4EE3\\u7801\\uFF0C\\u6240\\u4EE5\\u53EF\\u4EE5\\u4F5C\\u4E3A\\u53C2\\u8003\\uFF0C\\u4F46\\u5E76\\u4E0D\\u4EE3\\u8868\\u8BF4\\u6211\\u7684\\u914D\\u7F6E\\u98CE\\u683C\\u5C31\\u662F\\u6700\\u597D\\u7684\\u3001\\u5B8C\\u7F8E\\u7684\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Vim \\u7684\\u914D\\u7F6E\\u76F8\\u8F83\\u6765\\u8BF4\\u6BD4\\u8F83\\u7B80\\u5355\\uFF0C\\u6211\\u8BA4\\u4E3A\\u9664\\u4E86\\u4EE5\\u4E0B\\u914D\\u7F6E\\u5916\\u5176\\u4ED6\\u914D\\u7F6E\\u9879\\u90FD\\u4E0D\\u662F\\u5FC5\\u9700\\u7684\\uFF0C\\u6839\\u636E\\u81EA\\u5DF1\\u9700\\u6C42\\u548C\\u559C\\u597D\\u589E\\u5220\\u5C31\\u53EF\\u4EE5\\u4E86\\uFF1A\"), mdx(\"pre\", {\n    parentName: \"li\"\n  }, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-vim\"\n  }), \"\\\" \\u663E\\u793A\\u884C\\u53F7\\nset number\\n\\\" \\u8BED\\u6CD5\\u9AD8\\u4EAE\\u663E\\u793A\\nsyntax on\\n\\\" \\u542F\\u7528\\u81EA\\u52A8\\u5BF9\\u9F50\\u529F\\u80FD\\uFF0C\\u628A\\u4E0A\\u4E00\\u884C\\u7684\\u5BF9\\u9F50\\u683C\\u5F0F\\u5E94\\u7528\\u5230\\u4E0B\\u4E00\\u884C\\nset autoindent\\n\\\" \\u8BBE\\u7F6E\\u663E\\u793A\\u5236\\u8868\\u7B26\\u7684\\u7A7A\\u683C\\u5B57\\u7B26\\u4E2A\\u6570,\\u6539\\u8FDB tab \\u7F29\\u8FDB\\u503C\\uFF0C\\u9ED8\\u8BA4\\u4E3A 8\\uFF0C\\u73B0\\u6539\\u4E3A 2\\nset tabstop=2\\n\\\" \\u663E\\u793A\\u5339\\u914D\\u7684\\u62EC\\u53F7\\nset showmatch\\n\"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u4E0B\\u9762\\u7684\\u914D\\u7F6E\\u662F\\u4E3A\\u4E86\\u5728 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/gnachman/iTerm2\",\n    \"title\": \"iTerm2 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"iTerm2\"), \" \\u4E2D\\u8BA9\\u5149\\u6807\\u5728 insert \\u6A21\\u5F0F\\u548C normal \\u6A21\\u5F0F\\u4E0B\\u663E\\u793A\\u4E0D\\u540C\\u7684\\u6837\\u5F0F\\uFF0C\\u53EF\\u4EE5\\u6839\\u636E\\u4E2A\\u4EBA\\u9700\\u6C42\\u81EA\\u884C\\u9009\\u62E9\\u662F\\u5426\\u4FDD\\u7559\"), mdx(\"pre\", {\n    parentName: \"li\"\n  }, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-vim\"\n  }), \"\\\" Change cursor shape between insert and normal mode in iTerm2.app\\nif $TERM_PROGRAM =~ \\\"iTerm\\\"\\n    let &t_SI = \\\"\\\\<Esc>]50;CursorShape=1\\\\x7\\\" \\\" Vertical bar in insert mode\\n    let &t_EI = \\\"\\\\<Esc>]50;CursorShape=0\\\\x7\\\" \\\" Block in normal mode\\nendif\\n\")))));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAECAwQF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAGxc7ZcogH/xAAZEAADAQEBAAAAAAAAAAAAAAAAAQIREhP/2gAIAQEAAQUC9Jkdtm0Tbdc6kmf/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEv/aAAgBAwEBPwGlP//EABYRAQEBAAAAAAAAAAAAAAAAAAAREv/aAAgBAgEBPwHKP//EABoQAQACAwEAAAAAAAAAAAAAAAABIQIRMTL/2gAIAQEABj8CrUPSslpdf//EABwQAAICAgMAAAAAAAAAAAAAAAABETEhQVFxof/aAAgBAQABPyGKkuK4LBUlyQXNdEKQUNpemQtHFH//2gAMAwEAAgADAAAAEAsf/8QAFxEBAAMAAAAAAAAAAAAAAAAAARARMf/aAAgBAwEBPxBq5D//xAAWEQEBAQAAAAAAAAAAAAAAAAABEBH/2gAIAQIBAT8QDk//xAAbEAEBAAMBAQEAAAAAAAAAAAABEQAhMWFBgf/aAAgBAQABPxAgEI0UPJgdlho/ce0uxHkiFDTfcF5gVJcKhJydT9z/2Q==","aspectRatio":1.5031847133757963,"src":"/static/07ddaf139bc712056f0374d91f5742de/58fe7/hero.jpg","srcSet":"/static/07ddaf139bc712056f0374d91f5742de/e0f30/hero.jpg 236w,\n/static/07ddaf139bc712056f0374d91f5742de/86afd/hero.jpg 472w,\n/static/07ddaf139bc712056f0374d91f5742de/58fe7/hero.jpg 944w,\n/static/07ddaf139bc712056f0374d91f5742de/02748/hero.jpg 1416w,\n/static/07ddaf139bc712056f0374d91f5742de/5c241/hero.jpg 1888w,\n/static/07ddaf139bc712056f0374d91f5742de/e3277/hero.jpg 2250w","srcWebp":"/static/07ddaf139bc712056f0374d91f5742de/99fbb/hero.webp","srcSetWebp":"/static/07ddaf139bc712056f0374d91f5742de/77392/hero.webp 236w,\n/static/07ddaf139bc712056f0374d91f5742de/1f177/hero.webp 472w,\n/static/07ddaf139bc712056f0374d91f5742de/99fbb/hero.webp 944w,\n/static/07ddaf139bc712056f0374d91f5742de/4a492/hero.webp 1416w,\n/static/07ddaf139bc712056f0374d91f5742de/b0b8f/hero.webp 1888w,\n/static/07ddaf139bc712056f0374d91f5742de/d168a/hero.webp 2250w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAECAwQF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAGxc7ZcogH/xAAZEAADAQEBAAAAAAAAAAAAAAAAAQIREhP/2gAIAQEAAQUC9Jkdtm0Tbdc6kmf/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEv/aAAgBAwEBPwGlP//EABYRAQEBAAAAAAAAAAAAAAAAAAAREv/aAAgBAgEBPwHKP//EABoQAQACAwEAAAAAAAAAAAAAAAABIQIRMTL/2gAIAQEABj8CrUPSslpdf//EABwQAAICAgMAAAAAAAAAAAAAAAABETEhQVFxof/aAAgBAQABPyGKkuK4LBUlyQXNdEKQUNpemQtHFH//2gAMAwEAAgADAAAAEAsf/8QAFxEBAAMAAAAAAAAAAAAAAAAAARARMf/aAAgBAwEBPxBq5D//xAAWEQEBAQAAAAAAAAAAAAAAAAABEBH/2gAIAQIBAT8QDk//xAAbEAEBAAMBAQEAAAAAAAAAAAABEQAhMWFBgf/aAAgBAQABPxAgEI0UPJgdlho/ce0uxHkiFDTfcF5gVJcKhJydT9z/2Q==","aspectRatio":1.4954128440366972,"src":"/static/07ddaf139bc712056f0374d91f5742de/1dc0b/hero.jpg","srcSet":"/static/07ddaf139bc712056f0374d91f5742de/3a5ce/hero.jpg 163w,\n/static/07ddaf139bc712056f0374d91f5742de/05730/hero.jpg 327w,\n/static/07ddaf139bc712056f0374d91f5742de/1dc0b/hero.jpg 653w,\n/static/07ddaf139bc712056f0374d91f5742de/f72c7/hero.jpg 980w,\n/static/07ddaf139bc712056f0374d91f5742de/6e4a3/hero.jpg 1306w,\n/static/07ddaf139bc712056f0374d91f5742de/e3277/hero.jpg 2250w","srcWebp":"/static/07ddaf139bc712056f0374d91f5742de/0acdf/hero.webp","srcSetWebp":"/static/07ddaf139bc712056f0374d91f5742de/ac59e/hero.webp 163w,\n/static/07ddaf139bc712056f0374d91f5742de/7660b/hero.webp 327w,\n/static/07ddaf139bc712056f0374d91f5742de/0acdf/hero.webp 653w,\n/static/07ddaf139bc712056f0374d91f5742de/75470/hero.webp 980w,\n/static/07ddaf139bc712056f0374d91f5742de/68d47/hero.webp 1306w,\n/static/07ddaf139bc712056f0374d91f5742de/d168a/hero.webp 2250w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAECAwQF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAGxc7ZcogH/xAAZEAADAQEBAAAAAAAAAAAAAAAAAQIREhP/2gAIAQEAAQUC9Jkdtm0Tbdc6kmf/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEv/aAAgBAwEBPwGlP//EABYRAQEBAAAAAAAAAAAAAAAAAAAREv/aAAgBAgEBPwHKP//EABoQAQACAwEAAAAAAAAAAAAAAAABIQIRMTL/2gAIAQEABj8CrUPSslpdf//EABwQAAICAgMAAAAAAAAAAAAAAAABETEhQVFxof/aAAgBAQABPyGKkuK4LBUlyQXNdEKQUNpemQtHFH//2gAMAwEAAgADAAAAEAsf/8QAFxEBAAMAAAAAAAAAAAAAAAAAARARMf/aAAgBAwEBPxBq5D//xAAWEQEBAQAAAAAAAAAAAAAAAAABEBH/2gAIAQIBAT8QDk//xAAbEAEBAAMBAQEAAAAAAAAAAAABEQAhMWFBgf/aAAgBAQABPxAgEI0UPJgdlho/ce0uxHkiFDTfcF5gVJcKhJydT9z/2Q==","aspectRatio":1.5,"src":"/static/07ddaf139bc712056f0374d91f5742de/eaa58/hero.jpg","srcSet":"/static/07ddaf139bc712056f0374d91f5742de/5a3ee/hero.jpg 114w,\n/static/07ddaf139bc712056f0374d91f5742de/41f8f/hero.jpg 229w,\n/static/07ddaf139bc712056f0374d91f5742de/eaa58/hero.jpg 457w,\n/static/07ddaf139bc712056f0374d91f5742de/c309b/hero.jpg 686w,\n/static/07ddaf139bc712056f0374d91f5742de/e3008/hero.jpg 914w,\n/static/07ddaf139bc712056f0374d91f5742de/e3277/hero.jpg 2250w","srcWebp":"/static/07ddaf139bc712056f0374d91f5742de/15384/hero.webp","srcSetWebp":"/static/07ddaf139bc712056f0374d91f5742de/31fce/hero.webp 114w,\n/static/07ddaf139bc712056f0374d91f5742de/e3e25/hero.webp 229w,\n/static/07ddaf139bc712056f0374d91f5742de/15384/hero.webp 457w,\n/static/07ddaf139bc712056f0374d91f5742de/0258d/hero.webp 686w,\n/static/07ddaf139bc712056f0374d91f5742de/64ea2/hero.webp 914w,\n/static/07ddaf139bc712056f0374d91f5742de/d168a/hero.webp 2250w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/07ddaf139bc712056f0374d91f5742de/0ff54/hero.jpg"}}}],"pathPrefix":"/authors/bryan-lee","first":false,"last":false,"index":2,"pageCount":3,"additionalContext":{"author":{"authorsPage":true,"bio":"Web Developer. Now prefer TypeScript and Rust, mainly working on UED.\n","id":"7d3dbfdc-58e9-5099-b0f3-ca98ddc04463","name":"Bryan Lee","featured":true,"social":[{"url":"https://github.com/liby"},{"url":"https://twitter.com/meetliby"}],"slug":"/authors/bryan-lee","avatar":{"small":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQL/xAAWAQEBAQAAAAAAAAAAAAAAAAACAwH/2gAMAwEAAhADEAAAAe5VadK7YMR0wPUBz//EABwQAAMBAAIDAAAAAAAAAAAAAAECAwAEEhEhMv/aAAgBAQABBQKXVcWnTBnnrwHYIGI40tRj5j9A+v/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABgRAAIDAAAAAAAAAAAAAAAAAAABEBFR/9oACAECAQE/AWi0bH//xAAfEAACAgIBBQAAAAAAAAAAAAAAAREhAhIQMkFRcYH/2gAIAQEABj8Czy26nRqx4ryTM3MCruXL+jPfH//EABsQAAMBAQEBAQAAAAAAAAAAAAABESExUUGB/9oACAEBAAE/IciyprpKg3+DnlXilF99PwgGhJan1sVAzTb6Y4f/2gAMAwEAAgADAAAAEF/4/wD/xAAXEQEBAQEAAAAAAAAAAAAAAAABABEx/9oACAEDAQE/EDMnscJv/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQESH/2gAIAQIBAT8Q6LsMo0//xAAgEAEBAAIBAwUAAAAAAAAAAAABEQAhMRBRYYGhweHx/9oACAEBAAE/EApBPFBUr5uXjxBXbN86azXHxMCnKLRDzJzvNcUtyQHeIVKqFX0wZktfb8x4pRs7376J/9k=","aspectRatio":1,"src":"/static/112d7159f7c020bdec3bdf12fb558466/fa1ea/bryan-lee.jpg","srcSet":"/static/112d7159f7c020bdec3bdf12fb558466/afb2b/bryan-lee.jpg 13w,\n/static/112d7159f7c020bdec3bdf12fb558466/7c20e/bryan-lee.jpg 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/fa1ea/bryan-lee.jpg 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/03612/bryan-lee.jpg 75w,\n/static/112d7159f7c020bdec3bdf12fb558466/61cdf/bryan-lee.jpg 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/f86e8/bryan-lee.jpg 460w","srcWebp":"/static/112d7159f7c020bdec3bdf12fb558466/e7b2c/bryan-lee.webp","srcSetWebp":"/static/112d7159f7c020bdec3bdf12fb558466/58718/bryan-lee.webp 13w,\n/static/112d7159f7c020bdec3bdf12fb558466/74aad/bryan-lee.webp 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/e7b2c/bryan-lee.webp 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/ed320/bryan-lee.webp 75w,\n/static/112d7159f7c020bdec3bdf12fb558466/66016/bryan-lee.webp 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/d908f/bryan-lee.webp 460w","sizes":"(max-width: 50px) 100vw, 50px"},"medium":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQL/xAAWAQEBAQAAAAAAAAAAAAAAAAACAwH/2gAMAwEAAhADEAAAAe5VadK7YMR0wPUBz//EABwQAAMBAAIDAAAAAAAAAAAAAAECAwAEEhEhMv/aAAgBAQABBQKXVcWnTBnnrwHYIGI40tRj5j9A+v/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABgRAAIDAAAAAAAAAAAAAAAAAAABEBFR/9oACAECAQE/AWi0bH//xAAfEAACAgIBBQAAAAAAAAAAAAAAAREhAhIQMkFRcYH/2gAIAQEABj8Czy26nRqx4ryTM3MCruXL+jPfH//EABsQAAMBAQEBAQAAAAAAAAAAAAABESExUUGB/9oACAEBAAE/IciyprpKg3+DnlXilF99PwgGhJan1sVAzTb6Y4f/2gAMAwEAAgADAAAAEF/4/wD/xAAXEQEBAQEAAAAAAAAAAAAAAAABABEx/9oACAEDAQE/EDMnscJv/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQESH/2gAIAQIBAT8Q6LsMo0//xAAgEAEBAAIBAwUAAAAAAAAAAAABEQAhMRBRYYGhweHx/9oACAEBAAE/EApBPFBUr5uXjxBXbN86azXHxMCnKLRDzJzvNcUtyQHeIVKqFX0wZktfb8x4pRs7376J/9k=","aspectRatio":1,"src":"/static/112d7159f7c020bdec3bdf12fb558466/61cdf/bryan-lee.jpg","srcSet":"/static/112d7159f7c020bdec3bdf12fb558466/7c20e/bryan-lee.jpg 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/fa1ea/bryan-lee.jpg 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/61cdf/bryan-lee.jpg 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/59538/bryan-lee.jpg 150w,\n/static/112d7159f7c020bdec3bdf12fb558466/fd013/bryan-lee.jpg 200w,\n/static/112d7159f7c020bdec3bdf12fb558466/f86e8/bryan-lee.jpg 460w","srcWebp":"/static/112d7159f7c020bdec3bdf12fb558466/66016/bryan-lee.webp","srcSetWebp":"/static/112d7159f7c020bdec3bdf12fb558466/74aad/bryan-lee.webp 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/e7b2c/bryan-lee.webp 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/66016/bryan-lee.webp 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/d9b14/bryan-lee.webp 150w,\n/static/112d7159f7c020bdec3bdf12fb558466/6b183/bryan-lee.webp 200w,\n/static/112d7159f7c020bdec3bdf12fb558466/d908f/bryan-lee.webp 460w","sizes":"(max-width: 100px) 100vw, 100px"},"large":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQL/xAAWAQEBAQAAAAAAAAAAAAAAAAACAwH/2gAMAwEAAhADEAAAAe5VadK7YMR0wPUBz//EABwQAAMBAAIDAAAAAAAAAAAAAAECAwAEEhEhMv/aAAgBAQABBQKXVcWnTBnnrwHYIGI40tRj5j9A+v/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABgRAAIDAAAAAAAAAAAAAAAAAAABEBFR/9oACAECAQE/AWi0bH//xAAfEAACAgIBBQAAAAAAAAAAAAAAAREhAhIQMkFRcYH/2gAIAQEABj8Czy26nRqx4ryTM3MCruXL+jPfH//EABsQAAMBAQEBAQAAAAAAAAAAAAABESExUUGB/9oACAEBAAE/IciyprpKg3+DnlXilF99PwgGhJan1sVAzTb6Y4f/2gAMAwEAAgADAAAAEF/4/wD/xAAXEQEBAQEAAAAAAAAAAAAAAAABABEx/9oACAEDAQE/EDMnscJv/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQESH/2gAIAQIBAT8Q6LsMo0//xAAgEAEBAAIBAwUAAAAAAAAAAAABEQAhMRBRYYGhweHx/9oACAEBAAE/EApBPFBUr5uXjxBXbN86azXHxMCnKLRDzJzvNcUtyQHeIVKqFX0wZktfb8x4pRs7376J/9k=","aspectRatio":1,"src":"/static/112d7159f7c020bdec3bdf12fb558466/ec46e/bryan-lee.jpg","srcSet":"/static/112d7159f7c020bdec3bdf12fb558466/a2637/bryan-lee.jpg 82w,\n/static/112d7159f7c020bdec3bdf12fb558466/15203/bryan-lee.jpg 164w,\n/static/112d7159f7c020bdec3bdf12fb558466/ec46e/bryan-lee.jpg 328w,\n/static/112d7159f7c020bdec3bdf12fb558466/f86e8/bryan-lee.jpg 460w","srcWebp":"/static/112d7159f7c020bdec3bdf12fb558466/5a48e/bryan-lee.webp","srcSetWebp":"/static/112d7159f7c020bdec3bdf12fb558466/2d087/bryan-lee.webp 82w,\n/static/112d7159f7c020bdec3bdf12fb558466/29d87/bryan-lee.webp 164w,\n/static/112d7159f7c020bdec3bdf12fb558466/5a48e/bryan-lee.webp 328w,\n/static/112d7159f7c020bdec3bdf12fb558466/d908f/bryan-lee.webp 460w","sizes":"(max-width: 328px) 100vw, 328px"}}},"originalPath":"/authors/authors-bryan-lee","skip":6,"limit":6}}},"staticQueryHashes":["1143375668","1491088328","2444214635"]}