๋ฌธ๋ฒ ๊ฐ์กฐ์ Git ํตํฉ ๊ธฐ๋ฅ์ cat(1) ํด๋ก
์ฃผ์ ๊ธฐ๋ฅ๋ค โข
์ฌ์ฉ๋ฒ โข
์ค์น โข
์ฌ์ฉ์ํ โข
ํ๋ก์ ํธ ๋ชฉํ์ ๋์๋ค
[English]
[ไธญๆ]
[ๆฅๆฌ่ช]
[ํ๊ตญ์ด]
[ะ ัััะบะธะน]
bat
์ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ๋ฐ ๋งํฌ์
์ธ์ด์ ๋ฌธ๋ฒ ๊ฐ์กฐ(syntax highlighting) ๊ธฐ๋ฅ์
์ง์ํฉ๋๋ค:
bat
์ git
์ ํตํด ์ธ๋ฑ์ค์ ํจ๊ป ๋ณ๊ฒฝ๋ถ์ ํ์ํฉ๋๋ค
(์ผ์ชฝ ์ฌ์ด๋๋ฐ๋ฅผ ํ์ธํ์ธ์):
-A
/--show-all
์ต์
์ ์ฌ์ฉํ์ฌ ๋น์ธ์ ๋ฌธ์๋ฅผ ํ์ ๋ฐ ๊ฐ์กฐํ ์ ์์ต๋๋ค:
bat
์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ ํ๋ฉด์ ๋นํด ์ถ๋ ฅ์ด ํฐ ๊ฒฝ์ฐ less
์ ๊ฐ์ ํ์ด์ (pager)๋ก
์ถ๋ ฅ์ ์ฐ๊ฒฐ(pipe)ํฉ๋๋ค.
๋ง์ฝ bat
์ ์ธ์ ๋ cat
์ฒ๋ผ ์๋ํ๊ฒ ํ๋ ค๋ฉด (์ถ๋ ฅ์ ํ์ด์งํ์ง ์๊ธฐ),
--paging=never
์ต์
์ ์ปค๋งจ๋ ๋ผ์ธ์ด๋ ์ค์ ํ์ผ์ ๋ฃ์ ์ ์์ต๋๋ค.
์
ธ(shell) ์ค์ ์์ cat
์ bat
์ alias๋ก ์ฌ์ฉํ๋ ค๋ฉด,
alias cat='bat --paging=never'
๋ฅผ ์จ์ ๊ธฐ๋ณธ ํ๋์ ์ ์งํ ์ ์์ต๋๋ค.
ํ์ด์ (pager)๋ฅผ ์ฌ์ฉํ๋๋ผ๋ bat
์ ํ์ผ๋ค์ ์ฐ๊ฒฐ(concatenate)ํ ์ ์์ต๋๋ค
:wink:.
bat
์ด ๋น๋ํํ(non-interactive) ํฐ๋ฏธ๋(์๋ฅผ ๋ค์ด, ๋ค๋ฅธ ํ๋ก์ธ์ค๋ ํ์ผ์
์ฐ๊ฒฐ(pipe)ํ ๊ฒฝ์ฐ)์ ๊ฐ์งํ๋ฉด, bat
์ --pager
์ต์
์ ๊ฐ๊ณผ ์๊ด์์ด cat
๊ณผ
๋์ผํ๊ฒ ํ์ผ ๋ด์ฉ์ ๊ทธ๋๋ก ์ถ๋ ฅํฉ๋๋ค.
ํฐ๋ฏธ๋์ ํ๋์ ํ์ผ ํ์ํ๊ธฐ
> bat README.md
์ฌ๋ฌ ํ์ผ ํ ๋ฒ์ ๋ณด์ฌ์ฃผ๊ธฐ
> bat src/*.rs
stdin์์ ์ฝ๊ณ , ์๋์ผ๋ก ๋ง๋ ๋ฌธ๋ฒ ๊ฒฐ์ ํ๊ธฐ (์ฐธ๊ณ ๋ก, ๋ฌธ๋ฒ ๊ฐ์กฐ๋ ํ์ผ์ ์ฒซ
์ค๋ง์ผ๋ก ๋ฌธ๋ฒ์ด ๊ฒฐ์ ๋ ์ ์์ ๋๋ง ์๋ํฉ๋๋ค.
์ด๋ ๋ณดํต #!/bin/sh
์ ๊ฐ์ ์
๋ฑ
(shebang)์ผ๋ก ํ๋จํฉ๋๋ค.)
> curl -s https://sh.rustup.rs | bat
stdin์์ ์ฝ๊ณ , ๋ช ์์ ์ผ๋ก ์ธ์ด ์ง์ ํ๊ธฐ
> yaml2json .travis.yml | json_pp | bat -l json
๋น์ธ์ ๋ฌธ์ ํ์ ๋ฐ ๊ฐ์กฐํ๊ธฐ
> bat -A /etc/hosts
cat
๋์ ์ฌ์ฉํ๊ธฐ:
bat > note.md # quickly create a new file
bat header.md content.md footer.md > document.md
bat -n main.rs # show line numbers (only)
bat f - g # output 'f', then stdin, then 'g'.
bat
์ fzf
์ ํ๋ฆฌ๋ทฐ๋ก ์ธ ์ ์์ต๋๋ค.
์ด๋ฅผ ์ํด์๋ bat
์ --color=always
์ต์
์ผ๋ก ํญ์ ์ปฌ๋ฌ ์ถ๋ ฅ์ด ๋์ค๊ฒ ํด์ผ
ํฉ๋๋ค.
๋ํ --line-range
์ต์
์ผ๋ก ๊ธด ํ์ผ์ ๋ก๋ ์๊ฐ์ ์ ํํ ์ ์์ต๋๋ค:
fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'
๋ ๋ง์ ์ ๋ณด๋
fzf
์ README
๋ฅผ ์ฐธ๊ณ ํ์ธ์.
find
์ -exec
์ต์
์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ bat
๋ก ๋ฏธ๋ฆฌ ๋ณผ ์ ์์ต๋๋ค:
find โฆ -exec bat {} +
fd
๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, -X
/--exec-batch
์ต์
์ ์ด์ฉํ์ฌ ๋์ผํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค:
fd โฆ -X bat
batgrep
์
ํตํด bat
๋ก ripgrep
์ ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ
์ถ๋ ฅํ ์ ์์ต๋๋ค.
batgrep needle src/
bat
์ tail -f
๋ฅผ ํจ๊ป ์ฌ์ฉํ์ฌ ์ฃผ์ด์ง ํ์ผ์ ๋ฌธ๋ฒ ๊ฐ์กฐํ๋ฉฐ ์ง์์ ์ผ๋ก
๋ชจ๋ํฐํ ์ ์์ต๋๋ค.
tail -f /var/log/pacman.log | bat --paging=never -l log
์ฐธ๊ณ ๋ก ์ด ์์
์ ํ๋ ค๋ฉด ํ์ด์ง ๊ธฐ๋ฅ์ ๊บผ์ผ ํฉ๋๋ค.
๋ํ ์ด ๊ฒฝ์ฐ ๋ฌธ๋ฒ์ ์๋ ๊ฐ์งํ ์ ์๊ธฐ ๋๋ฌธ์, ์ ์ฉํ ๋ฌธ๋ฒ์ ์ง์ ์ง์ ํด์ผ
ํฉ๋๋ค (-l log
).
bat
๊ณผ git show
๋ฅผ ํจ๊ป ์ฌ์ฉํ์ฌ ์ฃผ์ด์ง ํ์ผ์ ์ด์ ๋ฒ์ ์ ์ฌ๋ฐ๋ฅธ ๋ฌธ๋ฒ ๊ฐ์กฐ๋ก
๋ณผ ์ ์์ต๋๋ค:
git show v0.6.0:src/main.rs | bat -l rs
bat
๊ณผ git diff
๋ฅผ ํจ๊ป ์ฌ์ฉํ์ฌ ์์ ๋ ์ฝ๋ ์ฃผ์์ ์ค๋ค์ ์ฌ๋ฐ๋ฅธ ๋ฌธ๋ฒ ๊ฐ์กฐ๋ก
๋ณผ ์ ์์ต๋๋ค:
batdiff() {
git diff --name-only --diff-filter=d | xargs bat --diff
}
์ด๊ฒ์ ๋ณ๋์ ๋๊ตฌ๋ก ์ฐ๊ณ ์ถ๋ค๋ฉด
bat-extras
์ batdiff
๋ฅผ ํ์ธํด ๋ณด์ธ์.
Git๊ณผ diff์ ๋ ๋ง์ ์ง์์ ์ํ๋ค๋ฉด
delta
๋ฅผ ํ์ธํด ๋ณด์ธ์.
bat
์ถ๋ ฅ์ ์ค ๋ฒํธ์ Git ์์ ๋ด์ญ์ด ํฌํจ๋์ด์ ํ์ผ์ ๋ด์ฉ์ ๋ณต์ฌํ๊ธฐ
์ด๋ ค์ธ ์ ์์ต๋๋ค.
์ด ๊ฒฝ์ฐ์๋ bat
์ -p
/--plain
์ต์
์ ์ฌ์ฉํ๊ฑฐ๋ ๊ฐ๋จํ xclip
์ผ๋ก ์ถ๋ ฅ์
์ฐ๊ฒฐ(pipe)ํ๋ฉด ๋ฉ๋๋ค:
bat main.cpp | xclip
bat
๋ ์ถ๋ ฅ์ด ์ฐํ๋๊ณ ์๋ค๋ ๊ฒ์ ๊ฐ์งํ์ฌ ํ์ผ ๋ด์ฉ ๊ทธ๋๋ก๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
MANPAGER
ํ๊ฒฝ ๋ณ์ ์ค์ ์ ํตํด bat
์ man
์ ์ปฌ๋ฌ ํ์ด์ (pager)๋ก ์ธ ์
์์ต๋๋ค.
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
man 2 select
(Debian์ด๋ Ubuntu๋ฅผ ์ฌ์ฉํ๋ค๋ฉด bat
์ batcat
์ผ๋ก ์นํํ์ธ์.)
ํฌํป ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๋ฉด, MANROFFOPT="-c"
์ ์จ์ผ ํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ ํฌํจํ ์๋ก์ด ๋ช
๋ น์ด๋ฅผ ์ ํธํ๋ค๋ฉด,
batman
์ ์ธ
์๋ ์์ต๋๋ค.
์ฐธ๊ณ ๋ก Manpage ๋ฌธ๋ฒ์ ๋ณธ ์ ์ฅ์์์ ๊ฐ๋ฐ ์ค์ ์์ผ๋ฉฐ, ์์ง ๋ ์๋ด์ผ ํฉ๋๋ค.
๋ํ, ์ด๋ Mandoc์ man
๊ตฌํ์์
์๋ํ์ง ์์ต๋๋ค.
prettybat
์คํฌ๋ฆฝํธ๋ ์ฝ๋๋ฅผ ํฌ๋งทํ๊ณ bat
์ผ๋ก ์ถ๋ ฅํ๋ ๋ํผ(wrapper)์
๋๋ค.
... ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ Debian ๊ธฐ๋ฐ์ Linux ๋ฐฐํฌํ๋ค์์.
bat
์ Ubuntu์
Debian ํจํค์ง ๋ฐฐํฌ ๊ณผ์ ์ ๋์
๋๋ ์ค์ด๋ฉฐ,
Eoan 19.10 ๋ฒ์ ์ Ubuntu์์๋ถํฐ ์ ๊ณต๋ฉ๋๋ค.
ํ์ฌ Debian์์๋ ๋ถ์์ ํ "Sid" ๋ธ๋์น์์๋ง bat
์ด ์ ๊ณต๋ฉ๋๋ค.
๋ง์ฝ ์ถฉ๋ถํ ์ต์ ๋ฒ์ ์ Ubuntu/Debian์ด ์ค์น๋์ด ์๋ค๋ฉด ๊ฐ๋จํ ๋ค์์ ์คํํ์ธ์:
apt install bat
์ค์: ๋ง์ฝ bat
์ ์ด์ ๊ฐ์ด ์ค์นํ๋ค๋ฉด, (๋ค๋ฅธ ํจํค์ง์์ ์ด๋ฆ
์ถฉ๋๋ก ์ธํ์ฌ) bat
๋์ ์
batcat
์ด๋ผ๋ ์ด๋ฆ์ ์คํ ํ์ผ๋ก ์ค์น๋ ์ ์์์ ์ฐธ๊ณ ํ์ธ์.
์ด์ ๋ฐ๋ฅธ ๋ฌธ์ ๋ค๊ณผ ๋ค๋ฅธ ๋ฐฐํฌํ๋ค๊ณผ์ ์ผ๊ด์ฑ์ ์ํ์ฌ bat -> batcat
symlink
ํน์ alias๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค:
mkdir -p ~/.local/bin
ln -s /usr/bin/batcat ~/.local/bin/bat
... ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ Debian ๊ธฐ๋ฐ์ Linux ๋ฐฐํฌํ๋ค์์.
๋ง์ฝ ์ฌ๋ฌ๋ถ์ด ์ค์นํ Ubuntu/Debian์ ํจํค์ง๊ฐ ๋ฐฐํฌ๋์ง ์๊ฑฐ๋ ๊ฐ์ฅ ์ต์ ๋ฆด๋ฆฌ์ฆ๋
bat
์ ์ํ๋ค๋ฉด, ๋ฆด๋ฆฌ์ฆ ํ์ด์ง์์
๋ค์๊ณผ ๊ฐ์ด .deb
ํจํค์ง๋ฅผ ๋ฐ์ ์ค์นํ์ธ์:
sudo dpkg -i bat_0.18.3_amd64.deb # adapt version number and architecture
์ ์ ํ ์ ์ฅ์๊ฐ ํ์ฑํ๋์ด ์๋ค๋ฉด, ๊ณต์ ์์ค๋ฅผ ํตํด
bat
ํจํค์ง๋ฅผ ์ค์นํ ์
์์ต๋๋ค:
apk add bat
๊ณต์ ์์ค๋ฅผ ํตํด
bat
ํจํค์ง๋ฅผ
์ค์นํ ์ ์์ต๋๋ค:
pacman -S bat
๊ณต์
Fedora ๋ชจ๋
์ ์ฅ์์์
bat
ํจํค์ง๋ฅผ
์ค์นํ ์ ์์ต๋๋ค:
dnf install bat
dev-kit์ ํตํด bat
ํจํค์ง๋ฅผ ์ค์นํ ์ ์์ต๋๋ค:
emerge sys-apps/bat
๊ณต์ ์์ค๋ฅผ ํตํด
bat
ํจํค์ง๋ฅผ ์ค์นํ ์
์์ต๋๋ค:
emerge sys-apps/bat
xbps-install์ ์ด์ฉํด bat
์ ์ค์นํ ์ ์์ต๋๋ค:
xbps-install -S bat
pkg๋ฅผ ์ด์ฉํด bat
์ ์ค์นํ ์ ์์ต๋๋ค:
pkg install bat
pkg๋ฅผ ์ด์ฉํ์ฌ ๋ฏธ๋ฆฌ ์ปดํ์ผ๋
bat
ํจํค์ง๋ฅผ ์ค์นํ ์ ์์ต๋๋ค:
pkg install bat
๋๋ FreeBSD ํฌํธ์์ ์ง์ ๋น๋ํ ์๋ ์์ต๋๋ค:
cd /usr/ports/textproc/bat
make install
nix package manager๋ฅผ ์ด์ฉํด bat
์ ์ค์นํ ์
์์ต๋๋ค:
nix-env -i bat
zypper๋ฅผ ์ด์ฉํด bat
์ ์ค์นํ ์ ์์ต๋๋ค:
zypper install bat
์ง๊ธ์ผ๋ก์๋ ์ถ์ฒํ๋ snap ํจํค์ง๊ฐ ์์ต๋๋ค. ์ ๊ณต๋๋ ํจํค์ง๋ค์ด ์กด์ฌํ ์๋ ์์ง๋ง, ๊ณต์์ ์ผ๋ก ์ง์๋์ง ์์ผ๋ฉฐ ๋ฌธ์ ๊ฐ ์์ ์ ์์ต๋๋ค.
macOS์ Homebrew ๋๋
Linux์ Homebrew๋ฅผ ์ด์ฉํ์ฌ
bat
์ ์ค์นํ ์ ์์ต๋๋ค.
brew install bat
MacPorts๋ฅผ ์ด์ฉํ์ฌ bat
์
์ค์นํ ์ ์์ต๋๋ค:
port install bat
Windows์์ bat
์ ์ค์นํ ์ ์๋ ๋ช ๊ฐ์ง ์ต์
๋ค์ด ์์ต๋๋ค.
๋จผ์ bat
์ ์ค์นํ ํ,
"Windows์์ bat
์ฌ์ฉํ๊ธฐ" ์น์
์ ์ดํด๋ณด์ธ์.
Visual C++ ์ฌ๋ฐฐํฌ ๊ฐ๋ฅ ํจํค์ง๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
Chocolatey๋ฅผ ์ด์ฉํด bat
์ ์ค์นํ ์
์์ต๋๋ค:
choco install bat
scoop์ ์ด์ฉํด bat
์ ์ค์นํ ์ ์์ต๋๋ค:
scoop install bat
๋ฆด๋ฆฌ์ฆ ํ์ด์ง์์ ์ฌ์ ๋น๋๋ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ค์ด๋ฐ์ ์ ์์ต๋๋ค.
Visual C++ ์ฌ๋ฐฐํฌ ๊ฐ๋ฅ ํจํค์ง๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
๋ฆด๋ฆฌ์ฆ ํ์ด์ง์์ ๋ค์ํ ์ํคํ
์ฒ๋ฅผ
์ํด ์ฌ์ ๋น๋๋ ๋ฒ์ ๋ค์ ํ์ธํ ์ ์์ต๋๋ค.
์ ์ ๋งํฌ ๋ฐ์ด๋๋ฆฌ๋ค์ ํ์ผ ์ด๋ฆ์ musl
์ด ํฌํจ๋ ์์นด์ด๋ธ๋ค์ ํ์ธํ์ธ์.
bat
์ ์์ค๋ฅผ ๋น๋ํ๊ธฐ ์ํด์๋, Rust 1.51 ์ด์์ด ํ์ํฉ๋๋ค.
cargo
๋ฅผ ์ด์ฉํด ์ ๋ถ ๋น๋ํ ์ ์์ต๋๋ค:
cargo install --locked bat
์ฐธ๊ณ ๋ก man ํ์ด์ง๋ ์
ธ ์๋ ์์ฑ ํ์ผ๊ณผ ๊ฐ์ ๋ถ๊ฐ ํ์ผ๋ค์ ์ด ๋ฐฉ๋ฒ์ผ๋ก ์ค์น๋ ์
์์ต๋๋ค.
์ด๊ฒ๋ค์ cargo
์ ์ํด ์์ฑ์ด ๋๊ณ (build
๋ฐ์) cargo ํ์ผ ํด๋์์ ์ฐพ์ ์
์์ต๋๋ค.
bat --list-themes
์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฌธ๋ฒ ๊ฐ์กฐ ํ
๋ง๋ค์ ๋ชฉ๋ก์ ํ์ธํ ์
์์ต๋๋ค.
TwoDark
ํ
๋ง๋ฅผ ์ ํํ๋ ค๋ฉด, --theme=TwoDark
์ต์
๊ณผ ํจ๊ป bat
์ ์ฌ์ฉํ๊ฑฐ๋
BAT_THEME
ํ๊ฒฝ ๋ณ์๋ฅผ TwoDark
๋ก ์ค์ ํ์ธ์.
์
ธ ์์ ํ์ผ์ export BAT_THEME="TwoDark"
๋ฅผ ์ ์ํด ์๊ตฌ์ ์ผ๋ก ์ค์ ํ ์
์์ต๋๋ค.
์ด ๋ฐ์ bat
์ ์ค์ ํ์ผ์ ์ด์ฉํ ์ ์์ต๋๋ค.
๋ง์ฝ ๋ค๋ฅธ ํ
๋ง๋ค์ ์ฌ์ฉํ์ฌ ํน์ ํ์ผ์ ๋ณด๊ณ ์ถ๋ค๋ฉด, ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ธ ์
์์ต๋๋ค(์ด ๊ฒฝ์ฐ fzf
๊ฐ ํ์ํฉ๋๋ค.)
bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
bat
์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋์ด ๋ฐฐ๊ฒฝ์ ์ ํฉํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ฐ์ ๋ฐฐ๊ฒฝ์ ํฐ๋ฏธ๋์ ์ฌ์ฉํ๋ค๋ฉด GitHub
์ด๋ OneHalfLight
๊ณผ ๊ฐ์ ํ
๋ง๊ฐ
๋ ์ ์ด์ธ๋ฆฝ๋๋ค.
์๋ ์๋ก์ด ํ
๋ง ์ถ๊ฐํ๊ธฐ ์น์
์ ๋ฐ๋ผ ์ปค์คํ
ํ
๋ง๋ฅผ
์ฌ์ฉํ ์๋ ์์ต๋๋ค.
bat
์ ํธ๋ฃจ์ปฌ๋ฌ ์ง์์ด ๋๋๋ผ๋ ํญ์
8๋นํธ ์์์ ์ฌ์ฉํ๋
์ธ ๊ฐ์ ํ
๋ง๊ฐ ์์ต๋๋ค.
ansi
๋ ์ด๋ค ํฐ๋ฏธ๋์์๋ ๋ฌด๋ํ๊ฒ ๋ณด์ ๋๋ค. ์ด๋ 3๋นํธ ์์์ ์ฌ์ฉํฉ๋๋ค: ๊ฒ์ , ๋นจ๊ฐ, ๋ น์, ๋ ธ๋, ํ๋, ๋ง์ ํ, ์์, ํ์.base16
์ base16 ํฐ๋ฏธ๋ ํ ๋ง๋ฅผ ์ํด ๋์์ธ๋์์ต๋๋ค. ์ด๋ base16 ์คํ์ผ ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ผ 4๋นํธ ์์(3๋นํธ ์์์ ๋ฐ์ ๋ณํ ์ถ๊ฐ)์ ์ฌ์ฉํฉ๋๋ค.base16-256
๋ base16-shell์ ์ํด ๋์์ธ๋์์ต๋๋ค. ์ด๋ 16๋ถํฐ 21์ ์ผ๋ถ ๋ฐ์ ์์์ 8๋นํธ ์์์ผ๋ก ๋์นํฉ๋๋ค. ๋จ์ง 256-์์ ํฐ๋ฏธ๋์ ์ฐ์ง๋ง base16-shell์ ์ฐ์ง ์๋๋ค๊ณ ํด์ ์ด๊ฒ์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค.
์ด๋ค ํ ๋ง๋ ๋ ์ ํ์ ์ด์ง๋ง, ํธ๋ฃจ์ปฌ๋ฌ ํ ๋ง์ ๋นํด ๋ ์ฅ์ ์ด ์์ต๋๋ค:
- ์ด๋ค์ 3๋นํธ ํน์ 4๋นํธ ์์์ ์ฐ๋ ๋ค๋ฅธ ํฐ๋ฏธ๋ ์ํํธ์จ์ด์ ๋ ์ ์ด์ธ๋ฆฝ๋๋ค.
- ๋ง์ฝ ํฐ๋ฏธ๋ ํ
๋ง๋ฅผ ๋ฐ๊พผ๋ค๋ฉด, ์ด๋ฏธ ํ๋ฉด ์์
bat
์ ์ถ๋ ฅ๋ ์ด์ ๋ง์ถ์ด ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
--style
์ต์
์ ์ด์ฉํ๋ฉด bat
์ ์ถ๋ ฅ ๋ชจ์์ ์กฐ์ ํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, --style=numbers,changes
๋ฅผ ํตํด Git ๋ณ๊ฒฝ๋ถ๊ณผ ์ค ๋ฒํธ๋ ์ถ๋ ฅํ์ง๋ง
๊ฒฉ์์ ํ์ผ ํค๋๋ ์ถ๋ ฅํ์ง ์์ ์ ์์ต๋๋ค.
BAT_STYLE
ํ๊ฒฝ ๋ณ์๋ฅผ ์ ์ํ์ฌ ์ด๋ฌํ ์์ ์ ์๊ตฌ์ ์ผ๋ก ํ๊ฑฐ๋ bat
์
์ค์ ํ์ผ์ ์ฌ์ฉํ์ธ์.
๋ง์ฝ bat
์์ ํน์ ๋ฌธ๋ฒ์ด ์ง์๋์ง ์์ ๊ฒฝ์ฐ, ๋ค์์ ์ ์ฐจ๋ฅผ ํตํด ํ์ฌ bat
์ค์น๋ณธ์ ์๋ก์ด ๋ฌธ๋ฒ์ ์ฝ๊ฒ ์ถ๊ฐํ ์ ์์ต๋๋ค.
bat
์ ๋ฌธ๋ฒ ๊ฐ์กฐ๋ฅผ ์ํด ํ๋ฅญํ
syntect
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
syntect
๋ ์์์ Sublime Text์ .sublime-syntax
ํ์ผ๊ณผ ํ
๋ง๋ฅผ ์ฝ์ ์ ์์ต๋๋ค.
Package Control์ Sublime ๋ฌธ๋ฒ ํจํค์ง๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ด ์ ์ ๋ฆฌ๋์ด ์์ต๋๋ค. ์ผ๋จ ๋ฌธ๋ฒ์ ์ฐพ์๋ค๋ฉด:
- ๋ฌธ๋ฒ ์ ์ ํ์ผ๋ค์ ๋ฃ์ ํด๋๋ฅผ ๋ง๋ญ๋๋ค:
mkdir -p "$(bat --config-dir)/syntaxes"
cd "$(bat --config-dir)/syntaxes"
# Put new '.sublime-syntax' language definition files
# in this folder (or its subdirectories), for example:
git clone https://github.com/tellnobody1/sublime-purescript-syntax
- ์ด์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ํตํด ํ์ผ๋ค์ ํ์ฑ(parse)ํ์ฌ ๋ฐ์ด๋๋ฆฌ ์บ์๋ฅผ ๋ง๋ญ๋๋ค.
bat cache --build
- ๋ง์ง๋ง์ผ๋ก,
bat --list-languages
๋ก ์๋ก ์ถ๊ฐํ ์ธ์ด๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ์ง ํ์ธํฉ๋๋ค.
๋ง์ฝ ๊ธฐ๋ณธ ์ค์ ์ผ๋ก ๋์๊ฐ ์ผ์ด ์๊ธด๋ค๋ฉด, ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ด์ฉํฉ๋๋ค:
bat cache --clear
- ๋ง์ฝ ํน์ ๋ฌธ๋ฒ์ด
bat
์ ๊ธฐ๋ณธ์ ์ผ๋ก ํฌํจ๋์ด ์์ด์ผ ํ๋ค๊ณ ์๊ฐํ๋ค๋ฉด, ๋ฐฉ์นจ๊ณผ ์ ์ฐจ๋ฅผ ์ฌ๊ธฐ์ ์ฝ์ ํ "๋ฌธ๋ฒ ์์ฒญ(syntax request)"์ ์ด์ด ์ฃผ์ธ์: ๋ฌธ๋ฒ ์์ฒญํ๊ธฐ.
์ด ๊ณผ์ ์ ์๋ก์ด ๋ฌธ๋ฒ ์ ์ ์ถ๊ฐ ๋ฐฉ์๊ณผ ๋งค์ฐ ๋น์ทํฉ๋๋ค.
๋จผ์ , ์๋ก์ด ๋ฌธ๋ฒ ๊ฐ์กฐ ํ ๋ง ํด๋๋ฅผ ๋ง๋ญ๋๋ค.
mkdir -p "$(bat --config-dir)/themes"
cd "$(bat --config-dir)/themes"
# Download a theme in '.tmTheme' format, for example:
git clone https://github.com/greggb/sublime-snazzy
# Update the binary cache
bat cache --build
๋ง์ง๋ง์ผ๋ก bat --list-themes
์ ํตํด ์๋ก ์ถ๊ฐํ ํ
๋ง๋ค์ด ์ฌ์ฉ ๊ฐ๋ฅํ์ง
ํ์ธํฉ๋๋ค.
์๋ก์ด ํ์ผ ์ด๋ฆ ํจํด์ ์ถ๊ฐํ๋ ค๋ฉด (ํน์ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒ์ ๋ณ๊ฒฝํ๋ ค๋ฉด)
--map-syntax
์ปค๋งจ๋ ๋ผ์ธ ์ต์
์ ์ฌ์ฉํ์ธ์.
์ด ์ต์
์ pattern:syntax
๊ผด์ ์ธ์๋ฅผ ๋ฐ์ต๋๋ค.
์ด๋ pattern
์ ํ์ผ ์ด๋ฆ๊ณผ ์ ๋ ํ์ผ ๊ฒฝ๋ก๋ฅผ ๋งค์นํ ๊ธ๋ก๋ธ(glob) ํจํด์
๋๋ค.
syntax
๋ถ๋ถ์ ์ง์๋๋ ์ธ์ด์ ์ ์ฒด ์ด๋ฆ์
๋๋ค
(bat --list-languages
๋ฅผ ํตํด ๊ฐ์๋ฅผ ํ์ธํ์ธ์).
์ฐธ๊ณ : ์ด ์ต์
์ ์ปค๋งจ๋ ๋ผ์ธ์ ๋๊ฒจ ์ฃผ๋ ๊ฒ๋ณด๋ค๋ bat
์ ์ค์ ํ์ผ์ ๋ฃ๋ ๊ฒ์ด
์ข์ ๊ฒ์
๋๋ค (์๋๋ฅผ ๋ณด์ธ์).
์์: "INI" ๋ฌธ๋ฒ ๊ฐ์กฐ๋ฅผ .conf
ํ์ผ ํ์ฅ์์ ๋ชจ๋ ํ์ผ์ ์ ์ฉํ๋ ค๋ฉด, ๋ค์์
์ฌ์ฉํ์ธ์:
--map-syntax='*.conf:INI'
์์: .ignore
(์์ ์ผ์น)์ด๋ผ๋ ์ด๋ฆ์ ๋ชจ๋ ํ์ผ์ "Git Ignore" ๋ฌธ๋ฒ์ผ๋ก
์ด๋ ค๋ฉด, ๋ค์์ ์ฌ์ฉํ์ธ์:
--map-syntax='.ignore:Git Ignore'
์์: /etc/apache2
์ ํ์ ํด๋๋ค์ ์๋ ๋ชจ๋ .conf
ํ์ผ๋ค์ "Apache Conf"
๋ฌธ๋ฒ์ผ๋ก ์ด๋ ค๋ฉด, ๋ค์์ ์ฌ์ฉํ์ธ์ (์ด ๋์(mapping)์ ์ด๋ฏธ ๋ด์ฅ๋์ด ์์ต๋๋ค):
--map-syntax='/etc/apache2/**/*.conf:Apache Conf'
bat
์ ํ๊ฒฝ ๋ณ์ PAGER
์ ๋ช
์๋ ํ์ด์ ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด ๋ณ์๊ฐ ์ ์๋์ด ์์ง ์๋ค๋ฉด, less
๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๋ง์ฝ ๋ค๋ฅธ ํ์ด์ ๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด, PAGER
๋ณ์๋ฅผ ์์ ํ๊ฑฐ๋ BAT_PAGER
ํ๊ฒฝ
๋ณ์๋ฅผ ์ค์ ํ์ฌ PAGER
์ ์ค์ ์ ์ค๋ฒ๋ผ์ด๋(override)ํ ์ ์์ต๋๋ค.
๋ง์ฝ ์ปค๋งจ๋๋ผ์ธ ์ธ์๋ค์ ํ์ด์ ์๊ฒ ๋๊ฒจ ์ฃผ๋ ค๋ฉด, PAGER
/BAT_PAGER
๋ณ์๋ก
์ค์ ํ ์ ์์ต๋๋ค:
export BAT_PAGER="less -RF"
ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๋์ , bat
์ ์ค์ ํ์ผ๋ก ํ์ด์ ๋ฅผ ์ค์ ํ
์๋ ์์ต๋๋ค (--pager
์ต์
).
์ฐธ๊ณ : ๊ธฐ๋ณธ์ ์ผ๋ก, ํ์ด์ ๊ฐ less
๋ก ์ค์ ๋์ด ์๋ค๋ฉด (๊ทธ๋ฆฌ๊ณ ์ปค๋งจ๋ ๋ผ์ธ
์ต์
์ด ์ง์ ๋์ด ์์ง ์๋ค๋ฉด), bat
์ ๋ค์ ์ต์
๋ค์ ํ์ด์ ๋ก ๋๊ฒจ์ค๋๋ค:
-R
/--RAW-CONTROL-CHARS
, -F
/--quit-if-one-screen
๊ทธ๋ฆฌ๊ณ -X
/--no-init
.
๋ง์ง๋ง ์ต์
(-X
)์ 530 ์ด์ ๋ฒ์ ์ less
์๋ง ์ฌ์ฉ๋ฉ๋๋ค.
-R
์ต์
์ ANSI ์์์ ์ฌ๋ฐ๋ฅด๊ฒ ํด์ํ๊ธฐ ์ํด ํ์ํฉ๋๋ค.
๋ ๋ฒ์งธ ์ต์
(-F
)์ ์ถ๋ ฅ ํฌ๊ธฐ๊ฐ ํฐ๋ฏธ๋์ ์ธ๋ก ํฌ๊ธฐ๋ณด๋ค ์์ ๊ฒฝ์ฐ less๊ฐ ์ฆ์
์ข
๋ฃ๋๋๋ก ํฉ๋๋ค.
์ด๋ ์์ ํ์ผ์ ๋ค๋ฃฐ ๋ ํ์ด์ ๋ฅผ ์ข
๋ฃํ๊ธฐ ์ํด q
๋ฅผ ๋๋ฅผ ํ์ ์์ด์
ํธ๋ฆฌํฉ๋๋ค.
์ธ ๋ฒ์งธ ์ต์
(-X
)๋ ์์ ๋ฒ์ ์ less
์ ์๋ --quit-if-one-screen
๊ธฐ๋ฅ์
๋ฒ๊ทธ๋ฅผ ๊ณ ์น๊ธฐ ์ํด ํ์ํฉ๋๋ค.
์ํ๊น๊ฒ๋, ์ด๋ less
์ ๋ง์ฐ์ค ํ ์ง์๊ณผ ํธํ๋์ง ์์ต๋๋ค.
less
์ ์์ ๋ฒ์ ์์ ๋ง์ฐ์ค ํ ๊ธฐ๋ฅ์ ํ์ฑํํ๋ ค๋ฉด, -R
์ต์
์ ๋๊ฒจ์ฃผ์ธ์
(์์ ์์ ์ฒ๋ผ, ์ด ์ต์
์ quit-if-one-screen ๊ธฐ๋ฅ์ ๋นํ์ฑํํฉ๋๋ค).
less 530๊ณผ ์ดํ ๋ฒ์ ์์๋ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
bat
์ ํ์ด์ ์ ์์กดํ์ง ์๊ณ ํญ์ 4 ์คํ์ด์ค๋ก ํ์ฅํฉ๋๋ค.
์ด๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด ๊ฐ๋จํ --tabs
์ธ์์ ํ์๋๊ธฐ๋ฅผ ์ํ๋ ์คํ์ด์ค ๊ฐ์๋ฅผ
์ถ๊ฐํ์ธ์.
์ฐธ๊ณ : (bat
์ --pager
์ธ์ ํน์ less
์ LESS
ํ๊ฒฝ ๋ณ์๋ฅผ ํตํด)
ํ์ด์ ์ ํญ ๊ธธ์ด๋ฅผ ์ง์ ํ๋ ๊ฒ์ ํจ๊ณผ๊ฐ ์์ ๊ฒ์ธ๋ฐ, ์ด๋ ํ์ด์ ๊ฐ ์ด๋ฏธ
์คํ์ด์ค๋ก ํ์ฅ๋ ํญ์ ๋ฐ๊ธฐ ๋๋ฌธ์
๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ฌ์ด๋๋ฐ์ ์ํ ๋ค์ฌ์ฐ๊ธฐ ๋ฌธ์ ๋ฅผ ํํผํ๊ธฐ ์ํด ์ถ๊ฐ๋์์ต๋๋ค.
bat
์ --tabs=0
๊ณผ ํจ๊ป ํธ์ถํ๋ฉด ์ด๋ฅผ ์ค๋ฒ๋ผ์ด๋ํ์ฌ ํ์ด์ ๊ฐ ํญ์ ์ฒ๋ฆฌํ๊ฒ
ํฉ๋๋ค.
macOS์์ ๋คํฌ ๋ชจ๋๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด, bat
๊ฐ OS ํ
๋ง์ ๋ฐ๋ผ ๋ค๋ฅธ ํ
๋ง๋ฅผ
์ฌ์ฉํ๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์๋ ์ค๋ํซ์ _๋คํฌ ๋ชจ๋_์์๋ default
ํ
๋ง๋ฅผ, _๋ผ์ดํธ ๋ชจ๋_์์๋ GitHub
ํ
๋ง๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
alias cat="bat --theme=\$(defaults read -globalDomain AppleInterfaceStyle &> /dev/null && echo default || echo GitHub)"
bat
๋ ์ค์ ํ์ผ๋ก๋ ์ฌ์ฉ์ํ ํ ์ ์์ต๋๋ค.
์ค์ ํ์ผ์ ์์น๋ ์ด์ ์ฒด์ ์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค.
์๋ ์ปค๋งจ๋๋ฅผ ํตํด ์์คํ
์ ๊ธฐ๋ณธ ๊ฒฝ๋ก๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
bat --config-file
๋๋, BAT_CONFIG_PATH
ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ bat
๊ฐ ์ค์ ํ์ผ์ ๊ธฐ๋ณธ ๊ฒฝ๋ก
์ด์ธ์ ์์น๋ฅผ ์ฌ์ฉํ๋๋ก ํ ์ ์์ต๋๋ค.
export BAT_CONFIG_PATH="/path/to/bat.conf"
๊ธฐ๋ณธ ์ค์ ํ์ผ์ --generate-config-file
์ต์
์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค.
bat --generate-config-file
์ค์ ํ์ผ์ ๋จ์ํ ์ปค๋งจ๋ ๋ผ์ธ ์ธ์๋ค์ ๋ฆฌ์คํธ์
๋๋ค.
bat --help
๋ก ๊ฐ๋ฅํ ๋ชจ๋ ์ต์
๊ณผ ๊ฐ๋ค์ ํ์ธํ์ธ์.
์ถ๊ฐ์ ์ผ๋ก, ์ค ์์ #
๋ฌธ์๋ฅผ ์ถ๊ฐํด ์ฃผ์์ ๋ฃ์ ์ ์์ต๋๋ค.
์ค์ ํ์ผ ์์:
# "TwoDark" ํ
๋ง ์ค์ ํ๊ธฐ
--theme="TwoDark"
# ์ค ๋ฒํธ, Git ๋ณ๊ฒฝ ๋ด์ฉ, ํ์ผ ํค๋ ๋ณด์ด๊ธฐ (๊ฒฉ์ ์์ด)
--style="numbers,changes,header"
# ํฐ๋ฏธ๋์์ ์ดํค๋ฆญ์ฒด ์ฐ๊ธฐ (์ผ๋ถ ํฐ๋ฏธ๋์์ ๋ฏธ์ง์)
--italic-text=always
# Arduino .ino ํ์ผ์ C++ ๋ฌธ๋ฒ ์ฐ๊ธฐ
--map-syntax "*.ino:C++"
bat
๋ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ Windows์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์๋ํ์ง๋ง, ์ผ๋ถ ๊ธฐ๋ฅ์ ์ถ๊ฐ์ ์ธ
๊ตฌ์ฑ์ด ํ์ํ ์ ์์ต๋๋ค.
Visual C++ ์ฌ๋ฐฐํฌ ๊ฐ๋ฅ ํจํค์ง๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
Windows๋ more
ํ์์ ๋งค์ฐ ์ ํ๋ ํ์ด์ ๋ง ํฌํจํฉ๋๋ค.
Windows์ฉ less
๋ฐ์ด๋๋ฆฌ๋
๊ณต์ ํํ์ด์ง๋
Chocolatey๋ฅผ ํตํด ๋ค์ด๋ก๋ ๋ฐ์ ์
์์ต๋๋ค.
์ด๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋๋ ํฐ๋ฆฌ ์์ ๋ฐ์ด๋๋ฆฌ๋ฅผ PATH
์ ๋ฃ๊ฑฐ๋
ํ๊ฒฝ ๋ณ์๋ก ์ ์ํ์ธ์.
Chocolatey ํจํค์ง๋ less
๋ฅผ ์๋์ผ๋ก ์ค์นํฉ๋๋ค.
Windows 10์
v1511๋ถํฐ
๊ธฐ๋ณธ์ ์ผ๋ก conhost.exe
(Command Prompt)์ PowerShell์์ ์์์ ์ง์ํ๋ฉฐ,
์ต์ ๋ฒ์ ์ bash์์๋ ์์์ ์ง์ํฉ๋๋ค.
์ด์ ๋ฒ์ ์ Windows์์๋, ConEmu๊ฐ ํฌํจ๋
Cmder๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฐธ๊ณ : Git๊ณผ MSYS ๋ฒ์ ์ less
๋ Windows์์ ์์์ ์ฌ๋ฐ๋ฅด๊ฒ ํด์ํ์ง
์์ต๋๋ค.
๋ค๋ฅธ ํ์ด์ ๊ฐ ์ค์น๋์ด ์์ง ์์ ๊ฒฝ์ฐ, --paging=never
์ ๋๊ฒจ์ฃผ๊ฑฐ๋
BAT_PAGER
์ ๋น ๋ฌธ์์ด๋ก ์ค์ ํ์ฌ ํ์ด์ง์ ์์ ํ ๋นํ์ฑํ ํ ์ ์์ต๋๋ค.
Windows์์์ bat
์ ๊ธฐ๋ณธ์ ์ผ๋ก Cygwin์ unix ์คํ์ผ ๊ฒฝ๋ก(/cygdrive/*
)๋ฅผ
์ง์ํ์ง ์์ต๋๋ค.
Cygwin ์ ๋ ๊ฒฝ๋ก๋ฅผ ์ธ์๋ก ๋ฐ์์ ๋, bat
์ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๋ฅผ ๋ฐํํฉ๋๋ค:
The system cannot find the path specified. (os error 3)
์ด๋ wrapper๋ฅผ ๋ง๋ค๊ฑฐ๋ ๋ค์ ํจ์๋ฅผ .bash_profile
์ ์ถ๊ฐํ์ฌ ํด๊ฒฐํ ์
์์ต๋๋ค:
bat() {
local index
local args=("$@")
for index in $(seq 0 ${#args[@]}) ; do
case "${args[index]}" in
-*) continue;;
*) [ -e "${args[index]}" ] && args[index]="$(cygpath --windows "${args[index]}")";;
esac
done
command bat "${args[@]}"
}
bat
์ ํฐ๋ฏธ๋์ ํธ๋ฃจ์ปฌ๋ฌ ์ง์ ์ฌ๋ถ์ ์๊ด ์์ด ๋์ํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋๋ถ๋ถ ๋ฌธ๋ฒ ๊ฐ์กฐ ํ
๋ง์ ์์์ 8๋นํธ ์์์ ์ต์ ํ๋์ด ์์ง ์์ต๋๋ค.
๋ฐ๋ผ์ 24๋นํธ ํธ๋ฃจ์ปฌ๋ฌ ์ง์์ด ๋๋ ํฐ๋ฏธ๋(terminator
, konsole
, iTerm2
,
...)์ ์ฌ์ฉํ๋ ๊ฒ์ ์ ๊ทน ๊ถ์ฅํฉ๋๋ค.
ํธ๋ฃจ์ปฌ๋ฌ๋ฅผ ์ง์ํ๋ ํฐ๋ฏธ๋๋ค๊ณผ ๋ ์์ธํ ์ ๋ณด๋
์ด ๊ธ์์ ์ฐพ์๋ณด์ค ์ ์์ต๋๋ค.
์ฌ์ฉํ๊ณ ์๋ ํธ๋ฃจ์ปฌ๋ฌ ํฐ๋ฏธ๋์์ COLORTERM
๋ณ์๋ฅผ truecolor
ํน์
24bit
๋ก ์ค์ ๋์ด ์๋์ง ํ์ธํ์ธ์.
๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ, bat
์ 24๋นํธ ํ์ฅ์ด(escape sequence)์ด ์ง์๋๋์ง ์ฌ๋ถ๋ฅผ
ํ๋จํ ์ ์์ต๋๋ค (๊ทธ๋ฆฌ๊ณ 8๋นํธ ์์์ ์ฌ์ฉํฉ๋๋ค).
๋ค๋ฅธ ํ
๋ง๋ฅผ ์ฌ์ฉํด ๋ณด์ธ์ (bat --list-themes
์์ ๋ชฉ๋ก์ ๋ณผ ์ ์์ต๋๋ค).
OneHalfDark
์ OneHalfLight
ํ
๋ง๋ ๋ ๋ฐ์ ๋๊ธ๊ณผ ์ ์ ์์์ ์ฌ์ฉํฉ๋๋ค.
bat
์ ๊ธฐ๋ณธ์ ์ผ๋ก UTF-8๊ณผ UTF-16์ ์ง์ํฉ๋๋ค.
๋ค๋ฅธ ๋ชจ๋ ์ข
๋ฅ์ ํ์ผ ์ธ์ฝ๋ฉ์ ๋ํด์๋, ์ผ๋ฐ์ ์ผ๋ก ์ธ์ฝ๋ฉ์ ์๋์ผ๋ก ํ๋ณํ๋
๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ ๋จผ์ UTF-8์ผ๋ก ๋ณํํด์ผ ํ ์ ์์ต๋๋ค.
์ด๋ฅผ ์ํด iconv
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์์: Latin-1(ISO-8859-1)๋ก ์ธ์ฝ๋ฉ๋ PHP ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌํ ์ ์์ต๋๋ค:
iconv -f ISO-8859-1 -t UTF-8 my-file.php | bat
์ฐธ๊ณ : bat
์ผ๋ก ๋ฌธ๋ฒ ์๋ ๊ฐ์ง๊ฐ ๋์ง ์๋ ๊ฒฝ์ฐ์๋ -l
/--language
์ต์
์
์ฌ์ฉํ ์ ์์ต๋๋ค.
# ๋ชจ๋ ์๋ธ๋ชจ๋์ ๋ฐ๊ธฐ ์ํด ์ฌ๊ท์ ์ผ๋ก ๋ณต์ ํ๊ธฐ
git clone --recursive https://github.com/sharkdp/bat
# (๋๋ฒ๊ทธ ๋ฒ์ ) ๋น๋
cd bat
cargo build --bins
# ๋จ์ ํ
์คํธ์ ํตํฉ ํ
์คํธ ์คํ
cargo test
# (๋ฐฐํฌ ๋ฒ์ ) ์ค์น
cargo install --locked
# ์์ ๋ ๋ฌธ๋ฒ๊ณผ ํ
๋ง๊ฐ ์ ์ฉ๋ bat ๋ฐ์ด๋๋ฆฌ ๋น๋
bash assets/create.sh
cargo install --locked --force
bat
์ pretty-printing ๊ธฐ๋ฅ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ฌ์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ง๋ค๊ณ
์ถ๋ค๋ฉด, API ๋ฌธ์๋ฅผ ์ดํด๋ณด์ธ์.
์ฐธ๊ณ ๋ก bat
์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก์จ ์์กดํ๋ค๋ฉด, regex-onig
๋ regex-fancy
๋ฅผ
๊ธฐ๋ฅ์ผ๋ก ์ฌ์ฉํด์ผ ํฉ๋๋ค.
CONTRIBUTING.md
๊ฐ์ด๋๋ฅผ ์ดํด๋ณด์ธ์.
๋ง์ฝ bat
์ ์ทจ์ฝ์ ์ ๋ฐ๊ฒฌํ์๋ค๋ฉด, David Peter์๊ฒ ๋ฉ์ผ๋ก ์ฐ๋ฝ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
bat
์ ๋ค์๊ณผ ๊ฐ์ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๋ ค๊ณ ํฉ๋๋ค:
- ์๋ฆ๋ต๊ณ ๋ฐ์ ๋ ๋ฌธ๋ฒ ๊ฐ์กฐ ๊ธฐ๋ฅ ์ ๊ณต
- Git๊ณผ์ ์ฐ๋์ ํตํ ํ์ผ ๋ณ๊ฒฝ ๋ด์ฉ ํ์ธ
- (POSIX)
cat
์ ๋์ฒด์ - ์ฌ์ฉ์ ์นํ์ ์ธ ์ปค๋งจ๋ ๋ผ์ธ ์ธํฐํ์ด์ค ์ ๊ณต
๋น์ทํ ํ๋ก๊ทธ๋จ๋ค์ ์ฐพ๊ณ ์๋ค๋ฉด ๋ง์ ๋์๋ค์ด ์์ต๋๋ค. ๋น๊ต๋ ์ด ๋ฌธ์๋ฅผ ์ฐธ์กฐํด ์ฃผ์ธ์.
Copyright (c) 2018-2021 bat-developers.
bat
๋ ์ฌ๋ฌ๋ถ์ ์ ํ์ ๋ฐ๋ผ MIT ๋ผ์ด์ผ์ค ๋๋ Apache ๋ผ์ด์ผ์ค 2.0์ ์กฐ๊ฑด์ ๋ฐ๋ผ
๋ฐฐํฌ๋ฉ๋๋ค.
๋ผ์ด์ผ์ค์ ์ธ๋ถ์ฌํญ์ LICENSE-APACHE์ LICENSE-MIT๋ฅผ ์ฐธ์กฐํ์ธ์.