[Linux便利コマンド] vividを入れてみる

## 環境

![](https://img.shields.io/badge/centos-7.7.1908-<COLOR>)

## 概要

前回、batを入れたタイミングで作者のgithubを眺めていたら偶然見つけた`vivid`というものを入れてみます。

これは`ls`や`fd`などを実行した際の色を設定している`LS_COLORS`という定数を用意されているカラースキーマから生成してくれるというもののようです。

## vividインストール

```shell
$ cargo install vivid
```

インストールはこれだけ

## vividの設定

themesディレクトリを見てみると下記がありました。

```
ayu.yml
jellybeans.yml
molokai.yml
snazzy.yml
solarized-dark.yml
solarized-light.yml
```

これをbashrcなどで、LS_COLORSに動的に設定するようにします。

```shell
$ vivid generate ayu
fi=0:*~=0;38;2;170;170;170:no=0:pi=0;38;2;0;0;0;48;2;27;125;196:tw=0:bd=0;38;2;0;0;0;48;2;237;102;106:ln=0;38;2;240;113;113:mi=0;38;2;0;0;0;48;2;237;102;106:ow=0:cd=0;38;2;0;0;0;48;2;134;179;0:or=0;38;2;0;0;0;48;2;237;102;106:di=0;38;2;27;125;196:so=0;38;2;0;0;0;48;2;240;113;113:ex=1;38;2;237;102;106:st=0:*.d=0;38;2;49;136;102:*.p=0;38;2;49;136;102:*.o=0;38;2;170;170;170:*.a=1;38;2;237;102;106:*.z=4;38;2;134;179;0:*.m=0;38;2;49;136;102:*.c=0;38;2;49;136;102:*.r=0;38;2;49;136;102:*.t=0;38;2;49;136;102:*.h=0;38;2;49;136;102:*.ll=0;38;2;49;136;102:*.js=0;38;2;49;136;102:*.mn=0;38;2;49;136;102:*.so=1;38;2;237;102;106:*.pl=0;38;2;49;136;102:*.ml=0;38;2;49;136;102:*.cs=0;38;2;49;136;102:*.cp=0;38;2;49;136;102:*.xz=4;38;2;134;179;0:*.jl=0;38;2;49;136;102:*.gz=4;38;2;134;179;0:*.gv=0;38;2;49;136;102:*.go=0;38;2;49;136;102:*.hi=0;38;2;170;170;170:*.hh=0;38;2;49;136;102:*.la=0;38;2;170;170;170:*.ex=0;38;2;49;136;102:*.td=0;38;2;49;136;102:*.ts=0;38;2;49;136;102:*.sh=0;38;2;49;136;102:*.cr=0;38;2;49;136;102:*.py=0;38;2;49;136;102:*.lo=0;38;2;170;170;170:*.rm=0;38;2;240;113;113:*.as=0;38;2;49;136;102:*.nb=0;38;2;49;136;102:*.ko=1;38;2;237;102;106:*.md=0;38;2;237;147;102:*.vb=0;38;2;49;136;102:*.pm=0;38;2;49;136;102:*.bz=4;38;2;134;179;0:*.bc=0;38;2;170;170;170:*.ui=0;38;2;237;147;102:*.7z=4;38;2;134;179;0:*.pp=0;38;2;49;136;102:*.el=0;38;2;49;136;102:*.hs=0;38;2;49;136;102:*css=0;38;2;49;136;102:*.di=0;38;2;49;136;102:*.cc=0;38;2;49;136;102:*.ps=0;38;2;237;102;106:*.rb=0;38;2;49;136;102:*.fs=0;38;2;49;136;102:*.kt=0;38;2;49;136;102:*.rs=0;38;2;49;136;102:*.tgz=4;38;2;134;179;0:*.vcd=4;38;2;134;179;0:*.sql=0;38;2;49;136;102:*.sty=0;38;2;170;170;170:*.rar=4;38;2;134;179;0:*.mpg=0;38;2;240;113;113:*.blg=0;38;2;170;170;170:*.wmv=0;38;2;240;113;113:*.pid=0;38;2;170;170;170:*.cfg=0;38;2;237;147;102:*.gvy=0;38;2;49;136;102:*.tmp=0;38;2;170;170;170:*.ini=0;38;2;237;147;102:*.exe=1;38;2;237;102;106:*.ico=0;38;2;240;113;113:*.wav=0;38;2;240;113;113:*.xls=0;38;2;237;102;106:*.idx=0;38;2;170;170;170:*.ind=0;38;2;170;170;170:*.ppm=0;38;2;240;113;113:*.mkv=0;38;2;240;113;113:*.img=4;38;2;134;179;0:*.dpr=0;38;2;49;136;102:*.bz2=4;38;2;134;179;0:*.jar=4;38;2;134;179;0:*.inc=0;38;2;49;136;102:*.tif=0;38;2;240;113;113:*.csx=0;38;2;49;136;102:*.bib=0;38;2;237;147;102:*.mid=0;38;2;240;113;113:*.exs=0;38;2;49;136;102:*.pas=0;38;2;49;136;102:*.dll=1;38;2;237;102;106:*.kts=0;38;2;49;136;102:*.com=1;38;2;237;102;106:*.bak=0;38;2;170;170;170:*.fsi=0;38;2;49;136;102:*.htc=0;38;2;49;136;102:*.flv=0;38;2;240;113;113:*.mli=0;38;2;49;136;102:*.aux=0;38;2;170;170;170:*.tml=0;38;2;237;147;102:*.ics=0;38;2;237;102;106:*.asa=0;38;2;49;136;102:*.h++=0;38;2;49;136;102:*.ogg=0;38;2;240;113;113:*.gif=0;38;2;240;113;113:*.pod=0;38;2;49;136;102:*.tbz=4;38;2;134;179;0:*.lua=0;38;2;49;136;102:*.bcf=0;38;2;170;170;170:*.php=0;38;2;49;136;102:*.ttf=0;38;2;240;113;113:*.pkg=4;38;2;134;179;0:*.xcf=0;38;2;240;113;113:*.arj=4;38;2;134;179;0:*.sxi=0;38;2;237;102;106:*.sbt=0;38;2;49;136;102:*.xlr=0;38;2;237;102;106:*.ods=0;38;2;237;102;106:*.png=0;38;2;240;113;113:*.clj=0;38;2;49;136;102:*.fsx=0;38;2;49;136;102:*.bag=4;38;2;134;179;0:*.fnt=0;38;2;240;113;113:*.sxw=0;38;2;237;102;106:*.ps1=0;38;2;49;136;102:*.vob=0;38;2;240;113;113:*.mov=0;38;2;240;113;113:*.apk=4;38;2;134;179;0:*.odt=0;38;2;237;102;106:*.hxx=0;38;2;49;136;102:*.def=0;38;2;49;136;102:*.awk=0;38;2;49;136;102:*.pyc=0;38;2;170;170;170:*.xml=0;38;2;237;147;102:*.yml=0;38;2;237;147;102:*TODO=1:*.eps=0;38;2;240;113;113:*.txt=0;38;2;237;147;102:*.tsx=0;38;2;49;136;102:*.htm=0;38;2;237;147;102:*.dmg=4;38;2;134;179;0:*.pro=0;38;2;154;232;69:*.pbm=0;38;2;240;113;113:*.psd=0;38;2;240;113;113:*.bat=1;38;2;237;102;106:*.m4a=0;38;2;240;113;113:*.erl=0;38;2;49;136;102:*.odp=0;38;2;237;102;106:*.zip=4;38;2;134;179;0:*.bbl=0;38;2;170;170;170:*.cxx=0;38;2;49;136;102:*.xmp=0;38;2;237;147;102:*.rtf=0;38;2;237;102;106:*.deb=4;38;2;134;179;0:*.mp3=0;38;2;240;113;113:*.zsh=0;38;2;49;136;102:*.dox=0;38;2;154;232;69:*.out=0;38;2;170;170;170:*.hpp=0;38;2;49;136;102:*.ilg=0;38;2;170;170;170:*.bmp=0;38;2;240;113;113:*.pps=0;38;2;237;102;106:*.rpm=4;38;2;134;179;0:*.nix=0;38;2;237;147;102:*.ltx=0;38;2;49;136;102:*.fon=0;38;2;240;113;113:*.cpp=0;38;2;49;136;102:*.otf=0;38;2;240;113;113:*.inl=0;38;2;49;136;102:*.pgm=0;38;2;240;113;113:*.tcl=0;38;2;49;136;102:*.epp=0;38;2;49;136;102:*.doc=0;38;2;237;102;106:*.cgi=0;38;2;49;136;102:*.rst=0;38;2;237;147;102:*.mp4=0;38;2;240;113;113:*.aif=0;38;2;240;113;113:*.log=0;38;2;170;170;170:*.elm=0;38;2;49;136;102:*.vim=0;38;2;49;136;102:*.fls=0;38;2;170;170;170:*.avi=0;38;2;240;113;113:*.ipp=0;38;2;49;136;102:*.bst=0;38;2;237;147;102:*.pdf=0;38;2;237;102;106:*hgrc=0;38;2;154;232;69:*.tar=4;38;2;134;179;0:*.swp=0;38;2;170;170;170:*.svg=0;38;2;240;113;113:*.m4v=0;38;2;240;113;113:*.tex=0;38;2;49;136;102:*.jpg=0;38;2;240;113;113:*.mir=0;38;2;49;136;102:*.wma=0;38;2;240;113;113:*.bsh=0;38;2;49;136;102:*.csv=0;38;2;237;147;102:*.dot=0;38;2;49;136;102:*.kex=0;38;2;237;102;106:*.bin=4;38;2;134;179;0:*.c++=0;38;2;49;136;102:*.git=0;38;2;170;170;170:*.toc=0;38;2;170;170;170:*.ppt=0;38;2;237;102;106:*.iso=4;38;2;134;179;0:*.swf=0;38;2;240;113;113:*.bash=0;38;2;49;136;102:*.diff=0;38;2;49;136;102:*.html=0;38;2;237;147;102:*.fish=0;38;2;49;136;102:*.pptx=0;38;2;237;102;106:*.dart=0;38;2;49;136;102:*.json=0;38;2;237;147;102:*.lock=0;38;2;170;170;170:*.hgrc=0;38;2;154;232;69:*.psd1=0;38;2;49;136;102:*.epub=0;38;2;237;102;106:*.xlsx=0;38;2;237;102;106:*.orig=0;38;2;170;170;170:*.tbz2=4;38;2;134;179;0:*.java=0;38;2;49;136;102:*.flac=0;38;2;240;113;113:*.lisp=0;38;2;49;136;102:*.mpeg=0;38;2;240;113;113:*.docx=0;38;2;237;102;106:*.make=0;38;2;154;232;69:*.h264=0;38;2;240;113;113:*.psm1=0;38;2;49;136;102:*.tiff=0;38;2;240;113;113:*.jpeg=0;38;2;240;113;113:*.yaml=0;38;2;237;147;102:*.rlib=0;38;2;170;170;170:*.conf=0;38;2;237;147;102:*.toml=0;38;2;237;147;102:*.less=0;38;2;49;136;102:*.purs=0;38;2;49;136;102:*.shtml=0;38;2;237;147;102:*.cabal=0;38;2;49;136;102:*.class=0;38;2;170;170;170:*README=0;38;2;0;0;0;48;2;237;147;102:*.patch=0;38;2;49;136;102:*.scala=0;38;2;49;136;102:*.cmake=0;38;2;154;232;69:*.toast=4;38;2;134;179;0:*.mdown=0;38;2;237;147;102:*.dyn_o=0;38;2;170;170;170:*.cache=0;38;2;170;170;170:*shadow=0;38;2;237;147;102:*.xhtml=0;38;2;237;147;102:*passwd=0;38;2;237;147;102:*.swift=0;38;2;49;136;102:*.ipynb=0;38;2;49;136;102:*.matlab=0;38;2;49;136;102:*TODO.md=1:*INSTALL=0;38;2;0;0;0;48;2;237;147;102:*LICENSE=0;38;2;102;102;102:*.gradle=0;38;2;49;136;102:*.dyn_hi=0;38;2;170;170;170:*.ignore=0;38;2;154;232;69:*.config=0;38;2;237;147;102:*.flake8=0;38;2;154;232;69:*COPYING=0;38;2;102;102;102:*.groovy=0;38;2;49;136;102:*setup.py=0;38;2;154;232;69:*Doxyfile=0;38;2;154;232;69:*TODO.txt=1:*Makefile=0;38;2;154;232;69:*.gemspec=0;38;2;154;232;69:*.desktop=0;38;2;237;147;102:*.DS_Store=0;38;2;170;170;170:*README.md=0;38;2;0;0;0;48;2;237;147;102:*.fdignore=0;38;2;154;232;69:*.kdevelop=0;38;2;154;232;69:*.rgignore=0;38;2;154;232;69:*COPYRIGHT=0;38;2;102;102;102:*configure=0;38;2;154;232;69:*.cmake.in=0;38;2;154;232;69:*.markdown=0;38;2;237;147;102:*INSTALL.md=0;38;2;0;0;0;48;2;237;147;102:*CODEOWNERS=0;38;2;154;232;69:*.localized=0;38;2;170;170;170:*.gitconfig=0;38;2;154;232;69:*SConscript=0;38;2;154;232;69:*.scons_opt=0;38;2;170;170;170:*SConstruct=0;38;2;154;232;69:*.gitignore=0;38;2;154;232;69:*Dockerfile=0;38;2;237;147;102:*README.txt=0;38;2;0;0;0;48;2;237;147;102:*LICENSE-MIT=0;38;2;102;102;102:*MANIFEST.in=0;38;2;154;232;69:*Makefile.am=0;38;2;154;232;69:*Makefile.in=0;38;2;170;170;170:*INSTALL.txt=0;38;2;0;0;0;48;2;237;147;102:*.gitmodules=0;38;2;154;232;69:*.travis.yml=0;38;2;49;136;102:*.synctex.gz=0;38;2;170;170;170:*CONTRIBUTORS=0;38;2;0;0;0;48;2;237;147;102:*appveyor.yml=0;38;2;49;136;102:*configure.ac=0;38;2;154;232;69:*.fdb_latexmk=0;38;2;170;170;170:*.applescript=0;38;2;49;136;102:*.clang-format=0;38;2;154;232;69:*.gitattributes=0;38;2;154;232;69:*CMakeLists.txt=0;38;2;154;232;69:*LICENSE-APACHE=0;38;2;102;102;102:*CMakeCache.txt=0;38;2;170;170;170:*CONTRIBUTORS.md=0;38;2;0;0;0;48;2;237;147;102:*CONTRIBUTORS.txt=0;38;2;0;0;0;48;2;237;147;102:*.sconsign.dblite=0;38;2;170;170;170:*requirements.txt=0;38;2;154;232;69:*package-lock.json=0;38;2;170;170;170:*.CFUserTextEncoding=0;38;2;170;170;170
```

`vivid generate`にて生成してくれるものをexportで設定する

```shell:~/.bashrc
if [[ $(command -v vivid) ]]; then
  export LS_COLORS="$(vivid generate ayu)"
fi
```

vividがインストールされていればLS_COLORSに動的に`ayu`を適用させます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/219776/6e5d9fb2-b4a5-e669-30d9-8552659bbc2f.png)

こんな感じで色が付きました :smile: