,空格显示为 `·`。排查 YAML 缩进问题的时候巨好用。 ### 4. 显示多个文件 ```bash bat file1.py file2.js file3.md ``` 它会依次显示每个文件,文件名会以 header 形式标出来。 ### 5. 只显示某些行 ```bash bat -r 10:20 app.py # 显示第10到20行 bat -r :30 app.py # 显示前30行 bat -r 50: app.py # 显示从50行到结尾 ``` ### 6. 拼接文件内容(替代 cat) ```bash bat file1.txt file2.txt > combined.txt ``` 重定向时不带高亮和行号,纯文本拼接,行为跟 `cat` 一样。 ### 7. 作为 less 的替代 ```bash bat -p file.txt ``` `-p` 或 `--plain` 会禁用所有装饰(行号、header、Git 标记),只保留高亮,配合 `less` 的搜索功能很爽。 ## 进阶技巧 基础用法够日常了,但 `bat` 的真正威力在于深度定制。 ### 1. 设置别名,彻底替代 cat 在 `.bashrc` 或 `.zshrc` 里加: ```bash alias cat='bat' ``` 但注意:这样会破坏一些依赖 `cat` 脚本的行为(比如 `cat file | wc -l` 可能因为分页卡住)。稳妥做法是: ```bash alias cat='bat -pP' # -p 去掉行号/header,-P 禁用分页,行为最接近原生 cat ``` ### 2. 切换颜色主题 先看有哪些主题: ```bash bat --list-themes ``` 然后临时用: ```bash bat --theme=Dracula file.py ``` 永久设置:在 `~/.config/bat/config` 里写: ``` --theme="TwoDark" ``` 我个人推荐 `TwoDark` 和 `Monokai Extended`,看代码眼睛不累。 ### 3. 自定义语法高亮 `bat` 默认会通过文件扩展名和 shebang 判断语言。如果识别错了,可以强制指定: ```bash bat -l yaml Dockerfile ``` 甚至可以用 `-l` 加上语言名或 `.sublime-syntax` 文件路径。 ### 4. 集成到其他工具 **与 fzf 配合**:用 `bat` 预览文件内容 ```bash fzf --preview 'bat --color=always {}' ``` **与 ripgrep 配合**:搜索时带高亮 ```bash rg "pattern" --color=always | bat ``` **与 git diff 配合**:用 bat 显示差异 ```bash git diff --color=always | bat ``` 或者安装 `bat-extras` 里的 `batdiff` 脚本,效果更炸。 ### 5. 缓存管理 `bat` 第一次运行时会生成语法高亮缓存,之后启动飞快。如果想强制刷新: ```bash bat cache --build ``` 如果遇到某些文件高亮不对,清空缓存试试。 ### 6. 自定义 header 格式 默认 header 显示文件名和文件大小。可以改成只显示文件名: ``` --style="header,grid" ``` 或者完全不要 header: ``` --style="plain" ``` 支持的值:`plain`, `header`, `grid`, `numbers`, `changes`, `rule`,可以组合。 ### 7. 在 SSH 远程机器上使用 如果远程机器没装 bat,可以用一个技巧:本地 bat 读取远程文件 ```bash ssh user@host "cat remote_file" | bat -l log ``` 或者更骚的,在远程装 bat 但不想污染环境?用 `bat` 的静态编译二进制,扔到 `~/bin` 就行。 ## 最后说两句 `bat` 是我近几年在终端里装过最值的工具之一。它不改变任何工作流,只是让原本枯燥的输出变得赏心悦目。尤其当你调试日志、审查代码、翻配置文件的时候,那种颜色分明的感觉,真的能提升幸福感。 如果你还在犹豫,就去官网看一眼截图,就一眼,保证你乖乖安装。 对了,别忘了给它配个 alias,然后你就再也回不去了。">bat - notebase.cnbat - notebase.cn,空格显示为 `·`。排查 YAML 缩进问题的时候巨好用。 ### 4. 显示多个文件 ```bash bat file1.py file2.js file3.md ``` 它会依次显示每个文件,文件名会以 header 形式标出来。 ### 5. 只显示某些行 ```bash bat -r 10:20 app.py # 显示第10到20行 bat -r :30 app.py # 显示前30行 bat -r 50: app.py # 显示从50行到结尾 ``` ### 6. 拼接文件内容(替代 cat) ```bash bat file1.txt file2.txt > combined.txt ``` 重定向时不带高亮和行号,纯文本拼接,行为跟 `cat` 一样。 ### 7. 作为 less 的替代 ```bash bat -p file.txt ``` `-p` 或 `--plain` 会禁用所有装饰(行号、header、Git 标记),只保留高亮,配合 `less` 的搜索功能很爽。 ## 进阶技巧 基础用法够日常了,但 `bat` 的真正威力在于深度定制。 ### 1. 设置别名,彻底替代 cat 在 `.bashrc` 或 `.zshrc` 里加: ```bash alias cat='bat' ``` 但注意:这样会破坏一些依赖 `cat` 脚本的行为(比如 `cat file | wc -l` 可能因为分页卡住)。稳妥做法是: ```bash alias cat='bat -pP' # -p 去掉行号/header,-P 禁用分页,行为最接近原生 cat ``` ### 2. 切换颜色主题 先看有哪些主题: ```bash bat --list-themes ``` 然后临时用: ```bash bat --theme=Dracula file.py ``` 永久设置:在 `~/.config/bat/config` 里写: ``` --theme="TwoDark" ``` 我个人推荐 `TwoDark` 和 `Monokai Extended`,看代码眼睛不累。 ### 3. 自定义语法高亮 `bat` 默认会通过文件扩展名和 shebang 判断语言。如果识别错了,可以强制指定: ```bash bat -l yaml Dockerfile ``` 甚至可以用 `-l` 加上语言名或 `.sublime-syntax` 文件路径。 ### 4. 集成到其他工具 **与 fzf 配合**:用 `bat` 预览文件内容 ```bash fzf --preview 'bat --color=always {}' ``` **与 ripgrep 配合**:搜索时带高亮 ```bash rg "pattern" --color=always | bat ``` **与 git diff 配合**:用 bat 显示差异 ```bash git diff --color=always | bat ``` 或者安装 `bat-extras` 里的 `batdiff` 脚本,效果更炸。 ### 5. 缓存管理 `bat` 第一次运行时会生成语法高亮缓存,之后启动飞快。如果想强制刷新: ```bash bat cache --build ``` 如果遇到某些文件高亮不对,清空缓存试试。 ### 6. 自定义 header 格式 默认 header 显示文件名和文件大小。可以改成只显示文件名: ``` --style="header,grid" ``` 或者完全不要 header: ``` --style="plain" ``` 支持的值:`plain`, `header`, `grid`, `numbers`, `changes`, `rule`,可以组合。 ### 7. 在 SSH 远程机器上使用 如果远程机器没装 bat,可以用一个技巧:本地 bat 读取远程文件 ```bash ssh user@host "cat remote_file" | bat -l log ``` 或者更骚的,在远程装 bat 但不想污染环境?用 `bat` 的静态编译二进制,扔到 `~/bin` 就行。 ## 最后说两句 `bat` 是我近几年在终端里装过最值的工具之一。它不改变任何工作流,只是让原本枯燥的输出变得赏心悦目。尤其当你调试日志、审查代码、翻配置文件的时候,那种颜色分明的感觉,真的能提升幸福感。 如果你还在犹豫,就去官网看一眼截图,就一眼,保证你乖乖安装。 对了,别忘了给它配个 alias,然后你就再也回不去了。">,空格显示为 `·`。排查 YAML 缩进问题的时候巨好用。 ### 4. 显示多个文件 ```bash bat file1.py file2.js file3.md ``` 它会依次显示每个文件,文件名会以 header 形式标出来。 ### 5. 只显示某些行 ```bash bat -r 10:20 app.py # 显示第10到20行 bat -r :30 app.py # 显示前30行 bat -r 50: app.py # 显示从50行到结尾 ``` ### 6. 拼接文件内容(替代 cat) ```bash bat file1.txt file2.txt > combined.txt ``` 重定向时不带高亮和行号,纯文本拼接,行为跟 `cat` 一样。 ### 7. 作为 less 的替代 ```bash bat -p file.txt ``` `-p` 或 `--plain` 会禁用所有装饰(行号、header、Git 标记),只保留高亮,配合 `less` 的搜索功能很爽。 ## 进阶技巧 基础用法够日常了,但 `bat` 的真正威力在于深度定制。 ### 1. 设置别名,彻底替代 cat 在 `.bashrc` 或 `.zshrc` 里加: ```bash alias cat='bat' ``` 但注意:这样会破坏一些依赖 `cat` 脚本的行为(比如 `cat file | wc -l` 可能因为分页卡住)。稳妥做法是: ```bash alias cat='bat -pP' # -p 去掉行号/header,-P 禁用分页,行为最接近原生 cat ``` ### 2. 切换颜色主题 先看有哪些主题: ```bash bat --list-themes ``` 然后临时用: ```bash bat --theme=Dracula file.py ``` 永久设置:在 `~/.config/bat/config` 里写: ``` --theme="TwoDark" ``` 我个人推荐 `TwoDark` 和 `Monokai Extended`,看代码眼睛不累。 ### 3. 自定义语法高亮 `bat` 默认会通过文件扩展名和 shebang 判断语言。如果识别错了,可以强制指定: ```bash bat -l yaml Dockerfile ``` 甚至可以用 `-l` 加上语言名或 `.sublime-syntax` 文件路径。 ### 4. 集成到其他工具 **与 fzf 配合**:用 `bat` 预览文件内容 ```bash fzf --preview 'bat --color=always {}' ``` **与 ripgrep 配合**:搜索时带高亮 ```bash rg "pattern" --color=always | bat ``` **与 git diff 配合**:用 bat 显示差异 ```bash git diff --color=always | bat ``` 或者安装 `bat-extras` 里的 `batdiff` 脚本,效果更炸。 ### 5. 缓存管理 `bat` 第一次运行时会生成语法高亮缓存,之后启动飞快。如果想强制刷新: ```bash bat cache --build ``` 如果遇到某些文件高亮不对,清空缓存试试。 ### 6. 自定义 header 格式 默认 header 显示文件名和文件大小。可以改成只显示文件名: ``` --style="header,grid" ``` 或者完全不要 header: ``` --style="plain" ``` 支持的值:`plain`, `header`, `grid`, `numbers`, `changes`, `rule`,可以组合。 ### 7. 在 SSH 远程机器上使用 如果远程机器没装 bat,可以用一个技巧:本地 bat 读取远程文件 ```bash ssh user@host "cat remote_file" | bat -l log ``` 或者更骚的,在远程装 bat 但不想污染环境?用 `bat` 的静态编译二进制,扔到 `~/bin` 就行。 ## 最后说两句 `bat` 是我近几年在终端里装过最值的工具之一。它不改变任何工作流,只是让原本枯燥的输出变得赏心悦目。尤其当你调试日志、审查代码、翻配置文件的时候,那种颜色分明的感觉,真的能提升幸福感。 如果你还在犹豫,就去官网看一眼截图,就一眼,保证你乖乖安装。 对了,别忘了给它配个 alias,然后你就再也回不去了。">bat - notebase.cnbat - notebase.cn,空格显示为 `·`。排查 YAML 缩进问题的时候巨好用。 ### 4. 显示多个文件 ```bash bat file1.py file2.js file3.md ``` 它会依次显示每个文件,文件名会以 header 形式标出来。 ### 5. 只显示某些行 ```bash bat -r 10:20 app.py # 显示第10到20行 bat -r :30 app.py # 显示前30行 bat -r 50: app.py # 显示从50行到结尾 ``` ### 6. 拼接文件内容(替代 cat) ```bash bat file1.txt file2.txt > combined.txt ``` 重定向时不带高亮和行号,纯文本拼接,行为跟 `cat` 一样。 ### 7. 作为 less 的替代 ```bash bat -p file.txt ``` `-p` 或 `--plain` 会禁用所有装饰(行号、header、Git 标记),只保留高亮,配合 `less` 的搜索功能很爽。 ## 进阶技巧 基础用法够日常了,但 `bat` 的真正威力在于深度定制。 ### 1. 设置别名,彻底替代 cat 在 `.bashrc` 或 `.zshrc` 里加: ```bash alias cat='bat' ``` 但注意:这样会破坏一些依赖 `cat` 脚本的行为(比如 `cat file | wc -l` 可能因为分页卡住)。稳妥做法是: ```bash alias cat='bat -pP' # -p 去掉行号/header,-P 禁用分页,行为最接近原生 cat ``` ### 2. 切换颜色主题 先看有哪些主题: ```bash bat --list-themes ``` 然后临时用: ```bash bat --theme=Dracula file.py ``` 永久设置:在 `~/.config/bat/config` 里写: ``` --theme="TwoDark" ``` 我个人推荐 `TwoDark` 和 `Monokai Extended`,看代码眼睛不累。 ### 3. 自定义语法高亮 `bat` 默认会通过文件扩展名和 shebang 判断语言。如果识别错了,可以强制指定: ```bash bat -l yaml Dockerfile ``` 甚至可以用 `-l` 加上语言名或 `.sublime-syntax` 文件路径。 ### 4. 集成到其他工具 **与 fzf 配合**:用 `bat` 预览文件内容 ```bash fzf --preview 'bat --color=always {}' ``` **与 ripgrep 配合**:搜索时带高亮 ```bash rg "pattern" --color=always | bat ``` **与 git diff 配合**:用 bat 显示差异 ```bash git diff --color=always | bat ``` 或者安装 `bat-extras` 里的 `batdiff` 脚本,效果更炸。 ### 5. 缓存管理 `bat` 第一次运行时会生成语法高亮缓存,之后启动飞快。如果想强制刷新: ```bash bat cache --build ``` 如果遇到某些文件高亮不对,清空缓存试试。 ### 6. 自定义 header 格式 默认 header 显示文件名和文件大小。可以改成只显示文件名: ``` --style="header,grid" ``` 或者完全不要 header: ``` --style="plain" ``` 支持的值:`plain`, `header`, `grid`, `numbers`, `changes`, `rule`,可以组合。 ### 7. 在 SSH 远程机器上使用 如果远程机器没装 bat,可以用一个技巧:本地 bat 读取远程文件 ```bash ssh user@host "cat remote_file" | bat -l log ``` 或者更骚的,在远程装 bat 但不想污染环境?用 `bat` 的静态编译二进制,扔到 `~/bin` 就行。 ## 最后说两句 `bat` 是我近几年在终端里装过最值的工具之一。它不改变任何工作流,只是让原本枯燥的输出变得赏心悦目。尤其当你调试日志、审查代码、翻配置文件的时候,那种颜色分明的感觉,真的能提升幸福感。 如果你还在犹豫,就去官网看一眼截图,就一眼,保证你乖乖安装。 对了,别忘了给它配个 alias,然后你就再也回不去了。">,空格显示为 `·`。排查 YAML 缩进问题的时候巨好用。 ### 4. 显示多个文件 ```bash bat file1.py file2.js file3.md ``` 它会依次显示每个文件,文件名会以 header 形式标出来。 ### 5. 只显示某些行 ```bash bat -r 10:20 app.py # 显示第10到20行 bat -r :30 app.py # 显示前30行 bat -r 50: app.py # 显示从50行到结尾 ``` ### 6. 拼接文件内容(替代 cat) ```bash bat file1.txt file2.txt > combined.txt ``` 重定向时不带高亮和行号,纯文本拼接,行为跟 `cat` 一样。 ### 7. 作为 less 的替代 ```bash bat -p file.txt ``` `-p` 或 `--plain` 会禁用所有装饰(行号、header、Git 标记),只保留高亮,配合 `less` 的搜索功能很爽。 ## 进阶技巧 基础用法够日常了,但 `bat` 的真正威力在于深度定制。 ### 1. 设置别名,彻底替代 cat 在 `.bashrc` 或 `.zshrc` 里加: ```bash alias cat='bat' ``` 但注意:这样会破坏一些依赖 `cat` 脚本的行为(比如 `cat file | wc -l` 可能因为分页卡住)。稳妥做法是: ```bash alias cat='bat -pP' # -p 去掉行号/header,-P 禁用分页,行为最接近原生 cat ``` ### 2. 切换颜色主题 先看有哪些主题: ```bash bat --list-themes ``` 然后临时用: ```bash bat --theme=Dracula file.py ``` 永久设置:在 `~/.config/bat/config` 里写: ``` --theme="TwoDark" ``` 我个人推荐 `TwoDark` 和 `Monokai Extended`,看代码眼睛不累。 ### 3. 自定义语法高亮 `bat` 默认会通过文件扩展名和 shebang 判断语言。如果识别错了,可以强制指定: ```bash bat -l yaml Dockerfile ``` 甚至可以用 `-l` 加上语言名或 `.sublime-syntax` 文件路径。 ### 4. 集成到其他工具 **与 fzf 配合**:用 `bat` 预览文件内容 ```bash fzf --preview 'bat --color=always {}' ``` **与 ripgrep 配合**:搜索时带高亮 ```bash rg "pattern" --color=always | bat ``` **与 git diff 配合**:用 bat 显示差异 ```bash git diff --color=always | bat ``` 或者安装 `bat-extras` 里的 `batdiff` 脚本,效果更炸。 ### 5. 缓存管理 `bat` 第一次运行时会生成语法高亮缓存,之后启动飞快。如果想强制刷新: ```bash bat cache --build ``` 如果遇到某些文件高亮不对,清空缓存试试。 ### 6. 自定义 header 格式 默认 header 显示文件名和文件大小。可以改成只显示文件名: ``` --style="header,grid" ``` 或者完全不要 header: ``` --style="plain" ``` 支持的值:`plain`, `header`, `grid`, `numbers`, `changes`, `rule`,可以组合。 ### 7. 在 SSH 远程机器上使用 如果远程机器没装 bat,可以用一个技巧:本地 bat 读取远程文件 ```bash ssh user@host "cat remote_file" | bat -l log ``` 或者更骚的,在远程装 bat 但不想污染环境?用 `bat` 的静态编译二进制,扔到 `~/bin` 就行。 ## 最后说两句 `bat` 是我近几年在终端里装过最值的工具之一。它不改变任何工作流,只是让原本枯燥的输出变得赏心悦目。尤其当你调试日志、审查代码、翻配置文件的时候,那种颜色分明的感觉,真的能提升幸福感。 如果你还在犹豫,就去官网看一眼截图,就一眼,保证你乖乖安装。 对了,别忘了给它配个 alias,然后你就再也回不去了。">,空格显示为 `·`。排查 YAML 缩进问题的时候巨好用。\n\n### 4. 显示多个文件\n\n```bash\nbat file1.py file2.js file3.md\n```\n\n它会依次显示每个文件,文件名会以 header 形式标出来。\n\n### 5. 只显示某些行\n\n```bash\nbat -r 10:20 app.py # 显示第10到20行\nbat -r :30 app.py # 显示前30行\nbat -r 50: app.py # 显示从50行到结尾\n```\n\n### 6. 拼接文件内容(替代 cat)\n\n```bash\nbat file1.txt file2.txt > combined.txt\n```\n\n重定向时不带高亮和行号,纯文本拼接,行为跟 `cat` 一样。\n\n### 7. 作为 less 的替代\n\n```bash\nbat -p file.txt\n```\n\n`-p` 或 `--plain` 会禁用所有装饰(行号、header、Git 标记),只保留高亮,配合 `less` 的搜索功能很爽。\n\n## 进阶技巧\n\n基础用法够日常了,但 `bat` 的真正威力在于深度定制。\n\n### 1. 设置别名,彻底替代 cat\n\n在 `.bashrc` 或 `.zshrc` 里加:\n\n```bash\nalias cat='bat'\n```\n\n但注意:这样会破坏一些依赖 `cat` 脚本的行为(比如 `cat file | wc -l` 可能因为分页卡住)。稳妥做法是:\n\n```bash\nalias cat='bat -pP'\n# -p 去掉行号/header,-P 禁用分页,行为最接近原生 cat\n```\n\n### 2. 切换颜色主题\n\n先看有哪些主题:\n\n```bash\nbat --list-themes\n```\n\n然后临时用:\n\n```bash\nbat --theme=Dracula file.py\n```\n\n永久设置:在 `~/.config/bat/config` 里写:\n\n```\n--theme=\"TwoDark\"\n```\n\n我个人推荐 `TwoDark` 和 `Monokai Extended`,看代码眼睛不累。\n\n### 3. 自定义语法高亮\n\n`bat` 默认会通过文件扩展名和 shebang 判断语言。如果识别错了,可以强制指定:\n\n```bash\nbat -l yaml Dockerfile\n```\n\n甚至可以用 `-l` 加上语言名或 `.sublime-syntax` 文件路径。\n\n### 4. 集成到其他工具\n\n**与 fzf 配合**:用 `bat` 预览文件内容\n\n```bash\nfzf --preview 'bat --color=always {}'\n```\n\n**与 ripgrep 配合**:搜索时带高亮\n\n```bash\nrg \"pattern\" --color=always | bat\n```\n\n**与 git diff 配合**:用 bat 显示差异\n\n```bash\ngit diff --color=always | bat\n```\n\n或者安装 `bat-extras` 里的 `batdiff` 脚本,效果更炸。\n\n### 5. 缓存管理\n\n`bat` 第一次运行时会生成语法高亮缓存,之后启动飞快。如果想强制刷新:\n\n```bash\nbat cache --build\n```\n\n如果遇到某些文件高亮不对,清空缓存试试。\n\n### 6. 自定义 header 格式\n\n默认 header 显示文件名和文件大小。可以改成只显示文件名:\n\n```\n--style=\"header,grid\"\n```\n\n或者完全不要 header:\n\n```\n--style=\"plain\"\n```\n\n支持的值:`plain`, `header`, `grid`, `numbers`, `changes`, `rule`,可以组合。\n\n### 7. 在 SSH 远程机器上使用\n\n如果远程机器没装 bat,可以用一个技巧:本地 bat 读取远程文件\n\n```bash\nssh user@host \"cat remote_file\" | bat -l log\n```\n\n或者更骚的,在远程装 bat 但不想污染环境?用 `bat` 的静态编译二进制,扔到 `~/bin` 就行。\n\n## 最后说两句\n\n`bat` 是我近几年在终端里装过最值的工具之一。它不改变任何工作流,只是让原本枯燥的输出变得赏心悦目。尤其当你调试日志、审查代码、翻配置文件的时候,那种颜色分明的感觉,真的能提升幸福感。\n\n如果你还在犹豫,就去官网看一眼截图,就一眼,保证你乖乖安装。\n\n对了,别忘了给它配个 alias,然后你就再也回不去了。","url":"https://www.notebase.cn/tool/bat-cat-clone","applicationCategory":"DeveloperApplication"}bat - notebase.cnbat - notebase.cn,空格显示为 `·`。排查 YAML 缩进问题的时候巨好用。 ### 4. 显示多个文件 ```bash bat file1.py file2.js file3.md ``` 它会依次显示每个文件,文件名会以 header 形式标出来。 ### 5. 只显示某些行 ```bash bat -r 10:20 app.py # 显示第10到20行 bat -r :30 app.py # 显示前30行 bat -r 50: app.py # 显示从50行到结尾 ``` ### 6. 拼接文件内容(替代 cat) ```bash bat file1.txt file2.txt > combined.txt ``` 重定向时不带高亮和行号,纯文本拼接,行为跟 `cat` 一样。 ### 7. 作为 less 的替代 ```bash bat -p file.txt ``` `-p` 或 `--plain` 会禁用所有装饰(行号、header、Git 标记),只保留高亮,配合 `less` 的搜索功能很爽。 ## 进阶技巧 基础用法够日常了,但 `bat` 的真正威力在于深度定制。 ### 1. 设置别名,彻底替代 cat 在 `.bashrc` 或 `.zshrc` 里加: ```bash alias cat='bat' ``` 但注意:这样会破坏一些依赖 `cat` 脚本的行为(比如 `cat file | wc -l` 可能因为分页卡住)。稳妥做法是: ```bash alias cat='bat -pP' # -p 去掉行号/header,-P 禁用分页,行为最接近原生 cat ``` ### 2. 切换颜色主题 先看有哪些主题: ```bash bat --list-themes ``` 然后临时用: ```bash bat --theme=Dracula file.py ``` 永久设置:在 `~/.config/bat/config` 里写: ``` --theme="TwoDark" ``` 我个人推荐 `TwoDark` 和 `Monokai Extended`,看代码眼睛不累。 ### 3. 自定义语法高亮 `bat` 默认会通过文件扩展名和 shebang 判断语言。如果识别错了,可以强制指定: ```bash bat -l yaml Dockerfile ``` 甚至可以用 `-l` 加上语言名或 `.sublime-syntax` 文件路径。 ### 4. 集成到其他工具 **与 fzf 配合**:用 `bat` 预览文件内容 ```bash fzf --preview 'bat --color=always {}' ``` **与 ripgrep 配合**:搜索时带高亮 ```bash rg "pattern" --color=always | bat ``` **与 git diff 配合**:用 bat 显示差异 ```bash git diff --color=always | bat ``` 或者安装 `bat-extras` 里的 `batdiff` 脚本,效果更炸。 ### 5. 缓存管理 `bat` 第一次运行时会生成语法高亮缓存,之后启动飞快。如果想强制刷新: ```bash bat cache --build ``` 如果遇到某些文件高亮不对,清空缓存试试。 ### 6. 自定义 header 格式 默认 header 显示文件名和文件大小。可以改成只显示文件名: ``` --style="header,grid" ``` 或者完全不要 header: ``` --style="plain" ``` 支持的值:`plain`, `header`, `grid`, `numbers`, `changes`, `rule`,可以组合。 ### 7. 在 SSH 远程机器上使用 如果远程机器没装 bat,可以用一个技巧:本地 bat 读取远程文件 ```bash ssh user@host "cat remote_file" | bat -l log ``` 或者更骚的,在远程装 bat 但不想污染环境?用 `bat` 的静态编译二进制,扔到 `~/bin` 就行。 ## 最后说两句 `bat` 是我近几年在终端里装过最值的工具之一。它不改变任何工作流,只是让原本枯燥的输出变得赏心悦目。尤其当你调试日志、审查代码、翻配置文件的时候,那种颜色分明的感觉,真的能提升幸福感。 如果你还在犹豫,就去官网看一眼截图,就一眼,保证你乖乖安装。 对了,别忘了给它配个 alias,然后你就再也回不去了。">,空格显示为 `·`。排查 YAML 缩进问题的时候巨好用。 ### 4. 显示多个文件 ```bash bat file1.py file2.js file3.md ``` 它会依次显示每个文件,文件名会以 header 形式标出来。 ### 5. 只显示某些行 ```bash bat -r 10:20 app.py # 显示第10到20行 bat -r :30 app.py # 显示前30行 bat -r 50: app.py # 显示从50行到结尾 ``` ### 6. 拼接文件内容(替代 cat) ```bash bat file1.txt file2.txt > combined.txt ``` 重定向时不带高亮和行号,纯文本拼接,行为跟 `cat` 一样。 ### 7. 作为 less 的替代 ```bash bat -p file.txt ``` `-p` 或 `--plain` 会禁用所有装饰(行号、header、Git 标记),只保留高亮,配合 `less` 的搜索功能很爽。 ## 进阶技巧 基础用法够日常了,但 `bat` 的真正威力在于深度定制。 ### 1. 设置别名,彻底替代 cat 在 `.bashrc` 或 `.zshrc` 里加: ```bash alias cat='bat' ``` 但注意:这样会破坏一些依赖 `cat` 脚本的行为(比如 `cat file | wc -l` 可能因为分页卡住)。稳妥做法是: ```bash alias cat='bat -pP' # -p 去掉行号/header,-P 禁用分页,行为最接近原生 cat ``` ### 2. 切换颜色主题 先看有哪些主题: ```bash bat --list-themes ``` 然后临时用: ```bash bat --theme=Dracula file.py ``` 永久设置:在 `~/.config/bat/config` 里写: ``` --theme="TwoDark" ``` 我个人推荐 `TwoDark` 和 `Monokai Extended`,看代码眼睛不累。 ### 3. 自定义语法高亮 `bat` 默认会通过文件扩展名和 shebang 判断语言。如果识别错了,可以强制指定: ```bash bat -l yaml Dockerfile ``` 甚至可以用 `-l` 加上语言名或 `.sublime-syntax` 文件路径。 ### 4. 集成到其他工具 **与 fzf 配合**:用 `bat` 预览文件内容 ```bash fzf --preview 'bat --color=always {}' ``` **与 ripgrep 配合**:搜索时带高亮 ```bash rg "pattern" --color=always | bat ``` **与 git diff 配合**:用 bat 显示差异 ```bash git diff --color=always | bat ``` 或者安装 `bat-extras` 里的 `batdiff` 脚本,效果更炸。 ### 5. 缓存管理 `bat` 第一次运行时会生成语法高亮缓存,之后启动飞快。如果想强制刷新: ```bash bat cache --build ``` 如果遇到某些文件高亮不对,清空缓存试试。 ### 6. 自定义 header 格式 默认 header 显示文件名和文件大小。可以改成只显示文件名: ``` --style="header,grid" ``` 或者完全不要 header: ``` --style="plain" ``` 支持的值:`plain`, `header`, `grid`, `numbers`, `changes`, `rule`,可以组合。 ### 7. 在 SSH 远程机器上使用 如果远程机器没装 bat,可以用一个技巧:本地 bat 读取远程文件 ```bash ssh user@host "cat remote_file" | bat -l log ``` 或者更骚的,在远程装 bat 但不想污染环境?用 `bat` 的静态编译二进制,扔到 `~/bin` 就行。 ## 最后说两句 `bat` 是我近几年在终端里装过最值的工具之一。它不改变任何工作流,只是让原本枯燥的输出变得赏心悦目。尤其当你调试日志、审查代码、翻配置文件的时候,那种颜色分明的感觉,真的能提升幸福感。 如果你还在犹豫,就去官网看一眼截图,就一眼,保证你乖乖安装。 对了,别忘了给它配个 alias,然后你就再也回不去了。">bat - notebase.cnbat - notebase.cn,空格显示为 `·`。排查 YAML 缩进问题的时候巨好用。 ### 4. 显示多个文件 ```bash bat file1.py file2.js file3.md ``` 它会依次显示每个文件,文件名会以 header 形式标出来。 ### 5. 只显示某些行 ```bash bat -r 10:20 app.py # 显示第10到20行 bat -r :30 app.py # 显示前30行 bat -r 50: app.py # 显示从50行到结尾 ``` ### 6. 拼接文件内容(替代 cat) ```bash bat file1.txt file2.txt > combined.txt ``` 重定向时不带高亮和行号,纯文本拼接,行为跟 `cat` 一样。 ### 7. 作为 less 的替代 ```bash bat -p file.txt ``` `-p` 或 `--plain` 会禁用所有装饰(行号、header、Git 标记),只保留高亮,配合 `less` 的搜索功能很爽。 ## 进阶技巧 基础用法够日常了,但 `bat` 的真正威力在于深度定制。 ### 1. 设置别名,彻底替代 cat 在 `.bashrc` 或 `.zshrc` 里加: ```bash alias cat='bat' ``` 但注意:这样会破坏一些依赖 `cat` 脚本的行为(比如 `cat file | wc -l` 可能因为分页卡住)。稳妥做法是: ```bash alias cat='bat -pP' # -p 去掉行号/header,-P 禁用分页,行为最接近原生 cat ``` ### 2. 切换颜色主题 先看有哪些主题: ```bash bat --list-themes ``` 然后临时用: ```bash bat --theme=Dracula file.py ``` 永久设置:在 `~/.config/bat/config` 里写: ``` --theme="TwoDark" ``` 我个人推荐 `TwoDark` 和 `Monokai Extended`,看代码眼睛不累。 ### 3. 自定义语法高亮 `bat` 默认会通过文件扩展名和 shebang 判断语言。如果识别错了,可以强制指定: ```bash bat -l yaml Dockerfile ``` 甚至可以用 `-l` 加上语言名或 `.sublime-syntax` 文件路径。 ### 4. 集成到其他工具 **与 fzf 配合**:用 `bat` 预览文件内容 ```bash fzf --preview 'bat --color=always {}' ``` **与 ripgrep 配合**:搜索时带高亮 ```bash rg "pattern" --color=always | bat ``` **与 git diff 配合**:用 bat 显示差异 ```bash git diff --color=always | bat ``` 或者安装 `bat-extras` 里的 `batdiff` 脚本,效果更炸。 ### 5. 缓存管理 `bat` 第一次运行时会生成语法高亮缓存,之后启动飞快。如果想强制刷新: ```bash bat cache --build ``` 如果遇到某些文件高亮不对,清空缓存试试。 ### 6. 自定义 header 格式 默认 header 显示文件名和文件大小。可以改成只显示文件名: ``` --style="header,grid" ``` 或者完全不要 header: ``` --style="plain" ``` 支持的值:`plain`, `header`, `grid`, `numbers`, `changes`, `rule`,可以组合。 ### 7. 在 SSH 远程机器上使用 如果远程机器没装 bat,可以用一个技巧:本地 bat 读取远程文件 ```bash ssh user@host "cat remote_file" | bat -l log ``` 或者更骚的,在远程装 bat 但不想污染环境?用 `bat` 的静态编译二进制,扔到 `~/bin` 就行。 ## 最后说两句 `bat` 是我近几年在终端里装过最值的工具之一。它不改变任何工作流,只是让原本枯燥的输出变得赏心悦目。尤其当你调试日志、审查代码、翻配置文件的时候,那种颜色分明的感觉,真的能提升幸福感。 如果你还在犹豫,就去官网看一眼截图,就一眼,保证你乖乖安装。 对了,别忘了给它配个 alias,然后你就再也回不去了。">,空格显示为 `·`。排查 YAML 缩进问题的时候巨好用。 ### 4. 显示多个文件 ```bash bat file1.py file2.js file3.md ``` 它会依次显示每个文件,文件名会以 header 形式标出来。 ### 5. 只显示某些行 ```bash bat -r 10:20 app.py # 显示第10到20行 bat -r :30 app.py # 显示前30行 bat -r 50: app.py # 显示从50行到结尾 ``` ### 6. 拼接文件内容(替代 cat) ```bash bat file1.txt file2.txt > combined.txt ``` 重定向时不带高亮和行号,纯文本拼接,行为跟 `cat` 一样。 ### 7. 作为 less 的替代 ```bash bat -p file.txt ``` `-p` 或 `--plain` 会禁用所有装饰(行号、header、Git 标记),只保留高亮,配合 `less` 的搜索功能很爽。 ## 进阶技巧 基础用法够日常了,但 `bat` 的真正威力在于深度定制。 ### 1. 设置别名,彻底替代 cat 在 `.bashrc` 或 `.zshrc` 里加: ```bash alias cat='bat' ``` 但注意:这样会破坏一些依赖 `cat` 脚本的行为(比如 `cat file | wc -l` 可能因为分页卡住)。稳妥做法是: ```bash alias cat='bat -pP' # -p 去掉行号/header,-P 禁用分页,行为最接近原生 cat ``` ### 2. 切换颜色主题 先看有哪些主题: ```bash bat --list-themes ``` 然后临时用: ```bash bat --theme=Dracula file.py ``` 永久设置:在 `~/.config/bat/config` 里写: ``` --theme="TwoDark" ``` 我个人推荐 `TwoDark` 和 `Monokai Extended`,看代码眼睛不累。 ### 3. 自定义语法高亮 `bat` 默认会通过文件扩展名和 shebang 判断语言。如果识别错了,可以强制指定: ```bash bat -l yaml Dockerfile ``` 甚至可以用 `-l` 加上语言名或 `.sublime-syntax` 文件路径。 ### 4. 集成到其他工具 **与 fzf 配合**:用 `bat` 预览文件内容 ```bash fzf --preview 'bat --color=always {}' ``` **与 ripgrep 配合**:搜索时带高亮 ```bash rg "pattern" --color=always | bat ``` **与 git diff 配合**:用 bat 显示差异 ```bash git diff --color=always | bat ``` 或者安装 `bat-extras` 里的 `batdiff` 脚本,效果更炸。 ### 5. 缓存管理 `bat` 第一次运行时会生成语法高亮缓存,之后启动飞快。如果想强制刷新: ```bash bat cache --build ``` 如果遇到某些文件高亮不对,清空缓存试试。 ### 6. 自定义 header 格式 默认 header 显示文件名和文件大小。可以改成只显示文件名: ``` --style="header,grid" ``` 或者完全不要 header: ``` --style="plain" ``` 支持的值:`plain`, `header`, `grid`, `numbers`, `changes`, `rule`,可以组合。 ### 7. 在 SSH 远程机器上使用 如果远程机器没装 bat,可以用一个技巧:本地 bat 读取远程文件 ```bash ssh user@host "cat remote_file" | bat -l log ``` 或者更骚的,在远程装 bat 但不想污染环境?用 `bat` 的静态编译二进制,扔到 `~/bin` 就行。 ## 最后说两句 `bat` 是我近几年在终端里装过最值的工具之一。它不改变任何工作流,只是让原本枯燥的输出变得赏心悦目。尤其当你调试日志、审查代码、翻配置文件的时候,那种颜色分明的感觉,真的能提升幸福感。 如果你还在犹豫,就去官网看一眼截图,就一眼,保证你乖乖安装。 对了,别忘了给它配个 alias,然后你就再也回不去了。">,空格显示为 `·`。排查 YAML 缩进问题的时候巨好用。\n\n### 4. 显示多个文件\n\n```bash\nbat file1.py file2.js file3.md\n```\n\n它会依次显示每个文件,文件名会以 header 形式标出来。\n\n### 5. 只显示某些行\n\n```bash\nbat -r 10:20 app.py # 显示第10到20行\nbat -r :30 app.py # 显示前30行\nbat -r 50: app.py # 显示从50行到结尾\n```\n\n### 6. 拼接文件内容(替代 cat)\n\n```bash\nbat file1.txt file2.txt > combined.txt\n```\n\n重定向时不带高亮和行号,纯文本拼接,行为跟 `cat` 一样。\n\n### 7. 作为 less 的替代\n\n```bash\nbat -p file.txt\n```\n\n`-p` 或 `--plain` 会禁用所有装饰(行号、header、Git 标记),只保留高亮,配合 `less` 的搜索功能很爽。\n\n## 进阶技巧\n\n基础用法够日常了,但 `bat` 的真正威力在于深度定制。\n\n### 1. 设置别名,彻底替代 cat\n\n在 `.bashrc` 或 `.zshrc` 里加:\n\n```bash\nalias cat='bat'\n```\n\n但注意:这样会破坏一些依赖 `cat` 脚本的行为(比如 `cat file | wc -l` 可能因为分页卡住)。稳妥做法是:\n\n```bash\nalias cat='bat -pP'\n# -p 去掉行号/header,-P 禁用分页,行为最接近原生 cat\n```\n\n### 2. 切换颜色主题\n\n先看有哪些主题:\n\n```bash\nbat --list-themes\n```\n\n然后临时用:\n\n```bash\nbat --theme=Dracula file.py\n```\n\n永久设置:在 `~/.config/bat/config` 里写:\n\n```\n--theme=\"TwoDark\"\n```\n\n我个人推荐 `TwoDark` 和 `Monokai Extended`,看代码眼睛不累。\n\n### 3. 自定义语法高亮\n\n`bat` 默认会通过文件扩展名和 shebang 判断语言。如果识别错了,可以强制指定:\n\n```bash\nbat -l yaml Dockerfile\n```\n\n甚至可以用 `-l` 加上语言名或 `.sublime-syntax` 文件路径。\n\n### 4. 集成到其他工具\n\n**与 fzf 配合**:用 `bat` 预览文件内容\n\n```bash\nfzf --preview 'bat --color=always {}'\n```\n\n**与 ripgrep 配合**:搜索时带高亮\n\n```bash\nrg \"pattern\" --color=always | bat\n```\n\n**与 git diff 配合**:用 bat 显示差异\n\n```bash\ngit diff --color=always | bat\n```\n\n或者安装 `bat-extras` 里的 `batdiff` 脚本,效果更炸。\n\n### 5. 缓存管理\n\n`bat` 第一次运行时会生成语法高亮缓存,之后启动飞快。如果想强制刷新:\n\n```bash\nbat cache --build\n```\n\n如果遇到某些文件高亮不对,清空缓存试试。\n\n### 6. 自定义 header 格式\n\n默认 header 显示文件名和文件大小。可以改成只显示文件名:\n\n```\n--style=\"header,grid\"\n```\n\n或者完全不要 header:\n\n```\n--style=\"plain\"\n```\n\n支持的值:`plain`, `header`, `grid`, `numbers`, `changes`, `rule`,可以组合。\n\n### 7. 在 SSH 远程机器上使用\n\n如果远程机器没装 bat,可以用一个技巧:本地 bat 读取远程文件\n\n```bash\nssh user@host \"cat remote_file\" | bat -l log\n```\n\n或者更骚的,在远程装 bat 但不想污染环境?用 `bat` 的静态编译二进制,扔到 `~/bin` 就行。\n\n## 最后说两句\n\n`bat` 是我近几年在终端里装过最值的工具之一。它不改变任何工作流,只是让原本枯燥的输出变得赏心悦目。尤其当你调试日志、审查代码、翻配置文件的时候,那种颜色分明的感觉,真的能提升幸福感。\n\n如果你还在犹豫,就去官网看一眼截图,就一眼,保证你乖乖安装。\n\n对了,别忘了给它配个 alias,然后你就再也回不去了。","url":"https://www.notebase.cn/tool/bat-cat-clone","applicationCategory":"DeveloperApplication"},空格显示为 `·`。排查 YAML 缩进问题的时候巨好用。\n\n### 4. 显示多个文件\n\n```bash\nbat file1.py file2.js file3.md\n```\n\n它会依次显示每个文件,文件名会以 header 形式标出来。\n\n### 5. 只显示某些行\n\n```bash\nbat -r 10:20 app.py # 显示第10到20行\nbat -r :30 app.py # 显示前30行\nbat -r 50: app.py # 显示从50行到结尾\n```\n\n### 6. 拼接文件内容(替代 cat)\n\n```bash\nbat file1.txt file2.txt > combined.txt\n```\n\n重定向时不带高亮和行号,纯文本拼接,行为跟 `cat` 一样。\n\n### 7. 作为 less 的替代\n\n```bash\nbat -p file.txt\n```\n\n`-p` 或 `--plain` 会禁用所有装饰(行号、header、Git 标记),只保留高亮,配合 `less` 的搜索功能很爽。\n\n## 进阶技巧\n\n基础用法够日常了,但 `bat` 的真正威力在于深度定制。\n\n### 1. 设置别名,彻底替代 cat\n\n在 `.bashrc` 或 `.zshrc` 里加:\n\n```bash\nalias cat='bat'\n```\n\n但注意:这样会破坏一些依赖 `cat` 脚本的行为(比如 `cat file | wc -l` 可能因为分页卡住)。稳妥做法是:\n\n```bash\nalias cat='bat -pP'\n# -p 去掉行号/header,-P 禁用分页,行为最接近原生 cat\n```\n\n### 2. 切换颜色主题\n\n先看有哪些主题:\n\n```bash\nbat --list-themes\n```\n\n然后临时用:\n\n```bash\nbat --theme=Dracula file.py\n```\n\n永久设置:在 `~/.config/bat/config` 里写:\n\n```\n--theme=\"TwoDark\"\n```\n\n我个人推荐 `TwoDark` 和 `Monokai Extended`,看代码眼睛不累。\n\n### 3. 自定义语法高亮\n\n`bat` 默认会通过文件扩展名和 shebang 判断语言。如果识别错了,可以强制指定:\n\n```bash\nbat -l yaml Dockerfile\n```\n\n甚至可以用 `-l` 加上语言名或 `.sublime-syntax` 文件路径。\n\n### 4. 集成到其他工具\n\n**与 fzf 配合**:用 `bat` 预览文件内容\n\n```bash\nfzf --preview 'bat --color=always {}'\n```\n\n**与 ripgrep 配合**:搜索时带高亮\n\n```bash\nrg \"pattern\" --color=always | bat\n```\n\n**与 git diff 配合**:用 bat 显示差异\n\n```bash\ngit diff --color=always | bat\n```\n\n或者安装 `bat-extras` 里的 `batdiff` 脚本,效果更炸。\n\n### 5. 缓存管理\n\n`bat` 第一次运行时会生成语法高亮缓存,之后启动飞快。如果想强制刷新:\n\n```bash\nbat cache --build\n```\n\n如果遇到某些文件高亮不对,清空缓存试试。\n\n### 6. 自定义 header 格式\n\n默认 header 显示文件名和文件大小。可以改成只显示文件名:\n\n```\n--style=\"header,grid\"\n```\n\n或者完全不要 header:\n\n```\n--style=\"plain\"\n```\n\n支持的值:`plain`, `header`, `grid`, `numbers`, `changes`, `rule`,可以组合。\n\n### 7. 在 SSH 远程机器上使用\n\n如果远程机器没装 bat,可以用一个技巧:本地 bat 读取远程文件\n\n```bash\nssh user@host \"cat remote_file\" | bat -l log\n```\n\n或者更骚的,在远程装 bat 但不想污染环境?用 `bat` 的静态编译二进制,扔到 `~/bin` 就行。\n\n## 最后说两句\n\n`bat` 是我近几年在终端里装过最值的工具之一。它不改变任何工作流,只是让原本枯燥的输出变得赏心悦目。尤其当你调试日志、审查代码、翻配置文件的时候,那种颜色分明的感觉,真的能提升幸福感。\n\n如果你还在犹豫,就去官网看一眼截图,就一眼,保证你乖乖安装。\n\n对了,别忘了给它配个 alias,然后你就再也回不去了。","is_owner":false}