<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Basic on ICCI</title><link>https://icci.ink/categories/basic/</link><description>Recent content in Basic on ICCI</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sat, 22 Feb 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://icci.ink/categories/basic/index.xml" rel="self" type="application/rss+xml"/><item><title>linux 笔记</title><link>https://icci.ink/study/code/basic-linux/</link><pubDate>Sat, 22 Feb 2025 00:00:00 +0000</pubDate><guid>https://icci.ink/study/code/basic-linux/</guid><description>&lt;p&gt;linux 简单上手&lt;/p&gt;
&lt;p&gt;Linux 英文解释为 Linux is not Unix,Linux在计算机界的地位就不必多说了，这篇文章是一篇简单入门篇，看Linux的需求是什么，选择性的学习相关的Linux知识，安装Linux的知识先不折腾了，手头上暂时没有相关的机器，也没有精力去折腾，这里直接展示怎么驾驭Linux，下面直接上正文！&lt;/p&gt;
&lt;h2 id="linux-指令"&gt;Linux 指令&lt;a class="anchor" href="#linux-%e6%8c%87%e4%bb%a4"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;首先是linux终端，什么是Linux的终端，我刚接触Linux的时候也是云里雾里的，不知所云，Linux终端就是一个窗口（支持输入命令的窗口），如图
&lt;img src="https://icci.ink/images/blog/linux.png" alt="Linux 终端窗口" /&gt;&lt;/p&gt;
&lt;p&gt;你可以在Linux的这个终端界面输入各种指令，然后他会返回指令的运行结果。
&lt;img src="https://icci.ink/images/blog/linuxcommand.png" alt="Linux 终端窗口命令" /&gt;&lt;/p&gt;
&lt;p&gt;看了上面的图片，应该会对Linux的操作方式有个大概的了解，还是不清楚也没关系，下面开始介绍一些具体操作，有条件的朋友可以拿起键盘跟着敲试试看。&lt;/p&gt;
&lt;h2 id="文件指令"&gt;文件指令&lt;a class="anchor" href="#%e6%96%87%e4%bb%b6%e6%8c%87%e4%bb%a4"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;从文件管理到文件的路径开始操作&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;查看当前目录位置&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-Shell" data-lang="Shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pwd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;在这个位置新建一个名字为test的文件夹&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;mkdir test&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;3. 进入test文件夹
~~~Shell
cd test&lt;/code&gt;&lt;/pre&gt;&lt;ol start="4"&gt;
&lt;li&gt;在test文件夹里新建text.txt文件&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-Shell" data-lang="Shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;touch text.txt&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="5"&gt;
&lt;li&gt;打开text.txt文件&lt;/li&gt;
&lt;li&gt;在text.txt文件输入12345&lt;/li&gt;
&lt;li&gt;保存text.txt文件&lt;/li&gt;
&lt;li&gt;关闭text.txt文件&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-Shell" data-lang="Shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#ae81ff"&gt;12345&lt;/span&gt; &amp;gt;&amp;gt;text.txt&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;上面三个操作这一个命令就可以完成
9. 打开文件夹，检查test文件夹以及text.txt文件内容
&lt;img src="https://icci.ink/images/blog/linux%e6%bc%94%e7%a4%ba.png" alt="Linux 演示" /&gt;&lt;/p&gt;
&lt;p&gt;关于Linux的命令很多，这个不需要去刻意的背诵记忆，常用的指令就那么几个，用多了自然就会了，冷门的指令有个印象，知道有这种命令操作就行了，等要用的时候再网上查一下就可以了。文末附录了两个速查的链接可以点击进去看看
&lt;em&gt;tips：&lt;/em&gt; 在终端界面，按下&lt;em&gt;tab键&lt;/em&gt;可以查看所有可用的命令，在命令输入一半的时候，按下Tab键可以&lt;em&gt;自动补齐命令&lt;/em&gt;，在命令太长或者记忆混乱的时候可以按下此键找点灵感。&lt;/p&gt;
&lt;h2 id="linux-命令速查"&gt;linux 命令速查&lt;a class="anchor" href="#linux-%e5%91%bd%e4%bb%a4%e9%80%9f%e6%9f%a5"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;文件管理&lt;/li&gt;
&lt;li&gt;文档编辑&lt;/li&gt;
&lt;li&gt;磁盘管理&lt;/li&gt;
&lt;li&gt;磁盘维护&lt;/li&gt;
&lt;li&gt;网络通讯&lt;/li&gt;
&lt;li&gt;系统管理&lt;/li&gt;
&lt;li&gt;系统备份&lt;/li&gt;
&lt;li&gt;备份压缩&lt;/li&gt;
&lt;li&gt;设备管理&lt;/li&gt;
&lt;li&gt;其他命令&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="参考链接"&gt;参考链接&lt;a class="anchor" href="#%e5%8f%82%e8%80%83%e9%93%be%e6%8e%a5"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://linux.cn/"&gt;linux中国&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linux.org/"&gt;linux官方&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linuxcool.com/"&gt;linux命令速查&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.runoob.com/linux/linux-command-manual.html"&gt;linux命令速查-菜鸟编程&lt;/a&gt;&lt;/p&gt;</description></item><item><title>makefike 笔记</title><link>https://icci.ink/study/code/basic-makefile/</link><pubDate>Fri, 21 Feb 2025 00:00:00 +0000</pubDate><guid>https://icci.ink/study/code/basic-makefile/</guid><description>&lt;p&gt;makefike 学习笔记&lt;/p&gt;
&lt;p&gt;makefike可以把一大串Linux 指令封装成独立的命令执行，在需要处理复杂任务时，可以把命令编辑到makefile文件里，然后简单的命令就可以执行复杂的操作了，化繁为简，大大提高code效率。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://raw.githubusercontent.com/Kingdomzhen/blog-photo/main/photo/makefile.png" alt="makefile 文件" /&gt;&lt;/p&gt;
&lt;h2 id="makefile-使用方法"&gt;makefile 使用方法&lt;a class="anchor" href="#makefile-%e4%bd%bf%e7%94%a8%e6%96%b9%e6%b3%95"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;makefile在linux中直接以makefile形式存在，在使用时，直接在终端输入命令&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-Shell" data-lang="Shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make &amp;lt;command&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;例如：下面是一段markdowm文件的源代码&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-Shell" data-lang="Shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;test:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @echo &lt;span style="color:#e6db74"&gt;&amp;#34;hello test&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;要执行这个makefile的需要在终端下的操作如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-Shell" data-lang="Shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;user&lt;span style="color:#f92672"&gt;]&lt;/span&gt;$ make test&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;输入这段命令后，终端会打印出&lt;code&gt;hello test&lt;/code&gt;字样，此时的终端将会变成&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-Shell" data-lang="Shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;user&lt;span style="color:#f92672"&gt;]&lt;/span&gt;$ make test
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hello test&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这就是makefile文件的使用方法，接下来介绍一下makefile文件格式&lt;/p&gt;
&lt;h2 id="makefile-文件格式"&gt;makefile 文件格式&lt;a class="anchor" href="#makefile-%e6%96%87%e4%bb%b6%e6%a0%bc%e5%bc%8f"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Makefile基本格式如下:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-Shell" data-lang="Shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;target ... : prerequisites ...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; command
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ...&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;其中,&lt;/p&gt;
&lt;p&gt;target - 目标文件, 可以是 Object File, 也可以是可执行文件&lt;br&gt;
prerequisites - 生成 target 所需要的文件或者目标&lt;br&gt;
command - make需要执行的命令 (任意的shell命令), Makefile中的命令必须以 [tab] 开头&lt;/p&gt;
&lt;p&gt;显示规则 :: 说明如何生成一个或多个目标文件(包括 生成的文件, 文件的依赖文件, 生成的命令)&lt;br&gt;
隐晦规则 :: make的自动推导功能所执行的规则&lt;br&gt;
变量定义 :: Makefile中定义的变量&lt;br&gt;
文件指示 :: Makefile中引用其他Makefile; 指定Makefile中有效部分; 定义一个多行命令&lt;br&gt;
注释 :: Makefile只有行注释 &amp;ldquo;#&amp;rdquo;, 如果要使用或者输出&amp;quot;#&amp;ldquo;字符, 需要进行转义, &amp;ldquo;#&amp;rdquo;&lt;/p&gt;</description></item><item><title>vi 编辑器</title><link>https://icci.ink/study/code/basic-vicode/</link><pubDate>Sat, 15 Feb 2025 00:00:00 +0000</pubDate><guid>https://icci.ink/study/code/basic-vicode/</guid><description>&lt;p&gt;vi编辑器学习笔记&lt;/p&gt;
&lt;h2 id="vi-快捷键"&gt;Vi 快捷键&lt;a class="anchor" href="#vi-%e5%bf%ab%e6%8d%b7%e9%94%ae"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;文件相关命令&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;:w&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;将编辑的数据写入硬盘档案中，:w!表强制写入（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;:w&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;将编辑的数据写入硬盘档案中，:w!表强制写入（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;:q&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;离开 vi ，:q!强制离开（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;:wq&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;储存后离开，:wq! 为强制储存后离开（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ZZ&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;保存当前文件，然后退出（如果修改过）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ZQ&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;不保存，强制退出。效果等同于 :q!。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;:w [filename]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;将编辑的数据储存成另一个档案（类似另存新档）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;:r [filename]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;在编辑的数据中，读入另一个档案的数据到游标所在行后面&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;:n1,n2 w [filename]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;将 n1 到 n2 的内容储存成 filename 这个档案。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;:set nu&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;显示行号，设定之后，会在每一行的前缀显示该行的行号&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;:set nonu&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;与 set nu 相反，为取消行号 ！&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;编辑相关快捷键&lt;/td&gt;
 &lt;td&gt;说明&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;i&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;进入编辑模式，相同功能的还有a、o，大小写都可，功能差异在插入的位置上&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;r，R&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;进入取代模式，相当与Insert，r只取代字符一次，R一直取代直到Esc&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;搜索替换相关快捷键&lt;/td&gt;
 &lt;td&gt;说明&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/word&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;向光标之下寻找一个名为 word 的字符串。例如，搜索 vbird 则输入 /vbird。（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;?word&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;向光标之上寻找一个名为 word 的字符串。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;n&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;重复前一个搜索动作。如果是向下搜索，则继续向下搜索；如果是向上搜索，则继续向上搜索。（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;N&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;与 &lt;code&gt;n&lt;/code&gt; 相反，执行反向的搜索动作。如果之前是向下搜索，则向上搜索；如果之前是向上搜索，则向下搜索。（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;:n1,n2s/word1/word2/g&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;在第 n1 行到第 n2 行之间寻找 word1 并将其替换为 word2。（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;:1,$s/word1/word2/g&lt;/code&gt; 或 &lt;code&gt;:%s/word1/word2/g&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;从第一行到最后一行寻找 word1 并将其替换为 word2。（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;:1,$s/word1/word2/gc&lt;/code&gt; 或 &lt;code&gt;:%s/word1/word2/gc&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;从第一行到最后一行寻找 word1 并将其替换为 word2，并在替换前显示提示，让用户确认是否需要替换。（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;粘贴、删除相关快捷键&lt;/td&gt;
 &lt;td&gt;说明&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nx&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;n 为数字，连续向后删除 n 个字符&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;dd&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;剪切游标所在的那一整行(常用)，用 p/P 可以粘贴&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ndd&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;n 为数字。剪切光标所在的向下 n 行(常用)，用 p/P 可以粘贴&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;d1G&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;删除游标所在到第一行的所有数据&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;dG&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;删除游标所在到最后一行的所有数据&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;d$&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;删除游标所在处到该行的最后一个字符&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;d0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;删除游标所在处到该行的最前面一个字符&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;yy&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;复制游标所在的那一行(常用)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nyy&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;n 为数字。复制光标所在的向下 n 行(常用)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;y1G&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;复制游标所在行到第一行的所有数据&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;yG&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;复制游标所在行到最后一行的所有数据&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;y0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;复制游标所在的那个字符到该行行首的所有数据&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;y$&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;复制游标所在的那个字符到该行行尾的所有数据&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;p, P&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;p 将已复制的数据在光标下一行贴上，P 则贴在游标上一行(常用)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;J&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;将光标所在行与下一行的数据结合成同一行&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;重复删除多个数据，例如向下删除 10 行，[ 10cj ]&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;u&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;复原前一个动作。(常用)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;[Ctrl]+r&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;重做上一个动作。(常用)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;(按下小数点)重复前一个动作。(常用)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="为什么是vi编辑器"&gt;为什么是vi编辑器&lt;a class="anchor" href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e6%98%afvi%e7%bc%96%e8%be%91%e5%99%a8"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Vi 是 1976 年由 Bill Joy 开发的一款文本编辑器，最初是为 Unix 系统设计的。Vi 以其简洁、高效的操作方式而闻名，成为 Unix 和类 Unix 系统上的标准编辑器。Vim（Vi Improved）是 Vi 编辑器的改进版本，使用方法和Vi 编辑器相识相通。这里只Vi 编辑器
