let cat be colorful -- use bat to replace cat
简介
bat的目的非常简单,就是一个带有语法高亮的cat,他们的选项基本都一样,另外它还会自动获取你git的信息,能够标出目前文件和git缓存区文件的区别,这样你一眼就可以看出你的修改。
安装
先安装RUST, 然后
# Recursive clone to retrieve all submodules
git clone --recursive https://github.com/sharkdp/bat
# Build (debug version)
cd bat
cargo build --release
# copy bat to your $PATH
cp target/release/bat /home/harriszh/app/bin
用法
显示单文件: bat README.md
显示多文件: bat src/*.rs
从标准输入读取,显式描述语言: yaml2json .travis.yml | json_pp | bat -l json
和cat
相似:
bat > note.md # 快速创建文件
bat header.md content.md footer.md > document.md
bat -n main.rs # 显示行数, 默认行为
bat f - g # 依次显示文件f, stdin, 文件g
配置
设置主题
#bat
export BAT_THEME=GitHub
export BAT_CONFIG_DIR="$(bat cache --config-dir)"
# use the following command to parse new syntaxed files into a binary cache
#bat cache --init
# use the following command to go back the default setting
#bat cache --clear
可以用bat --list-themes
来得到目前可用的主题
可以用bat --theme=TwoDark
来定义这次使用的主题
可以用bat --style=numbers,changes
来定义输出
添加新的主题
BAT_CONFIG_DIR="$(bat cache --config-dir)"
mkdir -p "$BAT_CONFIG_DIR/themes"
cd "$BAT_CONFIG_DIR/themes"
# Download a theme in '.tmTheme' format, for example:
git clone https://github.com/greggb/sublime-snazzy
# Update the binary cache
bat cache --init
添加新的语法高亮文件
bat使用的是syntest这个语法库,syntest使用的是sublime的语法格式
BAT_CONFIG_DIR="$(bat cache --config-dir)"
mkdir -p "$BAT_CONFIG_DIR/syntaxes"
cd "$BAT_CONFIG_DIR/syntaxes"
# Put new '.sublime-syntax' language definition files
# in this folder (or its subdirectories), for example:
git clone https://github.com/tellnobody1/sublime-purescript-syntax
bat cache --init
如何下载systemverilog语法文件
可以从这里来下载
实际要下的是这两个文件
没有办法直接下载,所以打开文件,然后复制粘贴下来
放到~/.config/bat/syntaxes里, 然后更新bat的语法库
bat cache --init
可以用bat --list-languages
来确认
效果如下:
与git的集成效果
bat会查看当前文件和git缓存里文件的修改,效果如下
如上图69,70行就是新增加的行
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。