on 5f6e310 help sign in
bat/doc/README-ja.md
626 lines 24 kB history raw
1<p align="center">
2 <img src="logo-header.svg" alt="bat - a cat clone with wings"><br>
3 <a href="https://travis-ci.org/sharkdp/bat"><img src="https://travis-ci.org/sharkdp/bat.svg?branch=master" alt="Build Status"></a>
4 <a href="https://ci.appveyor.com/project/sharkdp/bat"><img src="https://ci.appveyor.com/api/projects/status/cptsmtbiwbnr2vhf?svg=true"></a>
5 <img src="https://img.shields.io/crates/l/bat.svg" alt="license">
6 <a href="https://crates.io/crates/bat"><img src="https://img.shields.io/crates/v/bat.svg?colorB=319e8c" alt="Version info"></a><br>
7 シンタックスハイライトとGitとの連携機能付きの <i>cat(1)</i> クローン。
8</p>
10<p align="center">
11 <a href="#シンタックスハイライト">特徴</a> •
12 <a href="#使い方">使い方</a> •
13 <a href="#インストール">インストール</a> •
14 <a href="#カスタマイズ">カスタマイズ</a> •
15 <a href="#プロジェクトの目標と既存の類似したOSS">プロジェクトの目標と既存の類似したOSS</a> •
16 翻訳 [<a href="https://github.com/chinanf-boy/bat-zh">中文</a>][<a href="README-ja.md">日本語</a>][<a href="README-ko.md">한국어</a>]
17</p>
19### シンタックスハイライト
21`bat` は多くのプログラミング言語やマークアップ言語の
22シンタックスハイライトに対応しています:
24![Syntax highlighting example](https://imgur.com/rGsdnDe.png)
26### Gitの統合
28`bat` は `git` とも連携しており、差分を表現する記号が表示されます
29(図の左端):
31![Git integration example](https://i.imgur.com/2lSW4RE.png)
33### 印刷できない文字の表示
35`-A`/`--show-all` オプションをつけることで
36印刷できない文字を可視化できます:
38![Non-printable character example](https://i.imgur.com/WndGp9H.png)
40### 自動ページング
42出力が1つの画面に対して大きすぎる場合、`bat` は自身の出力を `less` にパイプで繋げることが可能です。
44### ファイルの連結
46あなたはさらにファイルを連結させるに使うことも可能です:wink:。
47`bat` は非対話型のターミナルを検出すると、
48いつでも `cat` の完全互換として振る舞い、
49プレーンなファイルを表示します。
51## 使い方
53単一のファイルを表示させたい
55```bash
56> bat README.md
57```
59複数のファイルを一度に表示させたい場合
61```bash
62> bat src/*.rs
63```
65標準入力から自動的に構文を決定させたい場合
67```bash
68> curl -s https://sh.rustup.rs | bat
69```
71標準入力から明示的に言語を指定したい場合
73```bash
74> yaml2json .travis.yml | json_pp | bat -l json
75```
77空白文字を可視化させたい場合:
78```bash
79> bat -A /etc/hosts
80```
82`cat` の代わりに `bat` を使用する際の例:
84```bash
85bat > note.md # quickly create a new file
87bat header.md content.md footer.md > document.md
89bat -n main.rs # show line numbers (only)
91bat f - g # output 'f', then stdin, then 'g'.
92```
94### 他のツールとの統合
96#### `find` or `fd`
98`find` の `-exec` オプションを使用して、`bat` ですべての検索結果をプレビューできます:
99```bash
100find … -exec bat {} +
101```
103[`fd`](https://github.com/sharkdp/fd) を使用している場合は、`-X` /`-exec-batch` オプションを使用して同じことを行うことができます:
104```bash
105fd … -X bat
106```
108#### `ripgrep`
110[`batgrep`](https://github.com/eth-p/bat-extras/blob/master/doc/batgrep.md) では、[`ripgrep`](https://github.com/BurntSushi/ripgrep) 検索結果のプリンターとして `bat` を使用できます。
112```bash
113batgrep needle src/
114```
116#### `tail -f`
118`bat` を `tail -f` と組み合わせて、構文強調表示を使用して特定のファイルを継続的に監視できます。
119```bash
120tail -f /var/log/pacman.log | bat --paging=never -l log
121```
122Note that we have to switch off paging in order for this to work. We have also specified the syntax
123explicitly (`-l log`), as it can not be auto-detected in this case.
125#### `git`
127`bat` を `git show` と組み合わせて、
128適切な構文強調表示を使用して特定のファイルの古いバージョンを表示できます:
129```bash
130git show v0.6.0:src/main.rs | bat -l rs
131```
133差分内の構文強調表示は現在サポートされていないことに注意してください。 これを探しているなら、[`delta`](https://github.com/dandavison/delta) をチェックしてください。
135#### `xclip`
137`bat` の出力の行番号と Git 変更マーカーにより、ファイルの内容をコピーするのが難しくなる場合があります。
138これを防ぐには、`-p` / `-plain` オプションを使用して `bat` を呼び出すか、
139単に出力を `xclip` にパイプします:
140```bash
141bat main.cpp | xclip
142```
143`bat` は出力がリダイレクトされていることを検出し、プレーンファイルの内容を出力します。
145#### `man`
147`bat` は `MANPAGER` 環境変数を設定することにより、
148`man` の色付けページャーとして使用できます:
150```bash
151export MANPAGER="sh -c 'col -bx | bat -l man -p'"
152man 2 select
153```
155フォーマットの問題が発生した場合は
156`MANROFFOPT = "-c"` を設定する必要もあります。
158これを新しいコマンドにバンドルしたい場合は [`batman`](https://github.com/eth-p/bat-extras/blob/master/doc/batman.md) も使用できます。
160[Manpage syntax](assets/syntaxes/Manpage.sublime-syntax) はこのリポジトリで開発されており、まだ作業が必要であることに注意してください。
162#### `prettier` / `shfmt` / `rustfmt`
164[`prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.md) スクリプトは、コードをフォーマットし、`bat` で印刷するラッパーです。
167## インストール
169[![Packaging status](https://repology.org/badge/vertical-allrepos/bat.svg)](https://repology.org/project/bat/versions)
171### On Ubuntu
172*... や他のDebianベースのLinuxディストリビューション*
174Ubuntu Eoan 19.10 または Debian 不安定版 sid 以降の [the Ubuntu `bat` package](https://packages.ubuntu.com/eoan/bat) または [the Debian `bat` package](https://packages.debian.org/sid/bat) をインストールできます:
176```bash
177apt install bat
178```
180batの最新リリースを実行する場合、または Ubuntu/Debian の古いバージョンを使用している場合は、[release page](https://github.com/sharkdp/bat/releases) から最新の `.deb` パッケージをダウンロードし、
181次の方法でインストールします:
182```bash
183sudo dpkg -i bat_0.13.0_amd64.deb # adapt version number and architecture
184```
186### On Alpine Linux
188適切なリポジトリが有効になっている場合は、
189公式のソースから [`bat` package](https://pkgs.alpinelinux.org/packages?name=bat) をインストールできます:
191```bash
192apk add bat
193```
195### On Arch Linux
197[Arch Linuxの公式リソース](https://www.archlinux.org/packages/community/x86_64/bat/)
198からインストールできます。
200```bash
201pacman -S bat
202```
204### On Fedora
206公式の [Fedora Modular](https://docs.fedoraproject.org/en-US/modularity/using-modules/) リポジトリから [the `bat` package](https://koji.fedoraproject.org/koji/packageinfo?packageID=27506) をインストールできます。
208```bash
209dnf install bat
210```
212### On Gentoo Linux
214公式ソースから
215[the `bat` package](https://packages.gentoo.org/packages/sys-apps/bat) をインストールできます。
217```bash
218emerge sys-apps/bat
219```
221### On Void Linux
223xbps-ininstall経由で `bat` をインストールできます。
224```
225xbps-install -S bat
226```
228### On FreeBSD
230pkg を使用してプリコンパイルされた [`bat` package](https://www.freshports.org/textproc/bat) をインストールできます:
232```bash
233pkg install bat
234```
236または FreeBSD ポートから自分でビルドする:
238```bash
239cd /usr/ports/textproc/bat
240make install
241```
243### Via nix
245`bat` を [nix package manager](https://nixos.org/nix) 経由でインストールすることができます:
247```bash
248nix-env -i bat
249```
251### On openSUSE
253`bat` をzypperでインストールすることができます:
255```bash
256zypper install bat
257```
259### On macOS
261[Homebrew](http://braumeister.org/formula/bat)で `bat` をインストールできます:
263```bash
264brew install bat
265```
267または [MacPorts](https://ports.macports.org/port/bat/summary) で `bat` をインストールします:
269```bash
270port install bat
271```
273### On Windows
275Windowsにbatをインストールするいくつかのオプションがあります。
276batをインストールしたら [Windowsでのbatの使用](#windows-での-bat-の利用) セクションをご覧ください。
278#### With Chocolatey
280[Chocolatey](https://chocolatey.org/packages/Bat) から `bat` をインストールできます:
281```bash
282choco install bat
283```
285#### With Scoop
287[scoop](https://scoop.sh/) から `bat` をインストールできます:
288```bash
289scoop install bat
290```
292[Visual C ++再頒布可能](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) パッケージをインストールする必要があります。
294#### From prebuilt binaries:
296[リリースページ](https://github.com/sharkdp/bat/releases) からビルド済みのバイナリをダウンロードできます。
298[Visual C ++再頒布可能](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) パッケージをインストールする必要があります。
300### Via Docker
302コンテナ内で `bat` を使いたい方のために [Docker image](https://hub.docker.com/r/danlynn/bat/) が用意されています:
303```bash
304docker pull danlynn/bat
305alias bat='docker run -it --rm -e BAT_THEME -e BAT_STYLE -e BAT_TABS -v "$(pwd):/myapp" danlynn/bat'
306```
308### Via Ansible
310[Ansible](https://www.ansible.com/) でインストールすることができます:
312```bash
313# Install role on local machine
314ansible-galaxy install aeimer.install_bat
315```
317```yaml
318---
319# Playbook to install bat
320- host: all
321 roles:
322 - aeimer.install_bat
323```
325- [Ansible Galaxy](https://galaxy.ansible.com/aeimer/install_bat)
326- [GitHub](https://github.com/aeimer/ansible-install-bat)
328これは以下のディストリビューションで動作するはずです:
329- Debian/Ubuntu
330- ARM (eg. Raspberry PI)
331- Arch Linux
332- Void Linux
333- FreeBSD
334- MacOS
336### From binaries
339多くの異なるアーキテクチャのためのプレビルドバージョンを[リリースページ](https://github.com/sharkdp/bat/releases)からチェックしてみてください。静的にリンクされている多くのバイナリも利用できます: ファイル名に `musl` を含むアーカイブを探します。
341### From source
344`bat` をソースからビルドしたいならば、Rust 1.36 以上の環境が必要です。
345そして `cargo` をビルドに対して使用します:
347```bash
348cargo install bat
349```
351一部のプラットフォームでは `llvm` および/または `libclang-dev` のインストールが必要になる場合があります。
353## カスタマイズ
355### ハイライト テーマ
357`bat --list-themes` を使うと現在利用可能なシンタックスハイライトのテーマを入手できます。
358`TwoDark` テーマを選ぶためには
359`--theme=TwoDark` オプションをつけるか `BAT_THEME` という環境変数に
360`TwoDark` を代入する必要があります。 シェルの起動ファイルに `export BAT_THEME="TwoDark"`
361と定義すればその設定が変わることはないでしょう。あるいは、 `bat` の
362[設定ファイル](#設定ファイル)を利用してください。
364カスタムファイルでさまざまなテーマをプレビューする場合は、
365次のコマンドを使用できます(これには [`fzf`](https://github.com/junegunn/fzf) が必要です)。
366``` bash
367bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
368```
370`bat` はデフォルトだと黒い背景色のターミナルに適しています。
371しかし、`GitHub` や `OneHalfLight` のような白い背景色のテーマでもいい感じにすることができます。
372['新しいテーマの追加' セクションに従って](#新しいテーマの追加)
373カスタムテーマを使用することもできます。
375### 出力のスタイル
377`--style` を使うことで `bat` の表示の見た目を変更することができます。
378例えば、 `--style=numbers,changes` と入力します。
379すると、Gitの差分と行番号だけが表示され、グリッド線とファイルヘッダーは表示されません。
380環境変数に `BAT_STYLE` を定義するとこれらの設定を永続的に使用することができます。
381[設定ファイル](#設定ファイル) を参考にしても良いでしょう。
383### 新しい構文の追加 / 言語の定義
385`bat` はシンタックスハイライトのための [`syntext`](https://github.com/trishume/syntect/)
386という素晴らしいライブラリを使用しています。`syntect` は、
387[Sublime Text の `.sublime-syntax` ファイル](https://www.sublimetext.com/docs/3/syntax.html)
388とテーマを読み取ることができます。新しい構文を定義するために以下の手順を行います。
390構文定義ファイルを入れておくためのフォルダを作る:
392```bash
393mkdir -p "$(bat --config-dir)/syntaxes"
394cd "$(bat --config-dir)/syntaxes"
396# Put new '.sublime-syntax' language definition files
397# in this folder (or its subdirectories), for example:
398git clone https://github.com/tellnobody1/sublime-purescript-syntax
399```
401次のコマンドを使用して、これらのファイルをバイナリキャッシュに解析します:
403```bash
404bat cache --build
405```
407最後に `bat --list-languages` と入力すると新しい言語が利用可能かどうかチェックします。
409デフォルトの設定に戻したいときは以下のコマンドを実行します:
411```bash
412bat cache --clear
413```
415### 新しいテーマの追加
417これは構文を新しく定義するやり方と非常に似ています。
419まず、新しいシンタックスハイライトのテーマのフォルダを作ります:
420```bash
421mkdir -p "$(bat --config-dir)/themes"
422cd "$(bat --config-dir)/themes"
424# Download a theme in '.tmTheme' format, for example:
425git clone https://github.com/greggb/sublime-snazzy
427# Update the binary cache
428bat cache --build
429```
431最後に、 `bat --list-themes` で新しいテーマが利用可能がチェックします
433### 異なるページャーの使用
435`bat` は環境変数 `PAGER` に使用するページャーを明記します。
436この環境変数が定義されていない場合、デフォルトで `less` が使用されます。
437もし、異なるページャーが使用したい場合は、`PAGER` を修正してください。
438または、`PAGER` を上書きする環境変数として `BAT_PAGER` を定義することも可能です。
440もし、ページャーにコマンドライン引数を渡したい場合は、
441`PAGER`/`BAT_PAGER` 環境変数を定義してください:
443```bash
444export BAT_PAGER="less -RF"
445```
447環境変数を利用する代わりに、 `bat` の [設定ファイル](#設定ファイル) を使用して設定も可能です(`--pager` オプション)
449**注意**: デフォルトにより、ページャーが `less` にセットされているならば
450`bat` はページャーの以下のコマンドラインオプション を受け付けるでしょう:
451`-R`/`--RAW-CONTROL-CHARS`, `-F`/`--quit-if-one-screen` そして `-X`/`--no-init`。
452最後のオプション(-X)は、530 より古いバージョンにのみ使用されます。
454`-R` オプションは、ANSIカラーを正しく解釈するために必要です。
4552番目のオプション(`-F`)は、出力サイズが端末の垂直サイズよりも小さい場合、すぐに終了するようにlessに指示します。
456これは、ページャーを終了するために `q` を押す必要がないため、小さなファイルに便利です。
4573番目のオプション(`-X`)は、`less` の古いバージョンの `--quit-if-one-screen` 機能のバグを修正するために必要です。
458残念ながら、`less` のマウスホイールのサポートも少なくなります。
460`less` の古いバージョンでマウスホイールのスクロールを有効にしたい場合は、
461`-R` だけを渡すことができます(上記の例のように、これは1画面終了機能を無効にします)。
462530以下の場合は、そのまま使用できます。
464### Dark mode
466macOSでダークモード機能を使用する場合、OSテーマに基づいて異なるテーマを使用するように `bat` を構成することができます。
467次のスニペットは、ライトモードの場合は `デフォルト` のテーマを使用し、
468ダークモードの場合は `GitHub` テーマを使用します。
470```bash
471alias cat="bat --theme=\$(defaults read -globalDomain AppleInterfaceStyle &> /dev/null && echo default || echo GitHub)"
472```
474## 設定ファイル
476`bat` は設定ファイルでカスタマイズすることが可能です。ファイルの場所はOSに依存します。
477使用しているOSのデフォルトパスを調べるには以下のコマンドを実行してください:
478```
479bat --config-file
480```
482または、`BAT_CONFIG_PATH` 環境変数を使用して、`bat` が
483構成ファイルのデフォルト以外の場所を指すようにすることができます:
484```bash
485export BAT_CONFIG_PATH="/path/to/bat.conf"
486```
488### フォーマット
490この設定ファイルはコマンドライン引数の単純なリストです。 `bat --help` を利用すると、利用可能なオプションとその値を閲覧することができます。さらに、`#` でコメント文を加えることができます。
492設定ファイルの例:
493```bash
494# Set the theme to "TwoDark"
495--theme="TwoDark"
497# Show line numbers, Git modifications and file header (but no grid)
498--style="numbers,changes,header"
500# Use italic text on the terminal (not supported on all terminals)
501--italic-text=always
503# Use C++ syntax for .ino files
504--map-syntax "*.ino:C++"
506# Use ".gitignore"-style highlighting for ".ignore" files
507--map-syntax ".ignore:Git Ignore"
508```
510## Windows での `bat` の利用
512Windows 上で `bat` はほとんど動作しますが、いくつかの機能は設定を必要をする場合があります。
514### ページング
516Windowsには、`more` 形式の非常に限られたページャーしか含まれていません。
517`less` 用のWindowsバイナリは、[ホームページ](http://www.greenwoodsoftware.com/less/download.html) または
518[Chocolatey](https://chocolatey.org/packages/Less) からダウンロードできます。
519これを使用するには、バイナリを `PATH` のディレクトリに配置するか、環境変数を定義します。[Chocolateyパッケージ](#on-windows) は `less` を自動的にインストールします。
521### 色
523Windows 10では、`conhost.exe` (コマンドプロンプト)と
524[v1511](https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1511_(November_Update)) 以降の PowerShell の両方、
525およびbashの新しいバージョンの色がネイティブにサポートされています。 以前のバージョンのWindowsでは、
526[ConEmu](https://conemu.github.io/) を含む [Cmder](http://cmder.net/) を使用できます。
528**注意:** Git と MSYS の `less` はWindows上で色を正しく解釈しません。
529もし、あなたが他のページャーをインストールしていないのであれば、 `--paging=never` オプションを付け加える
530または `BAT_PAGER` に空文字を設定することでページングを完全に無効にできます。
532### Cygwin
534Windows上の `bat` は Cygwin のunix風のpath(`/cygdrive/*`)をネイティブサポートしていません。絶対的なcygwinパスを引数として受けたときに、 `bat` は以下のエラーを返すでしょう: `The system cannot find the path specified. (os error 3)`
536wrapperを作成するまたは以下の関数を `.bash_profile` に追記することでこの問題を解決することができます:
538```bash
539bat() {
540 local index
541 local args=("$@")
542 for index in $(seq 0 ${#args[@]}) ; do
543 case "${args[index]}" in
544 -*) continue;;
545 *) [ -e "${args[index]}" ] && args[index]="$(cygpath --windows "${args[index]}")";;
546 esac
547 done
548 command bat "${args[@]}"
550```
552## トラブルシューティング
554### ターミナルと色
556`bat` はターミナルがトゥルーカラーをサポートしている/していない関係なくサポートします。
557しかし、シンタックスハイライトのテーマの色が8-bitカラーに最適化されていない場合、
55824-bitであるトゥルーカラーをサポートしているターミナルを使用することを強く推奨します(`terminator`, `konsole`, `iTerm2`, ...)。
559この [記事](https://gist.github.com/XVilka/8346728) には
56024-bitカラーがサポートされているターミナルの一覧が掲載されています。
562本当の色をターミナルにセットするために、環境変数 `COLORTERM` に `truecolor` か
563`24bit` のどちらかを代入してください。さもなければ、`bat` はどの色を使うのか決定することができません。または、24-bit エスケープシーケンスがサポートされません
564(そして、8-bit colorに戻ります)。
566### 行番号とグリッド線がほとんど見えない
568異なるテーマを試してみてください(`bat --list-themes` でテーマを閲覧できます)。
569`OneHalfDark` と `OneHalfLight` テーマはグリッド線と線の色を明るくします。
571### ファイルエンコーディング
573`bat` は UTF-16 と同様に UTF-8 をネイティブにサポートします。
574他のすべてのファイルエンコーディングでは、エンコーディングは通常自動検出できないため、最初に UTF-8 に変換する必要があります。
575これを行うには `iconv` を使用できます。
576例: Latin-1(ISO-8859-1)エンコーディングの PHP ファイルがある場合、次のように呼び出すことができます:
577``` bash
578iconv -f ISO-8859-1 -t UTF-8 my-file.php | bat
579```
580注: `bat` が構文を自動検出できない場合は
581`-l` / `-language` オプションを使用する必要がある場合があります。
583## 開発
585```bash
586# Recursive clone to retrieve all submodules
587git clone --recursive https://github.com/sharkdp/bat
589# Build (debug version)
590cd bat
591cargo build --bins
593# Run unit tests and integration tests
594cargo test
596# Install (release version)
597cargo install
599# Build a bat binary with modified syntaxes and themes
600bash assets/create.sh
601cargo install -f
602```
604## Maintainers
606- [sharkdp](https://github.com/sharkdp)
607- [eth-p](https://github.com/eth-p)
609## プロジェクトの目標と既存の類似したOSS
611`bat` は以下の目標を達成しようと試みています:
613- 美しい高度なシンタックスハイライトの提供
614- ファイルの差分を表示するためのGitとの連携
615- (POSIX) `cat` との完全互換
616- ユーザーフレンドリーがコマンドラインインターフェースの提供
618あなたが同様のプログラムを探しているなら、多くの選択肢があります。
619比較については [このドキュメント](alternatives.md) を参照してください。
621## ライセンス
622Copyright (c) 2018-2020 [bat-developers](https://github.com/sharkdp/bat).
624`bat` は MIT License 及び Apache License 2.0 の両方の条件の下で配布されています。
626ライセンスの詳細については [LICENSE-APACHE](../LICENSE-APACHE) 及び [LICENSE-MIT](../LICENSE-MIT) ファイルを参照して下さい。