这个编辑器几乎不用下载，在各各电脑平台几乎都支持，由于其简洁稳定，功能强大，且支持插件等功能，熟练的Vi 编辑器操作工人可以在无鼠标的环境下正常操作。&lt;/p&gt;</description></item><item><title>git 学习笔记</title><link>https://icci.ink/study/code/basic-git/</link><pubDate>Mon, 10 Feb 2025 00:00:00 +0000</pubDate><guid>https://icci.ink/study/code/basic-git/</guid><description>&lt;p&gt;git 的一些零零碎碎&lt;/p&gt;
&lt;p&gt;网上关于git的教程数不胜数，但我问什么还要写呢？我这水平写出来的博客肯定比不上互联网的大神总结的。我写这个主要是写一些常见的git命令速查表，梳理我在学习git上面踩过的坑&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;目录&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TOC
{:toc}&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="git-常用命令"&gt;git 常用命令&lt;a class="anchor" href="#git-%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;命令&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;git init&lt;/td&gt;
 &lt;td&gt;初始化仓库&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;git clone &lt;repo&gt;&lt;/td&gt;
 &lt;td&gt;克隆仓库&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;git pull&lt;/td&gt;
 &lt;td&gt;从远端拉取仓库-同步&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;git push origin main &amp;ndash;tags&lt;/td&gt;
 &lt;td&gt;上传分支及标签&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;git branch&lt;/td&gt;
 &lt;td&gt;查看所有分支&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;git switch -c &lt;branch&gt;&lt;/td&gt;
 &lt;td&gt;切换到 branch 分支&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;git merge &lt;branch&gt;&lt;/td&gt;
 &lt;td&gt;将 branch 合并到当前分支&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;git tag&lt;/td&gt;
 &lt;td&gt;打 tag&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;git status&lt;/td&gt;
 &lt;td&gt;查看未添加到 git 的文件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;git log&lt;/td&gt;
 &lt;td&gt;查看历史命令&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;git commit -m &lt;message&gt; &amp;ndash;commend&lt;/td&gt;
 &lt;td&gt;添加 commit 提示&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="git-能做什么"&gt;git 能做什么&lt;a class="anchor" href="#git-%e8%83%bd%e5%81%9a%e4%bb%80%e4%b9%88"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;从github，gieet这类代码托管平台下载上传代码&lt;/li&gt;
