<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bat on RustUP</title><link>http://rustup.top/tags/bat/</link><description>Recent content in Bat on RustUP</description><generator>Hugo</generator><language>zh</language><copyright>[jqx](https://jqx.me)</copyright><atom:link href="http://rustup.top/tags/bat/index.xml" rel="self" type="application/rss+xml"/><item><title/><link>http://rustup.top/docs/bat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://rustup.top/docs/bat/</guid><description>&lt;h1 id="bat"&gt;bat&lt;a class="anchor" href="#bat"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;类似&lt;code&gt;cat&lt;/code&gt;命令，但带有 git 集成和语法高亮。&lt;/p&gt;
&lt;p&gt;cat是unix系统下用来检视档案连续内容用的指令，字面上的含意是“concatenate”(连续)的缩写。除了用来作为显示档案内容外，cat指令也可用于标准串流上的处理，如将显示的讯息转入或附加另一档案上。&lt;/p&gt;
&lt;p&gt;
 &lt;a href="#语法高亮"&gt;主要功能&lt;/a&gt; •
 &lt;a href="#如何使用"&gt;使用方法&lt;/a&gt; •
 &lt;a href="#安装"&gt;安装&lt;/a&gt; •
 &lt;a href="#自定义"&gt;自定义&lt;/a&gt; •
 &lt;a href="#project-goals-and-alternatives"&gt;项目目标和替代方案&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;
&lt;h3 id="语法高亮"&gt;语法高亮&lt;a class="anchor" href="#%e8%af%ad%e6%b3%95%e9%ab%98%e4%ba%ae"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;bat&lt;/code&gt; 对大部分编程语言和标记语言提供语法高亮：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://imgur.com/rGsdnDe.png" alt="Syntax highlighting example" /&gt;&lt;/p&gt;
&lt;h3 id="git-集成"&gt;Git 集成&lt;a class="anchor" href="#git-%e9%9b%86%e6%88%90"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;bat&lt;/code&gt; 能从 git 中获取文件的修改并展示在边栏（见下图）：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://i.imgur.com/2lSW4RE.png" alt="Git integration example" /&gt;&lt;/p&gt;
&lt;h3 id="不可打印non-printable字符可视化"&gt;不可打印(non-printable)字符可视化&lt;a class="anchor" href="#%e4%b8%8d%e5%8f%af%e6%89%93%e5%8d%b0non-printable%e5%ad%97%e7%ac%a6%e5%8f%af%e8%a7%86%e5%8c%96"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;添加&lt;code&gt;-A&lt;/code&gt;/&lt;code&gt;--show-all&lt;/code&gt;参数可以文件文件中的不可打印字符:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://i.imgur.com/WndGp9H.png" alt="Non-printable character example" /&gt;&lt;/p&gt;
&lt;h3 id="自动分页"&gt;自动分页&lt;a class="anchor" href="#%e8%87%aa%e5%8a%a8%e5%88%86%e9%a1%b5"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;bat&lt;/code&gt;会在一般情况下将大于屏幕可显示范围的内容输出到分页器(pager, e.g. &lt;code&gt;less&lt;/code&gt;)。&lt;/p&gt;
&lt;p&gt;你可以在调用时添加&lt;code&gt;--paging=never&lt;/code&gt;参数来使&lt;code&gt;bat&lt;/code&gt;不使用分页器（就像&lt;code&gt;cat&lt;/code&gt;一样）。如果你想要用为&lt;code&gt;cat&lt;/code&gt;使用&lt;code&gt;bat&lt;/code&gt;别名，可以在 shell 配置文件（shell configuration）中添加&lt;code&gt;alias cat='bat --paging=never'&lt;/code&gt;。&lt;/p&gt;
&lt;h4 id="智能输出"&gt;智能输出&lt;a class="anchor" href="#%e6%99%ba%e8%83%bd%e8%be%93%e5%87%ba"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;bat&lt;/code&gt;能够在设置了分页器选项的同时进行管道:wink:。
当&lt;code&gt;bat&lt;/code&gt;检测到当前环境为非可交互终端或管道时（例如使用&lt;code&gt;bat&lt;/code&gt;并将内容用管道输出到文件），&lt;code&gt;bat&lt;/code&gt;会像&lt;code&gt;cat&lt;/code&gt;一样，一次输出文件内容为纯文本且无视&lt;code&gt;--paging&lt;/code&gt;参数。&lt;/p&gt;
&lt;h2 id="如何使用"&gt;如何使用&lt;a class="anchor" href="#%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在终端中查看一个文件&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; bat README.md&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;一次性展示多个文件&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; bat src/*.rs&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;从&lt;code&gt;stdin&lt;/code&gt;读入流，自动为内容添加语法高亮（前提是输入内容的语言可以被正确识别，通常根据内容第一行的 shebang 标记，形如&lt;code&gt;#!bin/sh&lt;/code&gt;）&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; curl -s https://sh.rustup.rs | bat&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;显式指定&lt;code&gt;stdin&lt;/code&gt;输入的语言&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; yaml2json .travis.yml | json_pp | bat -l json&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;显示不可打印字符&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; bat -A /etc/hosts&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;与&lt;code&gt;cat&lt;/code&gt;的兼容性&lt;/p&gt;</description></item></channel></rss>