目次

bat、cowsay、figlet、toilet、lolcat、neofetch

cowsay、figlet、toilet、lolcat、neofetch 001

本家: toilet – Caca Labs 翻訳

インストール

$ sudo dnf install -y bat cowsay figlet toilet lolcat neofetch

メタデータの期限切れの最終確認: 2:18:03 前の 2024年03月08日 10時26分44秒 に実施しました。
依存関係が解決しました。
==============================================================================================================
 パッケージ                Arch            バージョン                                  リポジトリー     サイズ
==============================================================================================================
インストール:
 bat                       x86_64          0.24.0-3.fc39                               updates          2.5 M
 cowsay                    noarch          3.7.0-10.fc39                               updates           51 k
 figlet                    x86_64          2.2.5-26.20151018gita565ae1.fc39            fedora           137 k
 lolcat                    x86_64          1.4-2.fc39                                  fedora            21 k
 neofetch                  noarch          7.1.0-10.fc39                               fedora            89 k
 toilet                    x86_64          0.3-15.fc39                                 fedora           730 k
依存関係のインストール:
 catimg                    x86_64          2.7.0-9.fc39                                fedora            55 k
 gdk-pixbuf2-xlib          x86_64          2.40.2-7.fc39                               fedora            56 k
 imlib2                    x86_64          1.11.1-3.fc39                               fedora           259 k
 libXxf86dga               x86_64          1.1.5-11.fc39                               fedora            20 k
 perl-NKF                  x86_64          1:2.1.4-30.fc39                             fedora           143 k
 w3m                       x86_64          0.5.3-61.git20230121.fc39                   fedora           1.1 M
弱い依存関係のインストール:
 caca-utils                x86_64          0.99-0.69.beta20.fc39                       updates           98 k
 w3m-img                   x86_64          0.5.3-61.git20230121.fc39                   fedora            23 k
 xdpyinfo                  x86_64          1.3.3-4.fc39                                fedora            26 k
 xrandr                    x86_64          1.5.2-3.fc39                                fedora            46 k
 xwininfo                  x86_64          1.1.5-7.fc39                                fedora            32 k

トランザクションの概要
==============================================================================================================
インストール  17 パッケージ

ダウンロードサイズの合計: 5.4 M
インストール後のサイズ: 12 M
パッケージのダウンロード:
(1/17): catimg-2.7.0-9.fc39.x86_64.rpm                                         39 kB/s |  55 kB     00:01    
(2/17): gdk-pixbuf2-xlib-2.40.2-7.fc39.x86_64.rpm                              31 kB/s |  56 kB     00:01    
(3/17): figlet-2.2.5-26.20151018gita565ae1.fc39.x86_64.rpm                     71 kB/s | 137 kB     00:01    
(4/17): libXxf86dga-1.1.5-11.fc39.x86_64.rpm                                   48 kB/s |  20 kB     00:00    
(5/17): lolcat-1.4-2.fc39.x86_64.rpm                                           44 kB/s |  21 kB     00:00    
(6/17): imlib2-1.11.1-3.fc39.x86_64.rpm                                       225 kB/s | 259 kB     00:01    
(7/17): neofetch-7.1.0-10.fc39.noarch.rpm                                     221 kB/s |  89 kB     00:00    
(8/17): perl-NKF-2.1.4-30.fc39.x86_64.rpm                                     176 kB/s | 143 kB     00:00    
(9/17): w3m-img-0.5.3-61.git20230121.fc39.x86_64.rpm                           71 kB/s |  23 kB     00:00    
(10/17): toilet-0.3-15.fc39.x86_64.rpm                                        677 kB/s | 730 kB     00:01    
(11/17): xdpyinfo-1.3.3-4.fc39.x86_64.rpm                                     109 kB/s |  26 kB     00:00    
(12/17): xwininfo-1.1.5-7.fc39.x86_64.rpm                                     116 kB/s |  32 kB     00:00    
(13/17): xrandr-1.5.2-3.fc39.x86_64.rpm                                        98 kB/s |  46 kB     00:00    
(14/17): caca-utils-0.99-0.69.beta20.fc39.x86_64.rpm                          196 kB/s |  98 kB     00:00    
(15/17): cowsay-3.7.0-10.fc39.noarch.rpm                                       96 kB/s |  51 kB     00:00    
(16/17): w3m-0.5.3-61.git20230121.fc39.x86_64.rpm                             348 kB/s | 1.1 MB     00:03    
(17/17): bat-0.24.0-3.fc39.x86_64.rpm                                         662 kB/s | 2.5 MB     00:03    
--------------------------------------------------------------------------------------------------------------
合計                                                                          507 kB/s | 5.4 MB     00:10     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                      1/1 
  インストール中   : xwininfo-1.1.5-7.fc39.x86_64                                                        1/17 
  インストール中   : xrandr-1.5.2-3.fc39.x86_64                                                          2/17 
  インストール中   : toilet-0.3-15.fc39.x86_64                                                           3/17 
  インストール中   : perl-NKF-1:2.1.4-30.fc39.x86_64                                                     4/17 
  インストール中   : w3m-0.5.3-61.git20230121.fc39.x86_64                                                5/17 
  インストール中   : libXxf86dga-1.1.5-11.fc39.x86_64                                                    6/17 
  インストール中   : xdpyinfo-1.3.3-4.fc39.x86_64                                                        7/17 
  インストール中   : imlib2-1.11.1-3.fc39.x86_64                                                         8/17 
  インストール中   : caca-utils-0.99-0.69.beta20.fc39.x86_64                                             9/17 
  インストール中   : gdk-pixbuf2-xlib-2.40.2-7.fc39.x86_64                                              10/17 
  インストール中   : w3m-img-0.5.3-61.git20230121.fc39.x86_64                                           11/17 
  インストール中   : catimg-2.7.0-9.fc39.x86_64                                                         12/17 
  インストール中   : neofetch-7.1.0-10.fc39.noarch                                                      13/17 
  インストール中   : cowsay-3.7.0-10.fc39.noarch                                                        14/17 
  インストール中   : bat-0.24.0-3.fc39.x86_64                                                           15/17 
  インストール中   : lolcat-1.4-2.fc39.x86_64                                                           16/17 
  インストール中   : figlet-2.2.5-26.20151018gita565ae1.fc39.x86_64                                     17/17 
  scriptletの実行中: figlet-2.2.5-26.20151018gita565ae1.fc39.x86_64                                     17/17 
  検証             : catimg-2.7.0-9.fc39.x86_64                                                          1/17 
  検証             : figlet-2.2.5-26.20151018gita565ae1.fc39.x86_64                                      2/17 
  検証             : gdk-pixbuf2-xlib-2.40.2-7.fc39.x86_64                                               3/17 
  検証             : imlib2-1.11.1-3.fc39.x86_64                                                         4/17 
  検証             : libXxf86dga-1.1.5-11.fc39.x86_64                                                    5/17 
  検証             : lolcat-1.4-2.fc39.x86_64                                                            6/17 
  検証             : neofetch-7.1.0-10.fc39.noarch                                                       7/17 
  検証             : perl-NKF-1:2.1.4-30.fc39.x86_64                                                     8/17 
  検証             : toilet-0.3-15.fc39.x86_64                                                           9/17 
  検証             : w3m-0.5.3-61.git20230121.fc39.x86_64                                               10/17 
  検証             : w3m-img-0.5.3-61.git20230121.fc39.x86_64                                           11/17 
  検証             : xdpyinfo-1.3.3-4.fc39.x86_64                                                       12/17 
  検証             : xrandr-1.5.2-3.fc39.x86_64                                                         13/17 
  検証             : xwininfo-1.1.5-7.fc39.x86_64                                                       14/17 
  検証             : bat-0.24.0-3.fc39.x86_64                                                           15/17 
  検証             : caca-utils-0.99-0.69.beta20.fc39.x86_64                                            16/17 
  検証             : cowsay-3.7.0-10.fc39.noarch                                                        17/17 