&lt;li&gt;查看项目的上传下载日志&lt;/li&gt;
&lt;li&gt;创立项目分支，协作开发互不干扰&lt;/li&gt;
&lt;li&gt;查看项目与上次上传相比更改了那些内容&lt;/li&gt;
&lt;li&gt;合并项目分支，创建项目分支&lt;/li&gt;
&lt;li&gt;tag打包项目，整个项目打包成压缩包&lt;/li&gt;
&lt;li&gt;撤回上一步的操作&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这是一些具象化的操作，笼统来讲git就是非常nice的项目管理工具&lt;/p&gt;</description></item><item><title>markdowm 语法速查</title><link>https://icci.ink/study/code/basic-markdown/</link><pubDate>Tue, 04 Feb 2025 00:00:00 +0000</pubDate><guid>https://icci.ink/study/code/basic-markdown/</guid><description>&lt;p&gt;markdown语言的语法参考，此篇笔记的所有语法在此博客中均已支持&lt;/p&gt;
&lt;h2 id="常用markdown语法"&gt;常用markdown语法&lt;a class="anchor" href="#%e5%b8%b8%e7%94%a8markdown%e8%af%ad%e6%b3%95"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;功能&lt;/th&gt;
 &lt;th&gt;语法&lt;/th&gt;
 &lt;th&gt;备注&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;标题&lt;/td&gt;
 &lt;td&gt;# 标题名称&lt;/td&gt;
 &lt;td&gt;行首位置使用“井号+空格+标题文本”；井号数量表示标题层级，依次为H1~H6&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;块引用&lt;/td&gt;
 &lt;td&gt;&amp;gt;文字块&lt;/td&gt;
 &lt;td&gt;行首位置使用右箭号，中间可有可无空格&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;斜体&lt;/td&gt;
 &lt;td&gt;*文字块*&lt;/td&gt;
 &lt;td&gt;前后使用1个星号，为一组&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;粗体&lt;/td&gt;
 &lt;td&gt;**文字块**&lt;/td&gt;
 &lt;td&gt;前后使用2个星号，为一组&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;删除线&lt;/td&gt;
 &lt;td&gt;~~文字块~~&lt;/td&gt;
 &lt;td&gt;前后使用2个波浪线，为一组&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;下划线&lt;/td&gt;
 &lt;td&gt;&amp;ndash;–&lt;/td&gt;
 &lt;td&gt;使用3个减号后，按回车键&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;无序列表&lt;/td&gt;
 &lt;td&gt;- 条目&lt;/td&gt;
 &lt;td&gt;行首位置使用“减号+空格+条目”后，按回车键&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;有序列表&lt;/td&gt;
 &lt;td&gt;数字. 条目&lt;/td&gt;
 &lt;td&gt;行首位置使用“数字序号+句点+空格+条目”后，按回车键&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;任务列表&lt;/td&gt;
 &lt;td&gt;- [x]&lt;/td&gt;
 &lt;td&gt;[ ]内加x表示完成，不加表示方框&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;超链接&lt;/td&gt;
 &lt;td&gt;[alt](url)&lt;/td&gt;
 &lt;td&gt;alt（可选）为url的替换文本，url（必选）为超链接地址&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;图像&lt;/td&gt;
 &lt;td&gt;![alt](url)&lt;/td&gt;
 &lt;td&gt;类似超链接，只是多了一个感叹号&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;代码&lt;/td&gt;
 &lt;td&gt;`源代码`&lt;/td&gt;
 &lt;td&gt;前后使用1个反引号；底色长度等于源代码长度&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;代码块&lt;/td&gt;
 &lt;td&gt;~~~java 源代码~~~&lt;/td&gt;
 &lt;td&gt;前后使用3个波浪线，波浪线后跟回车键；后面接着选择语言&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;代码块&lt;/td&gt;
 &lt;td&gt;```java 源代码```&lt;/td&gt;
 &lt;td&gt;前后使用3个`，波浪线后跟回车键；后面接着选择语言&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;目录&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TOC
{:toc}&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="补充"&gt;补充&lt;a class="anchor" href="#%e8%a1%a5%e5%85%85"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="换行"&gt;换行&lt;a class="anchor" href="#%e6%8d%a2%e8%a1%8c"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;在行后面按两下空格表示换行。（此方法在实操的过程种无法查看到空格，有缺陷）
还有一种方法，在行尾添加“结尾空格”或 HTML 的 &lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt; 标签来实现换行，这种方法只需要正常换行即可&lt;/p&gt;
&lt;h3 id="转义字符语法"&gt;转义字符语法&lt;a class="anchor" href="#%e8%bd%ac%e4%b9%89%e5%ad%97%e7%ac%a6%e8%af%ad%e6%b3%95"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;要显示原本用于格式化 Markdown 文档的字符，请在字符前面添加反斜杠字符 \ 。&lt;/p&gt;</description></item></channel></rss>