summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaeho Lee <jaeho.lee@snu.ac.kr>2021-05-14 13:52:12 +0000
committerJaeho Lee <jaeho.lee@snu.ac.kr>2021-05-14 13:52:12 +0000
commit978b9adc56b3e544687ab7c97809d1393a5e79d9 (patch)
tree819b65d9bb2ee917fe07829ffe1bb54bd0916f83
parent3aea51455b8acf553f4481996f93d7e219130c2b (diff)
Update and polish Korean translation
- Fix Korean grammar - Show original English words that can improve comprehensiveness side-by-side - Reflect the updated README - Fix broken links - Other miscellaneous improvements
-rw-r--r--doc/README-ko.md635
1 files changed, 447 insertions, 188 deletions
diff --git a/doc/README-ko.md b/doc/README-ko.md
index ceef385a..8d5a77b3 100644
--- a/doc/README-ko.md
+++ b/doc/README-ko.md
@@ -1,75 +1,86 @@
<p align="center">
- <img src="../doc/logo-header.svg" alt="bat - a cat clone with wings"><br>
- <a href="https://travis-ci.org/sharkdp/bat"><img src="https://travis-ci.org/sharkdp/bat.svg?branch=master" alt="Build Status"></a>
- <a href="https://ci.appveyor.com/project/sharkdp/bat"><img src="https://ci.appveyor.com/api/projects/status/cptsmtbiwbnr2vhf/branch/master?svg=true"></a>
+ <img src="doc/logo-header.svg" alt="bat - a cat clone with wings"><br>
+ <a href="https://github.com/sharkdp/bat/actions?query=workflow%3ACICD"><img src="https://github.com/sharkdp/bat/workflows/CICD/badge.svg" alt="Build Status"></a>
<img src="https://img.shields.io/crates/l/bat.svg" alt="license">
<a href="https://crates.io/crates/bat"><img src="https://img.shields.io/crates/v/bat.svg?colorB=319e8c" alt="Version info"></a><br>
-
- 문법 강조와 깃 통합 기능의 <i>cat(1)</i> 클론
+ 문법 강조와 Git 통합 기능의 <i>cat(1)</i> 클론
</p>
<p align="center">
<a href="#문법-강조">주요 기능들</a> •
<a href="#사용법">사용법</a> •
<a href="#설치">설치</a> •
- <a href="#커스터마이즈">커스터마이즈</a> •
+ <a href="#사용자화">사용자화</a> •
<a href="#프로젝트-목표와-대안들">프로젝트 목표와 대안들</a> •
- 번역 [<a href="https://github.com/chinanf-boy/bat-zh">中文</a>][<a href="../doc/README-ja.md">日本語</a>]
+ [<a href="https://github.com/chinanf-boy/bat-zh">中文</a>] [<a href="doc/README-ja.md">日本語</a>] [<a href="doc/README-ko.md">한국어</a>] [<a href="doc/README-ru.md">Русский</a>]
</p>
### 문법 강조
-`bat`은 다양한 프로그래밍 언어와 마크업 언어에 대해 문법 강조(Syntax highlighting)기능을 지원하고 있습니다:
+`bat`은 다양한 프로그래밍 및 마크업 언어의 문법 강조(syntax highlighting) 기능을
+지원합니다:
![Syntax highlighting example](https://imgur.com/rGsdnDe.png)
### Git 통합
-`bat`은 `git`을 통해 인덱스와 함께 변경분을 표시합니다 (왼쪽 바를 확인하세요):
+`bat`은 `git`을 통해 인덱스와 함께 변경분을 표시합니다
+(왼쪽 사이드바를 확인하세요):
![Git integration example](https://i.imgur.com/2lSW4RE.png)
-### 표시할 수 없는 문자 처리
+### 비인쇄 문자 처리
-`-A`/`--show-all` 옵션을 사용하여 표시할수 없는 문자를 시각화 해줍니다:
+`-A`/`--show-all` 옵션을 사용하여 비인쇄 문자를 표시 및 강조할 수 있습니다:
![Non-printable character example](https://i.imgur.com/WndGp9H.png)
-### 자동 페이징
+### 자동 페이징
-하나의 화면에 비해 출력이 너무 큰 경우, `less` 를 이용해 출력들을 연결할 수 있습니다.
+`bat`은 기본적으로 한 화면에 비해 출력이 큰 경우 `less`와 같은 페이저(pager)로
+출력을 연결(pipe)합니다.
+만약 `bat`을 언제나 `cat`처럼 작동하게 하려면 (출력을 페이지하지 않기),
+`--paging=never` 옵션을 커맨드 라인이나 설정 파일에 넣을 수 있습니다.
+셸(shell) 설정에서 `cat`을 `bat`의 alias로 사용하려면,
+`alias cat='bat --paging=never'`를 써서 기본 행동을 유지할 수 있습니다.
-### 파일 연결
+### 파일 연결(concatenation)
-이 뿐만 아니라 파일을 연결할 때도 사용 할 수 있습니다. :wink: `bat`가 인터렉티브 하지 않은(non-interactive)가 감지하면 (예를 들어,다른 프로세스 혹은 파일과 파이프라인을 연결 한 경우) `bat`은 `cat`을 대신하여 동작하며 일반 파일 내용을 표기해줍니다.
+페이저(pager)를 사용하더라도 `bat`은 파일들을 연결(concatenate)할 수 있습니다
+:wink:.
+`bat`이 비대화형(non-interactive) 터미널(예를 들어, 다른 프로세스나 파일에
+연결(pipe)한 경우)을 감지하면, `bat`은 `--pager` 옵션의 값과 상관없이 `cat`과
+동일하게 파일 내용을 그대로 출력합니다.
## 사용법
-터미널에서 하나의 파일 표시하기
+터미널에 하나의 파일 표시하기
```bash
> bat README.md
```
-여러 파일 한번에 보여주기
+여러 파일 한 번에 보여주기
```bash
> bat src/*.rs
```
-stdin에서 읽고, 자동으로 맞는 문법 강조 적용하기
+stdin에서 읽고, 자동으로 맞는 문법 결정하기 (참고로, 문법 강조는 파일의 첫
+줄만으로 문법이 결정될 수 있을 때만 작동합니다.
+이는 보통 `#!/bin/sh`와 같은 셔뱅(shebang)으로 판단합니다.)
```bash
> curl -s https://sh.rustup.rs | bat
```
-stdin에서 읽고, 명시적으로 언어 지정하여 적용하기
+stdin에서 읽고, 명시적으로 언어 지정하기
```bash
> yaml2json .travis.yml | json_pp | bat -l json
```
-표시할 수 없는 문자 처리하기
+비인쇄 문자 표시 및 강조하기
```bash
> bat -A /etc/hosts
```
@@ -86,23 +97,38 @@ bat -n main.rs # show line numbers (only)
bat f - g # output 'f', then stdin, then 'g'.
```
-### 다른 툴과의 통합
+### 다른 도구들과 통합하기
+
+#### `fzf`
+
+`bat`을 [`fzf`](https://github.com/junegunn/fzf)의 프리뷰로 쓸 수 있습니다.
+이를 위해서는 `bat`의 `--color=always` 옵션으로 항상 컬러 출력이 나오게 해야
+합니다.
+또한 `--line-range` 옵션으로 긴 파일의 로드 시간을 제한할 수 있습니다:
+```bash
+fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'
+```
+더 많은 정보는
+[`fzf`의 `README`](https://github.com/junegunn/fzf#preview-window)를 참고하세요.
-#### `find` 와 `fd`
+#### `find`와 `fd`
-`find`의 `-exec` 옵션을 사용하여 `bat`의 모든 검색 결과를 미리 볼 수 있습니다:
+`find`의 `-exec` 옵션을 사용하여 모든 검색 결과를 `bat`로 미리 볼 수 있습니다:
```bash
find … -exec bat {} +
```
-[`fd`](https://github.com/sharkdp/fd)를 사용하고 있는 경우, `-X`/`--exec-batch` 옵션을 이용하여 동일하게 사용할 수 있습니다:
+[`fd`](https://github.com/sharkdp/fd)를 사용하는 경우, `-X`/`--exec-batch`
+옵션을 이용하여 동일하게 사용할 수 있습니다:
```bash
fd … -X bat
```
#### `ripgrep`
-[`batgrep`](https://github.com/eth-p/bat-extras/blob/master/doc/batgrep.md)과 함께, [`ripgrep`](https://github.com/BurntSushi/ripgrep)의 검색 결과를 `bat`을 이용하여 볼 수 있습니다.
+[`batgrep`](https://github.com/eth-p/bat-extras/blob/master/doc/batgrep.md)을
+통해 `bat`로 [`ripgrep`](https://github.com/BurntSushi/ripgrep)의 검색 결과를
+출력할 수 있습니다.
```bash
batgrep needle src/
@@ -110,279 +136,393 @@ batgrep needle src/
#### `tail -f`
-`bat` 과 `tail -f`를 함께 사용하여, 특정 파일을 문법 강조하며 지속적으로 모니터링 할 수 있습니다.
+`bat`와 `tail -f`를 함께 사용하여 주어진 파일을 문법 강조하며 지속적으로
+모니터할 수 있습니다.
```bash
tail -f /var/log/pacman.log | bat --paging=never -l log
```
-이 작업을 하려면 페이징 기능을 꺼야합니다. 또, 자동 감지가 되지 않기 때문에, 적용되어야할 문법을 명시적(`-l log`)으로 지정해야 합니다.
+참고로 이 작업을 하려면 페이징 기능을 꺼야 합니다.
+또한 이 경우 문법을 자동 감지할 수 없기 때문에, 적용할 문법을 직접 지정해야
+합니다 (`-l log`).
#### `git`
-`bat`과 `git show`를 함께 사용하여 주어진 파일의 이전 기록을 문법 강조와 함께 볼 수 있습니다:
+`bat`과 `git show`를 함께 사용하여 주어진 파일의 이전 버전을 올바른 문법 강조로
+볼 수 있습니다:
```bash
git show v0.6.0:src/main.rs | bat -l rs
```
-diffs 내에서 문법 강조 표시는 현재 지원되지 않습니다. 이 기능은 [`delta`](https://github.com/dandavison/delta)에서 찾아 볼 수 있습니다.
+#### `git diff`
+
+`bat`과 `git diff`를 함께 사용하여 수정된 코드 주위의 줄들을 올바른 문법 강조로
+볼 수 있습니다:
+```bash
+batdiff() {
+ git diff --name-only --diff-filter=d | xargs bat --diff
+}
+```
+이것을 별도의 도구로 쓰고 싶다면
+[`bat-extras`](https://github.com/eth-p/bat-extras)의 `batdiff`를 확인해 보세요.
+
+Git과 diff의 더 많은 지원을 원한다면
+[`delta`](https://github.com/dandavison/delta)를 확인해 보세요.
#### `xclip`
-`bat` 출력에서 라인 넘버와 Git 수정 내역이 같이 있어 파일 내용을 복사하기가 어려울 수도 있습니다. 이 경우에는 `-p`/`--plain` 옵션을 사용 하거나 출력 시 파이프라인으로 `xclip`을 사용하면 됩니다:
+`bat` 출력에 줄 번호와 Git 수정 내역이 포함되어서 파일의 내용을 복사하기
+어려울 수 있습니다.
+이 경우에는 `bat`의 `-p`/`--plain` 옵션을 사용하거나 간단히 `xclip`으로 출력을
+연결(pipe)하면 됩니다:
```bash
bat main.cpp | xclip
```
-`bat` 에서는 리다이렉트된 것으로 감지하여, 파일 내용만 출력합니다.
+`bat`는 출력이 우회되고 있다는 것을 감지하여 파일 내용 그대로를 출력합니다.
#### `man`
-`bat`은 `MANPAGER` 환경 변수 설정을 통해 `man`에 대하여 컬러 페이져를 사용할 수 있습니다:
+`MANPAGER` 환경 변수 설정을 통해 `bat`을 `man`의 컬러 페이저(pager)로 쓸 수
+있습니다.
```bash
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
man 2 select
```
+(Debian이나 Ubuntu를 사용한다면 `bat`을 `batcat`으로 치환하세요.)
-포매팅 문제가 발생한다면, `MANROFFOPT="-c"` 설정 해야 할 수도 있습니다 .
+포팻 문제가 발생한다면, `MANROFFOPT="-c"`을 써야 할 수 있습니다.
-새 커맨드에서 이 번들을 사용하려면, [`batman`](https://github.com/eth-p/bat-extras/blob/master/doc/batman.md)을 이용 할 수 있습니다.
+이 기능을 포함한 새로운 명령어를 선호한다면,
+[`batman`](https://github.com/eth-p/bat-extras/blob/master/doc/batman.md)을 쓸
+수도 있습니다.
+참고로 [Manpage 문법](../assets/syntaxes/Manpage.sublime-syntax)은 본 저장소에서
+개발 중에 있으며, 아직 더 손봐야 합니다.
-참고 : [Manpage syntax](../assets/syntaxes/Manpage.sublime-syntax)는 이 저장소에서 개발되고 있으며, 아직 작업 중 입니다.
+또한, 이는 Mandoc의 `man` 구현에서
+[작동하지 않습니다](https://github.com/sharkdp/bat/issues/1145).
#### `prettier` / `shfmt` / `rustfmt`
-[`prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.md) 스크립트는 코드를 포맷팅하고 `bat`으로 출력해주는 랩퍼(wrapper) 입니다.
+[`prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.md)
+스크립트는 코드를 포맷하고 `bat`으로 출력하는 래퍼(wrapper)입니다.
## 설치
-[![Packaging status](https://repology.org/badge/vertical-allrepos/bat.svg)](https://repology.org/project/bat/versions)
+[![Packaging status](https://repology.org/badge/vertical-allrepos/bat-cat.svg)](https://repology.org/project/bat-cat/versions)
+
+### Ubuntu에서 (`apt` 사용)
+*... 그리고 다른 Debian 기반의 Linux 배포판들에서.*
-### On Ubuntu
-*... 그리고 기타 Debian 기반의 Linux 배포판들.*
+`bat`은 [Ubuntu](https://packages.ubuntu.com/eoan/bat)와
+[Debian](https://packages.debian.org/sid/bat) 패키지 배포 과정에 도입되는 중이며,
+Eoan 19.10 버전의 Ubuntu에서부터 제공됩니다.
+현재 Debain에서는 불안정한 "Sid" 브랜치에서만 `bat`이 제공됩니다.
-Ubuntu Eoan 19.10 혹은 Debian unstable sid 이후 버전 부터는 [Ubuntu용 `bat` 패키지](https://packages.ubuntu.com/eoan/bat)나 [Debian용 `bat` 패키지](https://packages.debian.org/sid/bat) 를 설치 할 수 있습니다.
+만약 충분히 최신 버전의 Ubuntu/Debian이 설치되어 있다면 간단히 다음을 실행하세요:
```bash
apt install bat
```
-만약 최근 릴리즈된 bat을 사용을 원하거나 buntu/Debian 예전 버전을 사용하는 경우, [릴리즈 페이지](https://github.com/sharkdp/bat/releases)에서 다음과 같이 `.deb` 패키지를 받아 설치 할 수도 있습니다:
+**중요**: 만약 `bat`을 이와 같이 설치한다면, ([다른 패키지와의 이름
+충돌](https://github.com/sharkdp/bat/issues/982)로 인하여) `bat` 대신에
+`batcat`이라는 이름의 실행 파일로 설치될 수 있음을 참고하세요.
+이에 따른 문제들과 다른 배포판들과의 일관성을 위하여 `bat -> batcat` symlink
+혹은 alias를 설정할 수 있습니다:
+``` bash
+mkdir -p ~/.local/bin
+ln -s /usr/bin/batcat ~/.local/bin/bat
+```
+
+### Ubuntu에서 (가장 최신 `.deb` 패키지들 사용)
+*... 그리고 다른 Debian 기반의 Linux 배포판들에서.*
+
+만약 여러분이 설치한 Ubuntu/Debian에 패키지가 배포되지 않거나 가장 최신 릴리즈된
+`bat`을 원한다면, [릴리즈 페이지](https://github.com/sharkdp/bat/releases)에서
+다음과 같이 `.deb` 패키지를 받아 설치하세요:
```bash
sudo dpkg -i bat_0.18.1_amd64.deb # adapt version number and architecture
```
-### On Alpine Linux
+### Alpine Linux에서
-공식 소스를 통해 [`bat` 패키지](https://pkgs.alpinelinux.org/packages?name=bat) 를 설치 할 수 있습니다:
+적절한 저장소가 활성화되어 있다면, 공식 소스를 통해
+[`bat` 패키지](https://pkgs.alpinelinux.org/packages?name=bat)를 설치할 수
+있습니다:
```bash
apk add bat
```
-### On Arch Linux
+### Arch Linux에서
-공식 소스를 통해 [`bat` 패키지](https://www.archlinux.org/packages/community/x86_64/bat/)를 설치할 수 있습니다:
+공식 소스를 통해
+[`bat` 패키지](https://www.archlinux.org/packages/community/x86_64/bat/)를
+설치할 수 있습니다:
```bash
pacman -S bat
```
-### On Fedora
+### Fedora에서
-[공식 Fedora 모듈 저장소](https://docs.fedoraproject.org/en-US/modularity/using-modules/)에서 [`bat` 패키지](https://koji.fedoraproject.org/koji/packageinfo?packageID=27506)을 설치할 수 있습니다:
+공식
+[Fedora 모듈](https://docs.fedoraproject.org/en-US/modularity/using-modules/)
+저장소에서
+[`bat` 패키지](https://koji.fedoraproject.org/koji/packageinfo?packageID=27506)를
+설치할 수 있습니다:
```bash
dnf install bat
```
-### On Gentoo Linux
+### Gentoo Linux에서
-공식 소스를 통해 [`bat` 패키지](https://packages.gentoo.org/packages/sys-apps/bat)를 설치할 수 있습니다.
+공식 소스를 통해
+[`bat` 패키지](https://packages.gentoo.org/packages/sys-apps/bat)를 설치할 수
+있습니다:
```bash
emerge sys-apps/bat
```
-### On Void Linux
+### Void Linux에서
-xbps-install를 이용해 `bat`을 설치할 수 있습니다:
+xbps-install을 이용해 `bat`을 설치할 수 있습니다:
```bash
xbps-install -S bat
```
-### On FreeBSD
+### Termux에서
+
+pkg를 이용해 `bat`을 설치할 수 있습니다:
+```bash
+pkg install bat
+```
+
+### FreeBSD에서
-pkg를 이용하여 미리 컴파일된 [`bat` 패키지](https://www.freshports.org/textproc/bat)를 설치할 수 있습니다:
+pkg를 이용하여 미리 컴파일된
+[`bat` 패키지](https://www.freshports.org/textproc/bat)를 설치할 수 있습니다:
```bash
pkg install bat
```
-또는 FreeBSD 포트에서 직접 빌드할 수도 있습니다:
+또는 FreeBSD 포트에서 직접 빌드할 수도 있습니다:
```bash
cd /usr/ports/textproc/bat
make install
```
-### Via nix
+### nix를 써서
-[nix package manager](https://nixos.org/nix)를 이용해 `bat`을 설치할 수 있습니다:
+[nix package manager](https://nixos.org/nix)를 이용해 `bat`을 설치할 수
+있습니다:
```bash
nix-env -i bat
```
-### On openSUSE
+### openSUSE에서
-zypper을 이용해 `bat`을 설치할 수 있습니다:
+zypper를 이용해 `bat`을 설치할 수 있습니다:
```bash
zypper install bat
```
-### On macOS
+### snap 패키지를 써서
+
+지금으로서는 추천하는 snap 패키지가 없습니다.
+제공되는 패키지들이 존재할 수는 있지만, 공식적으로 지원되지 않으며
+[문제](https://github.com/sharkdp/bat/issues/1519)가 있을 수 있습니다.
+
+
+### macOS (또는 Linux)에서 Homebrew를 써서
-[Homebrew](http://braumeister.org/formula/bat)를 이용해 `bat`을 설치할 수 있습니다:
+[macOS의 Homebrew](https://formulae.brew.sh/formula/bat) 또는
+[Linux의 Homebrew](https://formulae.brew.sh/formula-linux/bat)를 이용하여
+`bat`을 설치할 수 있습니다.
```bash
brew install bat
```
-또는 [MacPorts](https://ports.macports.org/port/bat/summary)를 사용할 수도 있습니다:
+### macOS에서 MacPorts를 써서
+
+[MacPorts](https://ports.macports.org/port/bat/summary)를 이용하여 `bat`을
+설치할 수 있습니다:
```bash
port install bat
```
-### On Windows
+### Windows에서
+
+Windows에서 `bat`을 설치할 수 있는 몇 가지 옵션들이 있습니다.
+먼저 `bat`을 설치한 후,
+["Windows에서 `bat` 사용하기"](#windows에서-bat-사용하기) 섹션을 살펴보세요.
-Windows에서 `bat`을 설치할 수 있는 몇 가지 옵션들이 있습니다. 먼저 `bat`을 설치 한 후, ["Windows에서 사용하기"](#Windows에서-사용하기) 참고하시기 바랍니다.
+#### 전제 조건
-#### With Chocolatey
+[Visual C++ 재배포 가능](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)
+패키지를 설치해야 합니다.
-[Chocolatey](https://chocolatey.org/packages/Bat)를 이용해 `bat`을 설치할 수 있습니다:
+#### Chocolatey를 써서
+
+[Chocolatey](https://chocolatey.org/packages/Bat)를 이용해 `bat`을 설치할 수
+있습니다:
```bash
choco install bat
```
-#### With Scoop
+#### Scoop을 써서
[scoop](https://scoop.sh/)을 이용해 `bat`을 설치할 수 있습니다:
```bash
scoop install bat
```
-[Visual C++ Redistributable 패키지](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)를 같이 설치해 주어야 합니다.
-#### From prebuilt binaries:
+#### 사전 빌드된 바이너리들로
-[릴리즈 페이지](https://github.com/sharkdp/bat/releases)에서 빌드된 바이너리를 다운받을 수 있습니다.
+[릴리즈 페이지](https://github.com/sharkdp/bat/releases)에서 사전 빌드된
+바이너리를 다운받을 수 있습니다.
-[Visual C++ Redistributable 패키지](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)를 같이 설치해 주어야 합니다.
+[Visual C++ 재배포 가능](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)
+패키지를 설치해야 합니다.
-### Via Docker
+### 바이너리들로
-컨테이너에서 `bat`을 사용할 수 있는 [Docker image](https://hub.docker.com/r/danlynn/bat/)가 있습니다.:
-```bash
-docker pull danlynn/bat
-alias bat='docker run -it --rm -e BAT_THEME -e BAT_STYLE -e BAT_TABS -v "$(pwd):/myapp" danlynn/bat'
-```
+[릴리즈 페이지](https://github.com/sharkdp/bat/releases)에서 다양한 아키텍처를
+위해 사전 빌드된 버전들을 확인할 수 있습니다.
+정적 링크 바이너리들은 파일 이름에 `musl` 이 포함된 아카이브들을 확인하세요.
-### Via Ansible
+### 소스에서
-[Ansible](https://www.ansible.com/)을 사용해 `bat`을 설치할 수 있습니다:
+`bat`의 소스를 빌드하기 위해서는, Rust 1.45 이상이 필요합니다.
+`cargo`를 이용해 전부 빌드할 수 있습니다:
```bash
-# Install role on local machine
-ansible-galaxy install aeimer.install_bat
-```
-
-```yaml
----
-# Playbook to install bat
-- host: all
- roles:
- - aeimer.install_bat
+cargo install --locked bat
```
-- [Ansible Galaxy](https://galaxy.ansible.com/aeimer/install_bat)
-- [GitHub](https://github.com/aeimer/ansible-install-bat)
-
-다음 배포판들에서 동작합니다:
-- Debian/Ubuntu
-- ARM (eg. Raspberry PI)
-- Arch Linux
-- Void Linux
-- FreeBSD
-- MacOS
+참고로 man 페이지나 셸 자동 완성 파일과 같은 부가 파일들은 이 방법으로 설치될 수
+없습니다.
+이것들은 `cargo`에 의해 생성이 되고 (`build` 밑의) cargo 타켓 폴더에서 찾을 수
+있습니다.
-### From binaries
+## 사용자화
-[릴리즈 페이지](https://github.com/sharkdp/bat/releases)에서 다양한 환경을 위해 빌드된 버전들을 확인 할 수 있습니다. 정적 링크 바이너리들은 아카이브에서 파일 이름에 `musl` 이 포함 파일로 확인 할 수 있습니다.
+### 문법 강조 테마
-### From source
+`bat --list-themes`을 사용하여 사용 가능한 문법 강조 테마들의 목록을 확인할 수
+있습니다.
+`TwoDark` 테마를 선택하려면, `--theme=TwoDark` 옵션과 함께 `bat`을 사용하거나
+`BAT_THEME` 환경 변수를 `TwoDark`로 설정하세요.
+셸 시작 파일에 `export BAT_THEME="TwoDark"` 를 정의해 영구적으로 설정할 수
+있습니다.
+이 밖에 `bat`의 [설정 파일](#설정-파일)을 이용할 수 있습니다.
-`bat`의 소스를 직접 빌드하기 위해서는, Rust 1.36 이상이 필요하며 `cargo`를 이용해 빌드할 수 있습니다.
+만약 다른 테마들을 사용하여 특정 파일을 보고 싶다면, 다음 명령어를 쓸 수
+있습니다(이 경우 [`fzf`](https://github.com/junegunn/fzf)가 필요합니다.)
```bash
-cargo install --locked bat
+bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
```
-일부 플랫폼에서는 `llvm` 그리고/또는 `libclang-dev` 설치가 필요할 수도 있습니다.
+`bat`은 기본적으로 어두운 배경에 적합합니다.
+그러나 밝은 배경의 터미널을 사용한다면 `GitHub`이나 `OneHalfLight`과 같은 테마가
+더 잘 어울립니다.
+아래 [새로운 테마 추가하기](#새로운-테마-추가하기) 섹션에 따라 커스텀 테마를
+사용할 수도 있습니다.
-## 커스터마이즈
+### 8비트 테마
-### 문법 강조 테마
+`bat`은 트루컬러 지원이 되더라도 항상
+[8비트 색상](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors)을 사용하는
+세 개의 테마가 있습니다.
-`bat --list-themes`을 사용하면, 현재 사용 가능한 문법 강조 테마들을 확인할 수 있습니다. `TwoDark` 테마 선택하는 경우, `--theme=TwoDark` 옵션과 함께 `bat`을 사용하거나 환경변수에서 `BAT_THEME`를 `TwoDark`로 세팅해주면 됩니다. 쉘 시작 파일에 `export BAT_THEME="TwoDark"` 를 정의해 계속 사용도 가능합니다. 이 밖에 `bat`의 [설정 파일](#설정-파일)을 이용할 수도 있습니다.
+- `ansi`는 어떤 터미널에서도 무난하게 보입니다. 이는 3비트 색상을 사용합니다:
+ 검정, 빨강, 녹색, 노랑, 파랑, 마젠타, 시안, 하양.
+- `base16`은 [base16](https://github.com/chriskempson/base16) 터미널 테마를 위해
+ 디자인되었습니다.
+ 이는 [base16 스타일 가이드라인](https://github.com/chriskempson/base16/blob/master/styling.md)에
+ 따라 4비트 색상(3비트 색상에 밝은 변형 추가)을 사용합니다.
+- `base16-256`는 [base16-shell](https://github.com/chriskempson/base16-shell)을
+ 위해 디자인되었습니다.
+ 이는 16부터 21의 일부 밝은 색상을 8비트 색상으로 대치합니다.
+ 단지 256-색상 터미널을 쓰지만 base16-shell을 쓰지 않는다고 해서 이것을
+ 사용하지 **마십시오**.
-다른 테마를 미리 보고 싶은경우 다음 명령어와 같이 사용할 수 있습니다.(이 경우 [`fzf`](https://github.com/junegunn/fzf)가 필요합니다.)
+이들 테마는 더 제한적이지만, 트루컬러 테마에 비해 두 장점이 있습니다:
-```bash
-bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
-```
-`bat`의 기본 테마는 어두운 배경색 터미널에 적합합니다. 만일 밝은 배경색을 사용할 경우에는 `GitHub` 이나 `OneHalfLight` 과 같은 테마가 더 잘 어울립니다. 아래 [새로운 테마 추가하기](#새로운-테마-추가하기)에 따라 커스텀 테마를 사용할수도 있습니다.
+- 이들은 3비트 혹은 4비트 색상을 쓰는 다른 터미널 소프트웨어와 더 잘
+ 어울립니다.
+- 만약 터미널 테마를 바꾼다면, 이미 화면 상의 `bat`의 출력도 이에 맞추어
+ 업데이트됩니다.
### 출력 스타일
-`--style` 옵션을 이용하여 `bat`의 출력 스타일을 변경 할 수 있습니다. 예를 들어, `--style=numbers,changes`는 Git 변경분과 라인 넘버에 대해서만 출력하며 눈금과 파일 헤더가 표시되지 않습니다. `BAT_STYLE` 환경 변수로 정의하여 계속해서 사용하거나`bat`의 [설정 파일](#설정-파일)을 사용할 수도 있습니다.
+`--style` 옵션을 이용하면 `bat`의 출력 모양을 조절할 수 있습니다.
+예를 들어, `--style=numbers,changes`를 통해 Git 변경분과 줄 번호는 출력하지만
+격자와 파일 헤더는 출력하지 않을 수 있습니다.
+`BAT_STYLE` 환경 변수를 정의하여 이러한 수정을 영구적으로 하거나 `bat`의
+[설정 파일](#설정-파일)을 사용하세요.
-### 새로운 문법 강조 / 언어 추가하기
+### 새로운 문법 / 언어 정의 추가하기
-`bat`은 문법 강조를 위해 [`syntect`](https://github.com/trishume/syntect/) 라이브러리를 사용하고 있습니다. `syntect`는 [Sublime Text의 `.sublime-syntax` 파일](https://www.sublimetext.com/docs/3/syntax.html)과 테마를 읽을 수 있습니다. 새로운 문법 강조를 추가하는 방법은 다음과 같습니다.
+만약 `bat`에서 특정 문법이 지원되지 않을 경우, 다음의 절차를 통해 현재 `bat`
+설치본에 새로운 문법을 쉽게 추가할 수 있습니다.
-우선 문법 정의 파일을 넣을 폴더를 만듭니다:
+`bat`은 문법 강조를 위해 훌륭한
+[`syntect`](https://github.com/trishume/syntect/) 라이브러리를 사용합니다.
+`syntect`는 임의의 [Sublime Text의 `.sublime-syntax`
+파일](https://www.sublimetext.com/docs/3/syntax.html)과 테마를 읽을 수 있습니다.
-```bash
-mkdir -p "$(bat --config-dir)/syntaxes"
-cd "$(bat --config-dir)/syntaxes"
+[Package Control](https://packagecontrol.io/)에 Sublime 문법 패키지를 찾는
+방법이 잘 정리되어 있습니다.
+일단 문법을 찾았다면:
-# Put new '.sublime-syntax' language definition files
-# in this folder (or its subdirectories), for example:
-git clone https://github.com/tellnobody1/sublime-purescript-syntax
-```
+1. 문법 정의 파일들을 넣을 폴더를 만듭니다:
-다음 명령어를 통해 파일을 바이너리 캐시로 파싱합니다.
+ ```bash
+ mkdir -p "$(bat --config-dir)/syntaxes"
+ cd "$(bat --config-dir)/syntaxes"
-```bash
-bat cache --build
-```
+ # 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 --list-languages`을 통해 새로운 언어가 사용 가능한지 확인합니다.
+2. 이제 다음 명령어를 통해 파일들을 파싱(parse)하여 바이너리 캐시를 만듭니다.
-기본 설정으로 돌아가려면, 다음 명령어를 이용합니다.:
+ ```bash
+ bat cache --build
+ ```
-```bash
-bat cache --clear
-```
+3. 마지막으로, `bat --list-languages`로 새로 추가한 언어가 사용 가능한지
+ 확인합니다.
+
+ 만약 기본 설정으로 돌아갈 일이 생긴다면, 다음 명령어를 이용합니다:
+
+ ```bash
+ bat cache --clear
+ ```
+
+4. 만약 특정 문법이 `bat`에 기본적으로 포함되어 있어야 한다고 생각한다면, 방침과
+ 절차를 [여기](../doc/assets.md)서 읽은 후 "문법 요청(syntax request)"을 열어
+ 주세요: [문법 요청하기](https://github.com/sharkdp/bat/issues/new?labels=syntax-request&template=syntax_request.md).
### 새로운 테마 추가하기
-새로운 문법 정의 추가와 매우 유사합니다.
+이 과정은 새로운 문법 정의 추가 방식과 매우 비슷합니다.
-먼저, 새로운 문법 강조 테마 폴더를 만듭니다.
+먼저, 새로운 문법 강조 테마 폴더를 만듭니다.
```bash
mkdir -p "$(bat --config-dir)/themes"
cd "$(bat --config-dir)/themes"
@@ -394,32 +534,93 @@ git clone https://github.com/greggb/sublime-snazzy
bat cache --build
```
-마지막으로 `bat --list-themes`을 통해 새로운 테마가 사용 가능한지 확인합니다.
+마지막으로 `bat --list-themes`을 통해 새로 추가한 테마들이 사용 가능한지
+확인합니다.
+
+### 파일 타입 설정을 추가하거나 변경하기
+
+새로운 파일 이름 패턴을 추가하려면 (혹은 이미 존재하는 것을 변경하려면)
+`--map-syntax` 커맨드 라인 옵션을 사용하세요.
+이 옵션은 `pattern:syntax` 꼴의 인자를 받습니다.
+이때 `pattern`은 파일 이름과 절대 파일 경로를 매치할 글로브(glob) 패턴입니다.
+`syntax` 부분은 지원되는 언어의 전체 이름입니다
+(`bat --list-languages`를 통해 개요를 확인하세요).
+
+참고: 이 옵션은 커맨드 라인에 넘겨 주는 것보다는 `bat`의 설정 파일에 넣는 것이
+좋을 것입니다 (아래를 보세요).
+
+예시: "INI" 문법 강조를 `.conf` 파일 확장자의 모든 파일에 적용하려면, 다음을
+사용하세요:
+```bash
+--map-syntax='*.conf:INI'
+```
+
+예시: `.ignore`(완전 일치)이라는 이름의 모든 파일을 "Git Ignore" 문법으로
+열려면, 다음을 사용하세요:
+```bash
+--map-syntax='.ignore:Git Ignore'
+```
+
+예시: `/etc/apache2`의 하위 폴더들에 있는 모든 `.conf` 파일들을 "Apache Conf"
+문법으로 열려면, 다음을 사용하세요 (이 대응(mapping)은 이미 내장되어 있습니다):
+```bash
+--map-syntax='/etc/apache2/**/*.conf:Apache Conf'
+```
-### 다른 페이져 사용하기
+### 다른 페이저 사용하기
-`bat`은 환경변수 `PAGER`로 사용할 페이져를 명시합니다. 만약 이 변수가 정의되어있지 않다면 `less`가 기본입니다. 만약 다른 페이져를 사용하고 싶다면 `PAGER` 변수를 수정하거나 `BAT_PAGER` 환경 변수로 `PAGER` 대신 정의 할 수도 있습니다.
+`bat`은 환경 변수 `PAGER`에 명시된 페이저를 사용합니다.
+이 변수가 정의되어 있지 않다면, `less`가 기본으로 사용됩니다.
+만약 다른 페이저를 사용하고 싶다면, `PAGER` 변수를 수정하거나 `BAT_PAGER` 환경
+변수를 설정하여 `PAGER`의 설정을 오버라이드(override)할 수 있습니다.
-만약 커맨드라인 인수로 넘기려면, `PAGER`/`BAT_PAGER` 변수를 정의를 통해 사용 할 수 있습니다. :
+만약 커맨드라인 인수들을 페이저에게 넘겨 주려면, `PAGER`/`BAT_PAGER` 변수로
+설정할 수 있습니다:
```bash
export BAT_PAGER="less -RF"
```
-환경 변