インストール済み:
  bat-0.24.0-3.fc39.x86_64                                 caca-utils-0.99-0.69.beta20.fc39.x86_64           
  catimg-2.7.0-9.fc39.x86_64                               cowsay-3.7.0-10.fc39.noarch                       
  figlet-2.2.5-26.20151018gita565ae1.fc39.x86_64           gdk-pixbuf2-xlib-2.40.2-7.fc39.x86_64             
  imlib2-1.11.1-3.fc39.x86_64                              libXxf86dga-1.1.5-11.fc39.x86_64                  
  lolcat-1.4-2.fc39.x86_64                                 neofetch-7.1.0-10.fc39.noarch                     
  perl-NKF-1:2.1.4-30.fc39.x86_64                          toilet-0.3-15.fc39.x86_64                         
  w3m-0.5.3-61.git20230121.fc39.x86_64                     w3m-img-0.5.3-61.git20230121.fc39.x86_64          
  xdpyinfo-1.3.3-4.fc39.x86_64                             xrandr-1.5.2-3.fc39.x86_64                        
  xwininfo-1.1.5-7.fc39.x86_64                            

完了しました!

figlet フォントのダウンロード🤔

$ git clone --depth 1 https://github.com/xero/figlet-fonts.git

Cloning into 'figlet-fonts'...
remote: Enumerating objects: 413, done.
remote: Counting objects: 100% (413/413), done.
remote: Compressing objects: 100% (382/382), done.
remote: Total 413 (delta 31), reused 409 (delta 31), pack-reused 0
Receiving objects: 100% (413/413), 1.31 MiB | 2.02 MiB/s, done.
Resolving deltas: 100% (31/31), done.

実行例

bat - シンタックスハイライトとGitとの連携機能付きの cat(1) クローン

使い方

ヘルプ

$ bat --help                       

A cat(1) clone with syntax highlighting and Git integration.

Usage: bat [OPTIONS] [FILE]...
       bat <COMMAND>

Arguments:
  [FILE]...
          File(s) to print / concatenate. Use a dash ('-') or no argument at all to read from
          standard input.

