因为本站对 markdown 的支持问题
所以放代码页面
点击 ### 效果预览 查看
html 代码
- <!DOCTYPE html>
- <!-- saved from url=(0049)file:///C:/users/msi~1/appdata/local/temp/19.html -->
- <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><style>@font-face {
- font-family: octicons-anchor;
- src: url(data:font/woff;charset=utf-8;base64,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) format('woff');
- }
- * {
- box-sizing: border-box;
- }
- body {
- width: 980px;
- margin-right: auto;
- margin-left: auto;
- }
- body .markdown-body {
- padding: 45px;
- border: 1px solid #ddd;
- border-radius: 3px;
- word-wrap: break-word;
- }
- pre {
- font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace;
- }
- .markdown-body {
- -webkit-text-size-adjust: 100%;
- text-size-adjust: 100%;
- color: #333;
- font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
- font-size: 16px;
- line-height: 1.6;
- word-wrap: break-word;
- }
- .markdown-body a {
- background-color: transparent;
- }
- .markdown-body a:active,
- .markdown-body a:hover {
- outline: 0;
- }
- .markdown-body strong {
- font-weight: bold;
- }
- .markdown-body h1 {
- font-size: 2em;
- margin: 0.67em 0;
- }
- .markdown-body img {
- border: 0;
- }
- .markdown-body hr {
- box-sizing: content-box;
- height: 0;
- }
- .markdown-body pre {
- overflow: auto;
- }
- .markdown-body code,
- .markdown-body kbd,
- .markdown-body pre {
- font-family: monospace, monospace;
- font-size: 1em;
- }
- .markdown-body input {
- color: inherit;
- font: inherit;
- margin: 0;
- }
- .markdown-body html input[disabled] {
- cursor: default;
- }
- .markdown-body input {
- line-height: normal;
- }
- .markdown-body input[type="checkbox"] {
- box-sizing: border-box;
- padding: 0;
- }
- .markdown-body table {
- border-collapse: collapse;
- border-spacing: 0;
- }
- .markdown-body td,
- .markdown-body th {
- padding: 0;
- }
- .markdown-body input {
- font: 13px / 1.4 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
- }
- .markdown-body a {
- color: #4078c0;
- text-decoration: none;
- }
- .markdown-body a:hover,
- .markdown-body a:active {
- text-decoration: underline;
- }
- .markdown-body hr {
- height: 0;
- margin: 15px 0;
- overflow: hidden;
- background: transparent;
- border: 0;
- border-bottom: 1px solid #ddd;
- }
- .markdown-body hr:before {
- display: table;
- content: "";
- }
- .markdown-body hr:after {
- display: table;
- clear: both;
- content: "";
- }
- .markdown-body h1,
- .markdown-body h2,
- .markdown-body h3,
- .markdown-body h4,
- .markdown-body h5,
- .markdown-body h6 {
- margin-top: 15px;
- margin-bottom: 15px;
- line-height: 1.1;
- }
- .markdown-body h1 {
- font-size: 30px;
- }
- .markdown-body h2 {
- font-size: 21px;
- }
- .markdown-body h3 {
- font-size: 16px;
- }
- .markdown-body h4 {
- font-size: 14px;
- }
- .markdown-body h5 {
- font-size: 12px;
- }
- .markdown-body h6 {
- font-size: 11px;
- }
- .markdown-body blockquote {
- margin: 0;
- }
- .markdown-body ul,
- .markdown-body ol {
- padding: 0;
- margin-top: 0;
- margin-bottom: 0;
- }
- .markdown-body ol ol,
- .markdown-body ul ol {
- list-style-type: lower-roman;
- }
- .markdown-body ul ul ol,
- .markdown-body ul ol ol,
- .markdown-body ol ul ol,
- .markdown-body ol ol ol {
- list-style-type: lower-alpha;
- }
- .markdown-body dd {
- margin-left: 0;
- }
- .markdown-body code {
- font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
- font-size: 12px;
- }
- .markdown-body pre {
- margin-top: 0;
- margin-bottom: 0;
- font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace;
- }
- .markdown-body .select::-ms-expand {
- opacity: 0;
- }
- .markdown-body .octicon {
- font: normal normal normal 16px/1 octicons-anchor;
- display: inline-block;
- text-decoration: none;
- text-rendering: auto;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- }
- .markdown-body .octicon-link:before {
- content: '\f05c';
- }
- .markdown-body:before {
- display: table;
- content: "";
- }
- .markdown-body:after {
- display: table;
- clear: both;
- content: "";
- }
- .markdown-body>*:first-child {
- margin-top: 0 !important;
- }
- .markdown-body>*:last-child {
- margin-bottom: 0 !important;
- }
- .markdown-body a:not([href]) {
- color: inherit;
- text-decoration: none;
- }
- .markdown-body .anchor {
- display: inline-block;
- padding-right: 2px;
- margin-left: -18px;
- }
- .markdown-body .anchor:focus {
- outline: none;
- }
- .markdown-body h1,
- .markdown-body h2,
- .markdown-body h3,
- .markdown-body h4,
- .markdown-body h5,
- .markdown-body h6 {
- margin-top: 1em;
- margin-bottom: 16px;
- font-weight: bold;
- line-height: 1.4;
- }
- .markdown-body h1 .octicon-link,
- .markdown-body h2 .octicon-link,
- .markdown-body h3 .octicon-link,
- .markdown-body h4 .octicon-link,
- .markdown-body h5 .octicon-link,
- .markdown-body h6 .octicon-link {
- color: #000;
- vertical-align: middle;
- visibility: hidden;
- }
- .markdown-body h1:hover .anchor,
- .markdown-body h2:hover .anchor,
- .markdown-body h3:hover .anchor,
- .markdown-body h4:hover .anchor,
- .markdown-body h5:hover .anchor,
- .markdown-body h6:hover .anchor {
- text-decoration: none;
- }
- .markdown-body h1:hover .anchor .octicon-link,
- .markdown-body h2:hover .anchor .octicon-link,
- .markdown-body h3:hover .anchor .octicon-link,
- .markdown-body h4:hover .anchor .octicon-link,
- .markdown-body h5:hover .anchor .octicon-link,
- .markdown-body h6:hover .anchor .octicon-link {
- visibility: visible;
- }
- .markdown-body h1 {
- padding-bottom: 0.3em;
- font-size: 2.25em;
- line-height: 1.2;
- border-bottom: 1px solid #eee;
- }
- .markdown-body h1 .anchor {
- line-height: 1;
- }
- .markdown-body h2 {
- padding-bottom: 0.3em;
- font-size: 1.75em;
- line-height: 1.225;
- border-bottom: 1px solid #eee;
- }
- .markdown-body h2 .anchor {
- line-height: 1;
- }
- .markdown-body h3 {
- font-size: 1.5em;
- line-height: 1.43;
- }
- .markdown-body h3 .anchor {
- line-height: 1.2;
- }
- .markdown-body h4 {
- font-size: 1.25em;
- }
- .markdown-body h4 .anchor {
- line-height: 1.2;
- }
- .markdown-body h5 {
- font-size: 1em;
- }
- .markdown-body h5 .anchor {
- line-height: 1.1;
- }
- .markdown-body h6 {
- font-size: 1em;
- color: #777;
- }
- .markdown-body h6 .anchor {
- line-height: 1.1;
- }
- .markdown-body p,
- .markdown-body blockquote,
- .markdown-body ul,
- .markdown-body ol,
- .markdown-body dl,
- .markdown-body table,
- .markdown-body pre {
- margin-top: 0;
- margin-bottom: 16px;
- }
- .markdown-body hr {
- height: 4px;
- padding: 0;
- margin: 16px 0;
- background-color: #e7e7e7;
- border: 0 none;
- }
- .markdown-body ul,
- .markdown-body ol {
- padding-left: 2em;
- }
- .markdown-body ul ul,
- .markdown-body ul ol,
- .markdown-body ol ol,
- .markdown-body ol ul {
- margin-top: 0;
- margin-bottom: 0;
- }
- .markdown-body li>p {
- margin-top: 16px;
- }
- .markdown-body dl {
- padding: 0;
- }
- .markdown-body dl dt {
- padding: 0;
- margin-top: 16px;
- font-size: 1em;
- font-style: italic;
- font-weight: bold;
- }
- .markdown-body dl dd {
- padding: 0 16px;
- margin-bottom: 16px;
- }
- .markdown-body blockquote {
- padding: 0 15px;
- color: #777;
- border-left: 4px solid #ddd;
- }
- .markdown-body blockquote>:first-child {
- margin-top: 0;
- }
- .markdown-body blockquote>:last-child {
- margin-bottom: 0;
- }
- .markdown-body table {
- display: block;
- width: 100%;
- overflow: auto;
- word-break: normal;
- word-break: keep-all;
- }
- .markdown-body table th {
- font-weight: bold;
- }
- .markdown-body table th,
- .markdown-body table td {
- padding: 6px 13px;
- border: 1px solid #ddd;
- }
- .markdown-body table tr {
- background-color: #fff;
- border-top: 1px solid #ccc;
- }
- .markdown-body table tr:nth-child(2n) {
- background-color: #f8f8f8;
- }
- .markdown-body img {
- max-width: 100%;
- box-sizing: content-box;
- background-color: #fff;
- }
- .markdown-body code {
- padding: 0;
- padding-top: 0.2em;
- padding-bottom: 0.2em;
- margin: 0;
- font-size: 85%;
- background-color: rgba(0,0,0,0.04);
- border-radius: 3px;
- }
- .markdown-body code:before,
- .markdown-body code:after {
- letter-spacing: -0.2em;
- content: "\00a0";
- }
- .markdown-body pre>code {
- padding: 0;
- margin: 0;
- font-size: 100%;
- word-break: normal;
- white-space: pre;
- background: transparent;
- border: 0;
- }
- .markdown-body .highlight {
- margin-bottom: 16px;
- }
- .markdown-body .highlight pre,
- .markdown-body pre {
- padding: 16px;
- overflow: auto;
- font-size: 85%;
- line-height: 1.45;
- background-color: #f7f7f7;
- border-radius: 3px;
- }
- .markdown-body .highlight pre {
- margin-bottom: 0;
- word-break: normal;
- }
- .markdown-body pre {
- word-wrap: normal;
- }
- .markdown-body pre code {
- display: inline;
- max-width: initial;
- padding: 0;
- margin: 0;
- overflow: initial;
- line-height: inherit;
- word-wrap: normal;
- background-color: transparent;
- border: 0;
- }
- .markdown-body pre code:before,
- .markdown-body pre code:after {
- content: normal;
- }
- .markdown-body kbd {
- display: inline-block;
- padding: 3px 5px;
- font-size: 11px;
- line-height: 10px;
- color: #555;
- vertical-align: middle;
- background-color: #fcfcfc;
- border: solid 1px #ccc;
- border-bottom-color: #bbb;
- border-radius: 3px;
- box-shadow: inset 0 -1px 0 #bbb;
- }
- .markdown-body .pl-c {
- color: #969896;
- }
- .markdown-body .pl-c1,
- .markdown-body .pl-s .pl-v {
- color: #0086b3;
- }
- .markdown-body .pl-e,
- .markdown-body .pl-en {
- color: #795da3;
- }
- .markdown-body .pl-s .pl-s1,
- .markdown-body .pl-smi {
- color: #333;
- }
- .markdown-body .pl-ent {
- color: #63a35c;
- }
- .markdown-body .pl-k {
- color: #a71d5d;
- }
- .markdown-body .pl-pds,
- .markdown-body .pl-s,
- .markdown-body .pl-s .pl-pse .pl-s1,
- .markdown-body .pl-sr,
- .markdown-body .pl-sr .pl-cce,
- .markdown-body .pl-sr .pl-sra,
- .markdown-body .pl-sr .pl-sre {
- color: #183691;
- }
- .markdown-body .pl-v {
- color: #ed6a43;
- }
- .markdown-body .pl-id {
- color: #b52a1d;
- }
- .markdown-body .pl-ii {
- background-color: #b52a1d;
- color: #f8f8f8;
- }
- .markdown-body .pl-sr .pl-cce {
- color: #63a35c;
- font-weight: bold;
- }
- .markdown-body .pl-ml {
- color: #693a17;
- }
- .markdown-body .pl-mh,
- .markdown-body .pl-mh .pl-en,
- .markdown-body .pl-ms {
- color: #1d3e81;
- font-weight: bold;
- }
- .markdown-body .pl-mq {
- color: #008080;
- }
- .markdown-body .pl-mi {
- color: #333;
- font-style: italic;
- }
- .markdown-body .pl-mb {
- color: #333;
- font-weight: bold;
- }
- .markdown-body .pl-md {
- background-color: #ffecec;
- color: #bd2c00;
- }
- .markdown-body .pl-mi1 {
- background-color: #eaffea;
- color: #55a532;
- }
- .markdown-body .pl-mdr {
- color: #795da3;
- font-weight: bold;
- }
- .markdown-body .pl-mo {
- color: #1d3e81;
- }
- .markdown-body kbd {
- display: inline-block;
- padding: 3px 5px;
- font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace;
- line-height: 10px;
- color: #555;
- vertical-align: middle;
- background-color: #fcfcfc;
- border: solid 1px #ccc;
- border-bottom-color: #bbb;
- border-radius: 3px;
- box-shadow: inset 0 -1px 0 #bbb;
- }
- .markdown-body .plan-price-unit {
- color: #767676;
- font-weight: normal;
- }
- .markdown-body .task-list-item {
- list-style-type: none;
- }
- .markdown-body .task-list-item+.task-list-item {
- margin-top: 3px;
- }
- .markdown-body .task-list-item input {
- margin: 0 0.35em 0.25em -1.6em;
- vertical-align: middle;
- }
- .markdown-body .plan-choice {
- padding: 15px;
- padding-left: 40px;
- display: block;
- border: 1px solid #e0e0e0;
- position: relative;
- font-weight: normal;
- background-color: #fafafa;
- }
- .markdown-body .plan-choice.open {
- background-color: #fff;
- }
- .markdown-body .plan-choice.open .plan-choice-seat-breakdown {
- display: block;
- }
- .markdown-body .plan-choice-free {
- border-radius: 3px 3px 0 0;
- }
- .markdown-body .plan-choice-paid {
- border-radius: 0 0 3px 3px;
- border-top: 0;
- margin-bottom: 20px;
- }
- .markdown-body .plan-choice-radio {
- position: absolute;
- left: 15px;
- top: 18px;
- }
- .markdown-body .plan-choice-exp {
- color: #999;
- font-size: 12px;
- margin-top: 5px;
- }
- .markdown-body .plan-choice-seat-breakdown {
- margin-top: 10px;
- display: none;
- }
- .markdown-body :checked+.radio-label {
- z-index: 1;
- position: relative;
- border-color: #4078c0;
- }
- </style><title># 复制粘贴</title></head><body><article class="markdown-body"><p > 打算将开发的主环境迁移到 Linux 系统上, 所以空闲时间开始慢慢折腾了.</p>
- <p > 目前的进度是在 < code>Virtualbox</code > 上面安装了 < code>Ubuntu 16.0.4</code > 系统, 安装了中文输入法,<code>Sublime Text</code > 编辑器以及相关开发插件, 安装了 < code>Nodejs</code > 环境.</p>
- <p > 所以这里记录一下遇到的一些问题和解决方案.</p>
- <h2>
- <a id="user-content - 复制粘贴" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#复制粘贴" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 复制粘贴</h2>
- <p > 虚拟机和主机之间的复制粘贴问题.</p>
- <h3>
- <a id="user-content - 问题情境" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#问题情境" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 问题情境</h3>
- <p > 我想将 Sublime 的配置导入 Linux 环境下, 用了比较蠢的复制粘贴的方式. 但是发现竟然不起作用. 即使我将虚拟机的 <code > 设备</code> => <code > 共享粘贴板</code> => <code > 双向</code> 已经勾选.</p>
- <h3>
- <a id="user-content - 解决方法" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#解决方法" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 解决方法</h3>
- <p><code>VirtualBox</code> => <code > 存储</code> => <code > 控制器: SATA</code></p>
- <p > 勾选 <strong > 使用主机输入输出 (I/0) 缓存</strong></p>
- <p > 再点击 <code>ubuntu.vdi</code> 勾选 <strong > 固态驱动器</strong></p>
- <h3>
- <a id="user-content - 参考资料" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#参考资料" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 参考资料</h3>
- <p><a href="https://jingyan.baidu.com/article/574c521917db806c8d9dc18c.html" rel="nofollow">百度经验 - VirtualBox 主机与虚拟机不能复制粘贴的解决办法</a></p>
- <h2>
- <a id="user-content - 安装 nodejs" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#安装nodejs" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 安装 Nodejs</h2>
- <p > 以下操作都在 < code>Terminal</code > 环境中执行.</p>
- <h3>
- <a id="user-content - 下载安装包" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#下载安装包" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 下载安装包</h3>
- <pre><code>wget https://nodejs.org/dist/v8.9.1/node-v8.9.1-linux-x64.tar.xz
- </code></pre>
- <h3>
- <a id="user-content - 解压" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#解压" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 解压</h3>
- <p > 解压 < code>node-v8.9.1-linux-x64.tar.xz</code > 文件获得 < code>node-v8.9.1-linux-x64.tar</code > 文件</p>
- <p > 解压 < code>node-v8.9.1-linux-x64.tar</code > 文件获得 < code>node-v8.9.1-linux-x64</code > 文件夹</p>
- <pre><code>xz -d node-v8.9.1-linux-x64.tar.xz
- tar xvf node-v8.9.1-linux-x64.tar
- </code></pre>
- <h3>
- <a id="user-content - 移动目录" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#移动目录" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 移动目录</h3>
- <p > 将 < code>node-v8.9.1-linux-x64</code > 文件夹移动到 < code>/opt</code > 目录下并且命名为 < code>node</code > 文件夹</p>
- <pre><code>sudo mv node-v8.9.1-linux-x64 /opt/node
- </code></pre>
- <h3>
- <a id="user-content - 建立链接" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#建立链接" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 建立链接</h3>
- <p > 需要建立 node 和 npm 的链接, 这样就可以在全局环境适用 < code>node</code > 和 < code>npm</code > 命令了.</p>
- <pre><code>sudo ln -s /opt/node/bin/node /usr/local/bin/node
- sudo ln -s /opt/node/bin/npm /usr/local/bin/npm
- </code></pre>
- <h3>
- <a id="user-content - 检查版本" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#检查版本" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 检查版本</h3>
- <pre><code>node -v // => v8.9.1
- npm -v // => 5.5.1
- </code></pre>
- <h2>
- <a id="user-content - 全局安装模块失效" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#全局安装模块失效" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 全局安装模块失效</h2>
- <h3>
- <a id="user-content - 情境描述" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#情境描述" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 情境描述</h3>
- <p > 通过 < code>sudo cnpm install express-generator -g</code > 下载的模块, 然后在 < code>Terminal</code > 输入 < code>express</code > 提示找不到命令</p>
- <h3>
- <a id="user-content - 问题原因" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#问题原因" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 问题原因</h3>
- <p > 未正确设置 < code>Node</code > 的环境变量, 导致下载的全局包无法被找到.</p>
- <ol>
- <li>
- <p > 方案 1 建立链接 到 / usr/local/bin/module_name</p>
- </li>
- <li>
- <p > 方案 2 配置全局变量</p>
- </li>
- </ol>
- <h3>
- <a id="user-content - 配置全局变量" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#配置全局变量" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 配置全局变量</h3>
- <p > 使用 vim 编辑器打开 < code>/etc/profile</code></p>
- <p > 在文档最后加入</p>
- <pre><code>export $PATH=PATH:/opt/node/bin
- </code></pre>
- <p > 再修改当前用户的配置文件 < code>~/.profile</code>, 同样的操作</p>
- <p > 再执行 < code>source .profile</code > 刷新配置文件</p>
- <h3>
- <a id="user-content - 参考资料 - 1" class="anchor" href="file:///C:/users/msi~1/appdata/local/temp/19.html#参考资料-1" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a > 参考资料</h3>
- <p><a href="http://blog.techbeta.me/2015/10/nodejs-install-in-linux/" rel="nofollow">nodejs 在 linux 安装, 环境变量配置</a></p>
- </article></body></html>
来源: http://www.qdfuns.com/article/35320/3ef395fe9295d08da8e899c62686f0f7.html