Options:
  -A, --show-all
          Show non-printable characters like space, tab or newline. This option can also be used to
          print binary files. Use '--tabs' to control the width of the tab-placeholders.

      --nonprintable-notation <notation>
          Set notation for non-printable characters.
          
          Possible values:
            * unicode (␇, ␊, ␀, ..)
            * caret   (^G, ^J, ^@, ..)

  -p, --plain...
          Only show plain style, no decorations. This is an alias for '--style=plain'. When '-p' is
          used twice ('-pp'), it also disables automatic paging (alias for '--style=plain
          --paging=never').

  -l, --language <language>
          Explicitly set the language for syntax highlighting. The language can be specified as a
          name (like 'C++' or 'LaTeX') or possible file extension (like 'cpp', 'hpp' or 'md'). Use
          '--list-languages' to show all supported language names and file extensions.

  -H, --highlight-line <N:M>
          Highlight the specified line ranges with a different background color For example:
            '--highlight-line 40' highlights line 40
            '--highlight-line 30:40' highlights lines 30 to 40
            '--highlight-line :40' highlights lines 1 to 40
            '--highlight-line 40:' highlights lines 40 to the end of the file
            '--highlight-line 30:+10' highlights lines 30 to 40

      --file-name <name>
          Specify the name to display for a file. Useful when piping data to bat from STDIN when bat
          does not otherwise know the filename. Note that the provided file name is also used for
          syntax detection.

  -d, --diff
          Only show lines that have been added/removed/modified with respect to the Git index. Use
          --diff-context=N to control how much context you want to see.

      --diff-context <N>
          Include N lines of context around added/removed/modified lines when using '--diff'.

      --tabs <T>
          Set the tab width to T spaces. Use a width of 0 to pass tabs through directly

      --wrap <mode>
          Specify the text-wrapping mode (*auto*, never, character). The '--terminal-width' option
          can be used in addition to control the output width.

  -S, --chop-long-lines
          Truncate all lines longer than screen width. Alias for '--wrap=never'.

      --terminal-width <width>
          Explicitly set the width of the terminal instead of determining it automatically. If
          prefixed with '+' or '-', the value will be treated as an offset to the actual terminal
          width. See also: '--wrap'.

  -n, --number
          Only show line numbers, no other decorations. This is an alias for '--style=numbers'

      --color <when>
          Specify when to use colored output. The automatic mode only enables colors if an
          interactive terminal is detected - colors are automatically disabled if the output goes to
          a pipe.
          Possible values: *auto*, never, always.

      --italic-text <when>
          Specify when to use ANSI sequences for italic text in the output. Possible values: always,
          *never*.

      --decorations <when>
          Specify when to use the decorations that have been specified via '--style'. The automatic
          mode only enables decorations if an interactive terminal is detected. Possible values:
          *auto*, never, always.

  -f, --force-colorization
          Alias for '--decorations=always --color=always'. This is useful if the output of bat is
          piped to another program, but you want to keep the colorization/decorations.

      --paging <when>
          Specify when to use the pager. To disable the pager, use --paging=never' or its
          alias,'-P'. To disable the pager permanently, set BAT_PAGING to 'never'. To control which
          pager is used, see the '--pager' option. Possible values: *auto*, never, always.

      --pager <command>
          Determine which pager is used. This option will override the PAGER and BAT_PAGER
          environment variables. The default pager is 'less'. To control when the pager is used, see
          the '--paging' option. Example: '--pager "less -RF"'.

  -m, --map-syntax <glob:syntax>
          Map a glob pattern to an existing syntax name. The glob pattern is matched on the full
          path and the filename. For example, to highlight *.build files with the Python syntax, use
          -m '*.build:Python'. To highlight files named '.myignore' with the Git Ignore syntax, use
          -m '.myignore:Git Ignore'. Note that the right-hand side is the *name* of the syntax, not
          a file extension.

      --ignored-suffix <ignored-suffix>
          Ignore extension. For example:
            'bat --ignored-suffix ".dev" my_file.json.dev' will use JSON syntax, and ignore '.dev'

      --theme <theme>
          Set the theme for syntax highlighting. Use '--list-themes' to see all available themes. To
          set a default theme, add the '--theme="..."' option to the configuration file or export
          the BAT_THEME environment variable (e.g.: export BAT_THEME="...").

      --list-themes
          Display a list of supported themes for syntax highlighting.

      --style <components>
          Configure which elements (line numbers, file headers, grid borders, Git modifications, ..)
          to display in addition to the file contents. The argument is a comma-separated list of
          components to display (e.g. 'numbers,changes,grid') or a pre-defined style ('full'). To
          set a default style, add the '--style=".."' option to the configuration file or export the
          BAT_STYLE environment variable (e.g.: export BAT_STYLE="..").
          
          Possible values:
          
            * default: enables recommended style components (default).
            * full: enables all available components.
            * auto: same as 'default', unless the output is piped.
            * plain: disables all available components.
            * changes: show Git modification markers.
            * header: alias for 'header-filename'.
            * header-filename: show filenames before the content.
            * header-filesize: show file sizes before the content.
            * grid: vertical/horizontal lines to separate side bar
                    and the header from the content.
            * rule: horizontal lines to delimit files.
            * numbers: show line numbers in the side bar.
            * snip: draw separation lines between distinct line ranges.

  -r, --line-range <N:M>
          Only print the specified range of lines for each file. For example:
            '--line-range 30:40' prints lines 30 to 40
            '--line-range :40' prints lines 1 to 40
            '--line-range 40:' prints lines 40 to the end of the file
            '--line-range 40' only prints line 40
            '--line-range 30:+10' prints lines 30 to 40

  -L, --list-languages
          Display a list of supported languages for syntax highlighting.

  -u, --unbuffered
          This option exists for POSIX-compliance reasons ('u' is for 'unbuffered'). The output is
          always unbuffered - this option is simply ignored.

      --diagnostic
          Show diagnostic information for bug reports.

      --acknowledgements
          Show acknowledgements.

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

You can use 'bat cache' to customize syntaxes and themes. See 'bat cache --help' for more
information

カラーテーマの一覧🤔

$ bat --list-themes

Theme: 1337

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: Coldark-Cold

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: Coldark-Dark

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: DarkNeon

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: Dracula

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: GitHub

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: Monokai Extended

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: Monokai Extended Bright

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: Monokai Extended Light

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: Monokai Extended Origin

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: Nord

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: OneHalfDark

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: OneHalfLight

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: Solarized (dark)

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: Solarized (light)

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: Sublime Snazzy

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: TwoDark

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: Visual Studio Dark+

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: ansi

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: base16

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: base16-256

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: gruvbox-dark

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: gruvbox-light

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Theme: zenburn

  // Output the square of a number.
  fn print_square(num: f64) {
      let result = f64::powf(num, 2.0);
      println!("The square of {:.2} is {:.2}.", num, result);
  }

Further themes can be installed to '/home/tomoyan/.config/bat/themes', and are added to the cache with `bat cache --build`. For more information, see:

  https://github.com/sharkdp/bat#adding-new-themes

サポート言語の一覧🤔

$ bat --list-languages

ActionScript              as
Ada                       adb, ads, gpr
Apache Conf               envvars, htaccess, HTACCESS, htgroups, HTGROUPS, htpasswd, HTPASSWD, .htaccess, 
                          .HTACCESS, .htgroups, .HTGROUPS, .htpasswd, .HTPASSWD, /etc/apache2/**/*.conf, 
                          /etc/apache2/sites-*/**/*, httpd.conf
AppleScript               applescript, script editor
ARM Assembly              s, S
AsciiDoc (Asciidoctor)    adoc, ad, asciidoc
ASP                       asa
Assembly (x86_64)         yasm, nasm, asm, inc, mac
Authorized Keys           authorized_keys, pub, authorized_keys2
AWK                       awk
Batch File                bat, cmd
BibTeX                    bib
Bourne Again Shell (bash) sh, bash, zsh, ash, .bash_aliases, .bash_completions, .bash_functions, 
                          .bash_login, .bash_logout, .bash_profile, .bash_variables, .bashrc, .profile, 
                          .textmate_init, .zlogin, .zlogout, .zprofile, .zshenv, .zshrc, PKGBUILD, ebuild, 
                          eclass, **/bat/config, /etc/profile, os-release, *.ksh
C                         c
C#                        cs, csx
C++                       cpp, cc, cp, cxx, c++, h, hh, hpp, hxx, h++, inl, ipp, *.h
Cabal                     cabal
Clojure                   clj, cljc, cljs, edn
CMake                     CMakeLists.txt, cmake
CMake C Header            h.in
CMake C++ Header          hh.in, hpp.in, hxx.in, h++.in
CMakeCache                CMakeCache.txt
CoffeeScript              coffee, Cakefile, coffee.erb, cson
Comma Separated Values    csv, tsv
Command Help              cmd-help, help
CpuInfo                   cpuinfo
Crontab                   tab, crontab, cron.d
Crystal                   cr
CSS                       css, css.erb, css.liquid
D                         d, di
Dart                      dart
Diff                      diff, patch
Dockerfile                Dockerfile, dockerfile, .Dockerfile, Containerfile
DotENV                    .env, .env.dist, .env.local, .env.sample, .env.example, .env.template, .env.test, 
                          .env.test.local, .env.testing, .env.dev, .env.development, .env.development.local, 
                          .env.prod, .env.production, .env.production.local, .env.dusk.local, .env.staging, 
                          .env.default, .env.defaults, .envrc, .flaskenv, env, env.example, env.sample, 
                          env.template
Elixir                    ex, exs
Elm                       elm
Email                     eml, msg, mbx, mboxz, /var/spool/mail/*, /var/mail/*
Erlang                    erl, hrl, Emakefile, emakefile, escript
F#                        fs, fsi, fsx, *.fs
Fish                      fish
Fortran (Fixed Form)      f, F, f77, F77, for, FOR, fpp, FPP
Fortran (Modern)          f90, F90, f95, F95, f03, F03, f08, F08
Fortran Namelist          namelist
fstab                     fstab, crypttab, mtab
Git Attributes            attributes, gitattributes, .gitattributes, /home/tomoyan/.config/git/attributes
Git Commit                COMMIT_EDITMSG, MERGE_MSG, TAG_EDITMSG
Git Config                gitconfig, .gitconfig, .gitmodules, /home/tomoyan/.config/git/config
Git Ignore                exclude, gitignore, .gitignore, /home/tomoyan/.config/git/ignore
Git Link                  .git
Git Log                   gitlog
Git Mailmap               .mailmap, mailmap
Git Rebase Todo           git-rebase-todo
GLSL                      vs, gs, vsh, fsh, gsh, vshader, fshader, gshader, vert, frag, geom, tesc, tese, 
                          comp, glsl, mesh, task, rgen, rint, rahit, rchit, rmiss, rcall
gnuplot                   gp, gpl, gnuplot, gnu, plot, plt
Go                        go
GraphQL                   graphql, graphqls, gql
Graphviz (DOT)            dot, DOT, gv
Groff/troff               groff, troff, 1, 2, 3, 4, 5, 6, 7, 8, 9
Groovy                    groovy, gvy, gradle, Jenkinsfile
group                     group
Haskell                   hs
Highlight non-printables  show-nonprintable
hosts                     hosts
HTML                      html, htm, shtml, xhtml
HTML (ASP)                asp
HTML (EEx)                html.eex, html.leex
HTML (Erlang)             yaws
HTML (Jinja2)             htm.j2, html.j2, xhtml.j2, xml.j2
HTML (Rails)              rails, rhtml, erb, html.erb
HTML (Tcl)                adp
HTML (Twig)               twig, html.twig
HTTP Request and Response http
INI                       ini, INI, inf, INF, reg, REG, lng, cfg, CFG, desktop, url, URL, .editorconfig, 
                          .coveragerc, .pylintrc, .gitlint, .hgrc, hgrc, **/systemd/**/*.conf, 
                          **/systemd/**/*.example, *.automount, *.device, *.dnssd, *.link, *.mount, 
                          *.netdev, *.network, *.nspawn, *.path, *.service, *.scope, *.slice, *.socket, 
                          *.swap, *.target, *.timer, *.hook
Java                      java, bsh
Java Properties           properties
Java Server Page (JSP)    jsp
JavaScript                htc
JavaScript (Babel)        js, mjs, jsx, babel, es6, cjs, *.pac
JavaScript (Rails)        js.erb
Jinja2                    j2, jinja2, jinja
JQ                        jq
JSON                      json, sublime-settings, sublime-menu, sublime-keymap, sublime-mousemap, 
                          sublime-theme, sublime-build, sublime-project, sublime-completions, 
                          sublime-commands, sublime-macro, sublime-color-scheme, ipynb, Pipfile.lock, 
                          *.jsonl, *.sarif
jsonnet                   jsonnet, libsonnet, libjsonnet
Julia                     jl
Known Hosts               known_hosts, known_hosts.old
Kotlin                    kt, kts
LaTeX                     tex, ltx
Lean                      lean
Less                      less, css.less
Lisp                      lisp, cl, clisp, l, mud, el, scm, ss, lsp, fasl
Literate Haskell          lhs
LiveScript                ls, Slakefile, ls.erb
LLVM                      ll
log                       log
Lua                       lua, *.nse
Makefile                  make, GNUmakefile, makefile, Makefile, makefile.am, Makefile.am, makefile.in, 
                          Makefile.in, OCamlMakefile, mak, mk
Manpage                   man
Markdown                  md, mdown, markdown, markdn
MATLAB                    matlab
MediaWiki                 mediawiki, wikipedia, wiki
MemInfo                   meminfo
NAnt Build File           build
nginx                     conf.erb, nginx.conf, mime.types, fastcgi_params, scgi_params, uwsgi_params, 
                          /etc/nginx/**/*.conf, /etc/nginx/sites-*/**/*, nginx.conf, mime.types
Nim                       nim, nims, nimble
Ninja                     ninja
Nix                       nix
NSIS                      nsi, nsh, bnsi, bnsh, nsdinc
Objective-C               m
Objective-C++             mm
OCaml                     ml, mli
OCamllex                  mll
OCamlyacc                 mly
orgmode                   org
Pascal                    pas, p, dpr
passwd                    passwd
Perl                      pl, pc, pm, pmc, pod, t
PHP                       php, php3, php4, php5, php7, phps, phpt, phtml
Plain Text                txt
PowerShell                ps1, psm1, psd1
Protocol Buffer           proto, protodevel
Protocol Buffer (TEXT)    pb.txt, proto.text, textpb, pbtxt, prototxt
Puppet                    pp, epp
PureScript                purs
Python                    py, py3, pyw, pyi, pyx, pyx.in, pxd, pxd.in, pxi, pxi.in, rpy, cpy, SConstruct, 
                          Sconstruct, sconstruct, SConscript, gyp, gypi, Snakefile, vpy, wscript, bazel, 
                          bzl
QML                       qml, qmlproject
R                         R, r, Rprofile
Racket                    rkt
Rd (R Documentation)      rd
Rego                      rego
Regular Expression        re
Requirements.txt          requirements.txt, requirements.in, pip
resolv                    resolv.conf
reStructuredText          rst, rest
Robot Framework           robot, resource
Ruby                      rb, Appfile, Appraisals, Berksfile, Brewfile, capfile, cgi, Cheffile, config.ru, 
                          Deliverfile, Fastfile, fcgi, Gemfile, gemspec, Guardfile, irbrc, jbuilder, 
                          Podfile, podspec, prawn, rabl, rake, Rakefile, Rantfile, rbx, rjs, ruby.rail, 
                          Scanfile, simplecov, Snapfile, thor, Thorfile, Vagrantfile
Ruby Haml                 haml
Ruby on Rails             rxml, builder
Ruby Slim                 slim, skim
Rust                      rs, *.ron
Salt State (SLS)          sls
Sass                      sass
Scala                     scala, sbt, sc
SCSS                      scss
SML                       sml, cm, sig
Solidity                  sol
SQL                       sql, ddl, dml
SQL (Rails)               erbsql, sql.erb
SSH Config                ssh_config, **/.ssh/config
SSHD Config               sshd_config
Strace                    strace
Stylus                    styl, stylus
Svelte                    svlt, svelte
Swift                     swift
syslog                    syslog
SystemVerilog             sv, svh, vh
Tcl                       tcl
Terraform                 tf, tfvars, hcl
TeX                       sty, cls
Textile                   textile
Todo.txt                  todo.txt, done.txt
TOML                      toml, tml, Cargo.lock, Gopkg.lock, Pipfile, pdm.lock, poetry.lock
TypeScript                ts, mts, cts
TypeScriptReact           tsx
varlink                   varlink
Verilog                   v, V
VimHelp                   vimhelp
VimL                      vim, vimrc, gvimrc, .vimrc, .gvimrc, _vimrc, _gvimrc
Vue Component             vue
Vyper                     vy
WGSL                      wgsl
XML                       xml, xsd, xslt, tld, dtml, rng, rss, opml, svg, xaml
YAML                      yaml, yml, sublime-syntax, .clang-format, fish_history
Zig                       zig

bat + fzf

fzf をインストールしてテーマをプレビューする🤔

$ bat --list-themes | fzf --preview="bat --theme={} --color=always ~/.bashrc"

bat_fzf_001

strace 出力のカラー化😍

$ strace xinput --list 2>&1 | bat -p -l strace --pager no

execve("/usr/bin/xinput", ["xinput", "--list"], 0x7ffef053d348 /* 80 vars */) = 0
brk(NULL)                               = 0x55f2c1549000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f406c3d4000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "/usr/local/cuda/lib64/glibc-hwcaps/x86-64-v2/libX11.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
newfstatat(AT_FDCWD, "/usr/local/cuda/lib64/glibc-hwcaps/x86-64-v2/", 0x7ffccf18f5f0, 0) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "/usr/local/cuda/lib64/libX11.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
newfstatat(AT_FDCWD, "/usr/local/cuda/lib64/", {st_mode=S_IFDIR|0755, st_size=3532, ...}, 0) = 0
openat(AT_FDCWD, "glibc-hwcaps/x86-64-v2/libX11.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "libX11.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=142027, ...}) = 0
mmap(NULL, 142027, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f406c3b1000
close(3)                                = 0
openat(AT_FDCWD, "/lib64/libX11.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1342912, ...}) = 0
mmap(NULL, 1329352, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f406c26c000
mmap(0x7f406c26d000, 622592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f406c26d000
mmap(0x7f406c305000, 675840, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x99000) = 0x7f406c305000
mmap(0x7f406c3aa000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13d000) = 0x7f406c3aa000
close(3)                                = 0
openat(AT_FDCWD, "/usr/local/cuda/lib64/libXi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "glibc-hwcaps/x86-64-v2/libXi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "libXi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "/lib64/libXi.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=74160, ...}) = 0
mmap(NULL, 73832, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f406c259000
mmap(0x7f406c25a000, 49152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f406c25a000
mmap(0x7f406c266000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd000) = 0x7f406c266000
mmap(0x7f406c26a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x7f406c26a000
close(3)                                = 0
openat(AT_FDCWD, "/usr/local/cuda/lib64/libXrandr.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "glibc-hwcaps/x86-64-v2/libXrandr.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "libXrandr.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "/lib64/libXrandr.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=49320, ...}) = 0
mmap(NULL, 49320, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f406c24c000
mmap(0x7f406c24e000, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f406c24e000
mmap(0x7f406c255000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f406c255000
mmap(0x7f406c257000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f406c257000
close(3)                                = 0
openat(AT_FDCWD, "/usr/local/cuda/lib64/libXinerama.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "glibc-hwcaps/x86-64-v2/libXinerama.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "libXinerama.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "/lib64/libXinerama.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=15856, ...}) = 0
mmap(NULL, 16520, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f406c247000
mmap(0x7f406c248000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f406c248000
mmap(0x7f406c249000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f406c249000
mmap(0x7f406c24a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f406c24a000
close(3)                                = 0
openat(AT_FDCWD, "/usr/local/cuda/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "glibc-hwcaps/x86-64-v2/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 4\0\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
fstat(3, {st_mode=S_IFREG|0755, st_size=2454184, ...}) = 0
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
mmap(NULL, 2042904, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f406c054000
mmap(0x7f406c055000, 1503232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f406c055000
mmap(0x7f406c1c4000, 479232, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x170000) = 0x7f406c1c4000
mmap(0x7f406c239000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e5000) = 0x7f406c239000
mmap(0x7f406c23f000, 31768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f406c23f000
close(3)                                = 0
openat(AT_FDCWD, "/usr/local/cuda/lib64/libxcb.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "glibc-hwcaps/x86-64-v2/libxcb.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "libxcb.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "/lib64/libxcb.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=181824, ...}) = 0
mmap(NULL, 176296, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f406c028000
mmap(0x7f406c03e000, 81920, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7f406c03e000
mmap(0x7f406c052000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2a000) = 0x7f406c052000
close(3)                                = 0
openat(AT_FDCWD, "/usr/local/cuda/lib64/libXext.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "glibc-hwcaps/x86-64-v2/libXext.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "libXext.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f406c026000
openat(AT_FDCWD, "/lib64/libXext.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=80144, ...}) = 0
mmap(NULL, 79648, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f406c012000
mmap(0x7f406c016000, 45056, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f406c016000
mmap(0x7f406c021000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7f406c021000
mmap(0x7f406c024000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x7f406c024000
close(3)                                = 0
openat(AT_FDCWD, "/usr/local/cuda/lib64/libXrender.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "glibc-hwcaps/x86-64-v2/libXrender.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "libXrender.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "/lib64/libXrender.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=47624, ...}) = 0
mmap(NULL, 49456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f406c005000
mmap(0x7f406c00d000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x7f406c00d000
mmap(0x7f406c010000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f406c010000
close(3)                                = 0
openat(AT_FDCWD, "/usr/local/cuda/lib64/libXau.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "glibc-hwcaps/x86-64-v2/libXau.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "libXau.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (そのようなファイルやディレクトリはありません)
openat(AT_FDCWD, "/lib64/libXau.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=19904, ...}) = 0
mmap(NULL, 20512, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f406bfff000
mmap(0x7f406c000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f406c000000
mmap(0x7f406c002000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f406c002000
mmap(0x7f406c003000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f406c003000
mmap(0x7f406c004000, 32, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f406c004000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f406bffd000
arch_prctl(ARCH_SET_FS, 0x7f406bffdb80) = 0
set_tid_address(0x7f406bffde50)         = 22104
set_robust_list(0x7f406bffde60, 24)     = 0
rseq(0x7f406bffe4a0, 0x20, 0, 0x53053053) = 0
mprotect(0x7f406c239000, 16384, PROT_READ) = 0
mprotect(0x7f406c003000, 4096, PROT_READ) = 0
mprotect(0x7f406c052000, 4096, PROT_READ) = 0
mprotect(0x7f406c3aa000, 12288, PROT_READ) = 0
mprotect(0x7f406c010000, 4096, PROT_READ) = 0
mprotect(0x7f406c024000, 4096, PROT_READ) = 0
mprotect(0x7f406c24a000, 4096, PROT_READ) = 0
mprotect(0x7f406c257000, 4096, PROT_READ) = 0
mprotect(0x7f406c26a000, 4096, PROT_READ) = 0
mprotect(0x55f291efd000, 4096, PROT_READ) = 0
mprotect(0x7f406c411000, 8192, PROT_READ) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
munmap(0x7f406c3b1000, 142027)          = 0
getrandom("\xae\xba\xb5\x56\xc1\xd2\x64\x4b", 8, GRND_NONBLOCK) = 8
brk(NULL)                               = 0x55f2c1549000
brk(0x55f2c156a000)                     = 0x55f2c156a000
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X1"}, 20) = 0
getpeername(3, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X1"}, [124 => 20]) = 0
uname({sysname="Linux", nodename="highway-x.fireball.local", ...}) = 0
access("/run/user/1000/gdm/Xauthority", R_OK) = 0
openat(AT_FDCWD, "/run/user/1000/gdm/Xauthority", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0700, st_size=136, ...}) = 0
read(4, "\1\0\0\30highway-x.fireball.local\0\0\0\22"..., 4096) = 136
close(4)                                = 0
getsockname(3, {sa_family=AF_UNIX}, [124 => 2]) = 0
fcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="l\0\v\0\0\0\22\0\20\0\0\0", iov_len=12}, {iov_base="", iov_len=0}, {iov_base="MIT-MAGIC-COOKIE-1", iov_len=18}, {iov_base="\0\0", iov_len=2}, {iov_base="\230\370\312\312O@\221p\250\373(!\252cf\354", iov_len=16}, {iov_base="", iov_len=0}], 6) = 48
recvfrom(3, 0x55f2c154b940, 8, 0, NULL, NULL) = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvfrom(3, "\1\0\v\0\0\0\213\5", 8, 0, NULL, NULL) = 8
recvfrom(3, "\230\245\270\0\0\0\340\2\377\377\37\0\0\1\0\0\24\0\377\377\1\7\0\0  \10\377\0\0\0\0"..., 5676, 0, NULL, NULL) = 5676
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="b\0\5\0\f\0\0\0BIG-REQUESTS", iov_len=20}], 1) = 20
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\1\0\0\0\0\0\1\205\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\205\0\1\0", iov_len=4}], 1) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\2\0\0\0\0\0\377\377?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="7\0\5\0\0\0\340\2\203\2\0\0\10\0\0\0\377\377\377\0\24\0\6\0\203\2\0\0\27\0\0\0"..., iov_len=44}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 44
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\10\4\0 \0\0\0\37\0\0\0\0\0\0\0}\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 160
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="b\0\5\0\t\0\340\2", iov_len=8}, {iov_base="XKEYBOARD", iov_len=9}, {iov_base="\0\0\0", iov_len=3}], 3) = 20
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\5\0\0\0\0\0\1\207U\211\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\207\0\2\0\1\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\1\6\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="b\0\6\0\17\0\0\0", iov_len=8}, {iov_base="XInputExtension", iov_len=15}, {iov_base="\0", iov_len=1}], 3) = 24
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\7\0\0\0\0\0\1\203B\201\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="b\0\6\0\17\0\0\0", iov_len=8}, {iov_base="XInputExtension", iov_len=15}, {iov_base="\0", iov_len=1}], 3) = 24
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\10\0\0\0\0\0\1\203B\201\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\203\1\6\0\17\0\0\0", iov_len=8}, {iov_base="XInputExtension", iov_len=15}, {iov_base="\0", iov_len=1}], 3) = 24
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\1\t\0\0\0\0\0\2\0\4\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="b\0\6\0\17\0\0\0", iov_len=8}, {iov_base="XInputExtension", iov_len=15}, {iov_base="\0", iov_len=1}], 3) = 24
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\n\0\0\0\0\0\1\203B\201\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="b\0\10\0\27\0\0\0", iov_len=8}, {iov_base="Generic Event Extension", iov_len=23}, {iov_base="\0", iov_len=1}], 3) = 32
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\v\0\0\0\0\0\1\200\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\200\0\2\0\1\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\f\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\203\1\6\0\17\0\0\0", iov_len=8}, {iov_base="XInputExtension", iov_len=15}, {iov_base="\0", iov_len=1}], 3) = 24
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\1\r\0\0\0\0\0\2\0\4\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\203\1\6\0\17\0\0\0", iov_len=8}, {iov_base="XInputExtension", iov_len=15}, {iov_base="\0", iov_len=1}], 3) = 24
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\1\16\0\0\0\0\0\2\0\4\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\203/\2\0\2\0\2\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1/\17\0\0\0\0\0\2\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="b\0\4\0\10\0\2\0", iov_len=8}, {iov_base="XWAYLAND", iov_len=8}, {iov_base="", iov_len=0}], 3) = 16
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\203\2\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\2\21\0\261\0\0\0\r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 740
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\2030\2\0\0\0\2\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0010\22\0\220\t\0\0\r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "m\0\0\0n\0\0\0o\0\0\0p\0\0\0q\0\0\0r\0\0\0s\0\0\0t\0\0\0"..., 5728, 0, NULL, NULL) = 5728
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
fstat(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="+\0\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\2\23\0\0\0\0\0\v\0\200\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="<\0\2\0\0\0\340\2+\0\1\0", iov_len=12}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 12
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\2\25\0\0\0\0\0\v\0\200\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (リソースが一時的に利用できません)
shutdown(3, SHUT_RDWR)                  = 0
close(3)                                = 0
write(1, "\342\216\241 Virtual core pointer        "..., 993⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech M510                             id=10   [slave  pointer  (2)]
⎜   ↳ Logitech M585/M590                        id=11   [slave  pointer  (2)]
⎜   ↳ FSPPS/2 Sentelic FingerSensingPad         id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Video Bus                                   id=7    [slave  keyboard (3)]
    ↳ Power Button                                id=8    [slave  keyboard (3)]
    ↳ Sleep Button                                id=9    [slave  keyboard (3)]
AT Translated Set 2 keyboard                id=12   [slave  keyboard (3)]
    ↳ Logitech M585/M590                          id=14   [slave  keyboard (3)]
) = 993
exit_group(0)                           = ?
+++ exited with 0 +++

設定

公式: Adding or changing file type associations - sharkdp/bat: A cat(1) clone with wings. 翻訳

デフォルトでは以下の場所に config を置く🤔

$ bat --config-dir

/home/tomoyan/.config/bat

$ bat --config-file

/home/tomoyan/.config/bat/config

初期状態ではディレクトリが存在しないので、作成して config ファイルを編集する🤔

$ mkdir -p $(bat --config-dir)
$ nano $(bat --config-file)

# Use C++ syntax for Arduino .ino files
--map-syntax "*.ino:C++"

# Use ".gitignore"-style highlighting for ".ignore" files
--map-syntax ".ignore:Git Ignore"

# Use Bourne Again Shell (bash) syntax for .commonshrc files
--map-syntax ".commonshrc:Bourne Again Shell (bash)"

Or

$ bat --generate-config-file

Success! Config file written to /home/tomoyan/.config/bat/config

$ bat $(bat --config-file)

───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────
       File: /home/tomoyan/.config/bat/config
───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────
   1    # This is `bat`s configuration file. Each line either contains a comment or
   2    # a command-line option that you want to pass to `bat` by default. You can
   3    # run `bat --help` to get a list of all possible configuration options.
   4    
   5    # Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
   6    # for a list of all available themes
   7    #--theme="TwoDark"
   8    
   9    # Enable this to use italic text on the terminal. This is not supported on all
  10    # terminal emulators (like tmux, by default):
  11    #--italic-text=always
  12    
  13    # Uncomment the following line to disable automatic paging:
  14    #--paging=never
  15    
  16    # Uncomment the following line if you are using less version >= 551 and want to
  17    # enable mouse scrolling support in `bat` when running inside tmux. This might
  18    # disable text selection, unless you press shift.
  19    #--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse"
  20    
  21    # Syntax mappings: map a certain filename pattern to a language.
  22    #   Example 1: use the C++ syntax for Arduino .ino files
  23    #   Example 2: Use ".gitignore"-style highlighting for ".ignore" files
  24    #--map-syntax "*.ino:C++"
  25    #--map-syntax ".ignore:Git Ignore"
───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────

pager を使用しない、枠線が必要ない場合は、さらに設定を追加する🤔

$ echo '--paging=never' >> $(bat --config-file)
$ echo '--style=numbers' >> $(bat --config-file)
$ bat $(bat --config-file)

   1 # Use C++ syntax for Arduino .ino files
   2 --map-syntax "*.ino:C++"
   3 
   4 # Use ".gitignore"-style highlighting for ".ignore" files
   5 --map-syntax ".ignore:Git Ignore"
   6 
   7 # Use Bourne Again Shell (bash) syntax for .commonshrc files
   8 --map-syntax ".commonshrc:Bourne Again Shell (bash)"
   9
  10 --paging=never
  11 --style=numbers

設定を確認する😉

$ bat --list-languages

〜省略〜
Bourne Again Shell (bash) sh, bash, zsh, ash, .bash_aliases, .bash_completions, .bash_functions, 
                          .bash_login, .bash_logout, .bash_profile, .bash_variables, .bashrc, .profile, 
                          .textmate_init, .zlogin, .zlogout, .zprofile, .zshenv, .zshrc, PKGBUILD, ebuild, 
                          eclass, **/bat/config, /etc/profile, os-release, *.ksh, .commonshrc
〜省略〜

参考文献

· 2024/03/18 01:44 · ともやん

figlet

$ echo haruo world | figlet -f 'Bloody' -d ~/figlet-fonts -w 100 | lolcat

██░ ██ ▄▄▄ ██▀███ █ ▒█████ ░ ▒█████ ██▀███ ██ ▓█████▄ ▓██░ ██▒▒████▄ ▓██ ▒ ██▒ ██ ▓██▒▒██▒ ██▒ ▓█░ █ ░█░▒██▒ ██▒▓██ ▒ ██▒▓██▒ ▒██▀ ██ ▒██▀▀██░▒██ ▀█▄ ▓██ ░▄█ ▒▓██ ▒██░▒██░ ██▒ ▒█░ █ ░█ ▒██░ ██▒▓██ ░▄█ ▒▒██░ ░██ ░▓█ ░██ ░██▄▄▄▄██ ▒██▀▀█▄ ▓▓█ ░██░▒██ ██░ ░█░ █ ░█ ▒███░▒██▀▀█▄ ▒██░ ░▓█▄ ░▓█▒░██▓ ▓███▒░██▓ ▒██▒▒▒█████▓ ░ ████▓▒░ ░░██▒██▓ ░ ████▓▒░░██▓ ▒██▒░██████▒░▒████ ░░▒░▒ ▒▒ ▓▒█░░ ▒▓ ░▒▓░░▒▓▒ ▒ ▒ ░ ▒░▒░▒░ ▓░▒ ▒ ░ ▒░▒░▒░ ░ ▒▓ ░▒▓░░ ▒░▓▒▒▓ ▒ ░▒░▒▒ ░ ░▒ ░ ▒░░░▒░ ░ ░ ▒ ▒░ ▒ ░ ░ ▒ ▒░ ░▒ ░ ▒░░ ░ ▒ ░ ░ ▒ ░ ░░ ░ ░░ ░░░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░

neofetch

$ neofetch

.',;::::;,'. tomoyan@WICKED-BEAT .';:cccccccccccc:;,. ------------------- .;cccccccccccccccccccccc;. OS: Fedora release 39 (Thirty Nine) x86_64 .:cccccccccccccccccccccccccc:. Host: W25AEZ .;ccccccccccccc;.:dddl:.;ccccccc;. Kernel: 6.6.14-200.fc39.x86_64 .:ccccccccccccc;OWMKOOXMWd;ccccccc:. Uptime: 4 days, 5 hours, 33 mins .:ccccccccccccc;KMMc;cc;xMMc:ccccccc:. Packages: 3158 (rpm), 11 (flatpak) ,cccccccccccccc;MMM.;cc;;WW::cccccccc, Shell: zsh 5.9 :cccccccccccccc;MMM.;cccccccccccccccc: Resolution: 1366x768 :ccccccc;oxOOOo;MMM0OOk.;cccccccccccc: DE: GNOME 45.3 cccccc:0MMKxdd:;MMMkddc.;cccccccccccc; WM: Mutter ccccc:XM0';cccc;MMM.;cccccccccccccccc' WM Theme: Adwaita ccccc;MMo;ccccc;MMW.;ccccccccccccccc; Theme: Adwaita [GTK2/3] ccccc;0MNc.ccc.xMMd:ccccccccccccccc; Icons: Adwaita [GTK2/3] cccccc;dNMWXXXWM0::cccccccccccccc:, Terminal: gnome-terminal cccccccc;.:odl:.;cccccccccccccc:,. CPU: Intel i3-3120M (4) @ 2.500GHz :cccccccccccccccccccccccccccc:'. GPU: Intel 3rd Gen Core processor Graphics Controller .:cccccccccccccccccccccc:;,.. Memory: 6999MiB / 15883MiB '::cccccccccccccc::;,.

参考文献

How to generate ASCII Art Text from the CLI using Figlet in Ubuntu 18.04 | Our Code World 翻訳