๋ณ์นญ์ ๋ํ ๋์์ผ๋ก ์ฝ์ด๋ฅผ ๋์ ํ์ฌ ๋์ฒดํ ์ ์์ต๋๋ค.
์ฝ์ด๋ ๋ช
๋ น์ค์ ์
๋ ฅํ ๋ ์ ์ฒด ํ์์ผ๋ก ๋ผ์ด๋ธ๋ก ํ์ฅ๋๋ค๋ ์ ์ ์ ์ธํ๊ณ ๋ ๋ณ์นญ๊ณผ ์ ํํ ๊ฐ์ต๋๋ค. git commit
์ ์ฝ์ด๋ก gc
๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ด์ gc -am "did stuff"
๋ฅผ ์
๋ ฅํ๋ฉด "gc" ๋ค์ ๊ณต๋ฐฑ์ ์
๋ ฅํ ๋ ๋ช
๋ น์ค์ด ๋ณ๊ฒฝ๋๊ณ ๊ฒฐ๊ตญ git commit -am "did stuff"
๋ก ๋๋ฉ๋๋ค. ์ด๊ฒ์ ๋ช
๋ น ์์น์์๋ง ๋ฐ์ํ๋ฉฐ ๊ณต๋ฐฑ์ ์
๋ ฅํ๊ฑฐ๋ Enter ํค๋ฅผ ๋๋ ์ ๋ ๋ฐ์ํฉ๋๋ค.
_์๋ณธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค._
์ด๊ฒ๋ค์ ๋ญ๋ผ๊ณ ๋ถ๋ฌ์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ์ผ๋ ์ด์จ๋ . ์์ด๋์ด๋ ๋ช ๋ น์ผ๋ก "g"๋ฅผ ์ ๋ ฅํ๋ฉด ๊ณต๋ฐฑ์ ์ ๋ ฅํ๊ฑฐ๋ Enter ํค๋ฅผ ์ ๋ ฅํ ๋ "git"์ผ๋ก ํ์ฅ๋๋ค๋ ๊ฒ์ ๋๋ค.
๋ค์์ ๋ํ ์ธ์:
commandline
๋ ๊ฑฐ์ง๋ง์ ํ๊ฑฐ๋ ์ด์ ๊ฐ์ ๋ค๋ฅธ ํดํน์ ํ ํ์๊ฐ ์์ต๋๋ค.bind
๋ฐ commandline
์ฝ๊ฐ ํ ์ ์์ต๋๋ค. ์ ์๋ ๋ค๋ฅธ ์๋ฃจ์
์์์ ๊ฐ์ด function
๋๋ complete
๋ฑ์ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค.prevd-or-backward-word
๋ฑ์ผ๋ก ์ฆ์ ๋ค์ ์น ํฉ๋๋ค.๋ฐ๋ ์ฃผ์ฅ:
alias git=hub
์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ๊ณ ํ์ฌ ์กด์ฌํ์ง ์์ง๋ง ์ด์ ๊ฐ์ ์ผ๋ถ ๋ณ์นญ ์์ฑ ์ ์๊ณผ ํจ๊ป ๋์
๋ ๋ฌธ์ ์
๋๋ค. ๊ทธ๋ฌ๋ ์ด ์ ์๋ ๋ณ์นญ ์์คํ
์ ์ฐํํ๋ ๋์ ์ผ๋ฐ ํจ์ function git; hub $argv; end
๋ฅผ ๊ฐ๋จํ ์์ฑํ ์ ์์ต๋๋ค.gc
๋ฅผ git commit
๋ก ํ์ฅํ ์ ์์ผ๋ฏ๋ก CTRL-W๋ก๋ ์ถฉ๋ถํ์ง ์์ ์ ์์ต๋๋ค. CTRL-U๋ ์ ์ผํ ๋ช
๋ น์ธ ๊ฒฝ์ฐ ์ํํ์ง๋ง ์๋ฅผ ๋ค์ด ํ์ดํ์ ๋ณ์นญ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋๋ฌด ๋ง์ด ์ญ์ ๋ฉ๋๋ค. ์๋ง๋ "ํ์ฌ ๋ช
๋ น์ ์ข
๋ฃํ์ง๋ง ์ ์ฒด ๋ฒํผ๋ ์๋"์ ๋ํ ์ ๋ฐ์ธ๋ฉ์ ๋์
ํ ์ ์์ต๋๋ค.์ ํ ๊ธฐ์ :
:abbreviate
๋ ผ์ํ๋ค.
๋ ๋ค๋ฅธ ์์ด๋์ด๋ Vim์์์ ๊ฐ์ด ์ด "์ฝ์ด"์ ์ด๋ฆ์ ์ง์ ํ ๋ค์ ๋ค๋ฅธ ๋ฌธ์ ์์ ๋ณ์นญ์ผ๋ก ๋ฌด์์ ํ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๋ ๊ฒ์ ๋๋ค[์ ๊ฑฐํด์ผ ํ๋ค๊ณ ์๊ฐํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค].
๋ฐ๋ํ๋ ๋ ๋ค๋ฅธ ์ฃผ์ฅ:
๊ทํ์ ์ ์์ด ๋ง์์ ๋ญ๋๋ค. ์์ํ๊ณ ๋น๋ฆฐ๋ด๊ฐ ๋๋ ๊ฒ ๊ฐ์ต๋๋ค :+1:
๋๋ ๋ํ ์ด๊ฒ์ ์ข์ํ๋ค.
๊ทธ๊ฒ์ ๋งค์ฐ ์ฑ๊ฐ์ "๋ณ์นญ ์์ฑ" #393 ๋ฌธ์ ์ ๋ํ ๋งค์ฐ ๊นจ๋ํ ์๋ฃจ์
์
๋๋ค.
ll<tab>
ํ ๋ ll (Alias)
์ถ๋ ฅ๊ณผ ๊ฒฐํฉํ๋ฉด ์๋ฒฝํ ๊ฒ์
๋๋ค.
alias
๋ ์ค๋๋ function
์ฃผ์์ ์คํฌ๋ฆฝํธ ๋ํผ์ด๊ธฐ ๋๋ฌธ์ ํจ์์ ๋ณ์นญ์ด ์ด ์ดํ์ ์ฌ๋ฌ ๋ฉด์์ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ด ๋ถ๋ถ๋ ๋ณ๊ฒฝ๋๊ธฐ๋ฅผ ์ํฉ๋๋ค. ์ :
@gustafj ์ด ์์ด๋์ด๋ฅผ "์ฝ์ด"๋ผ๊ณ ๋ถ๋ฅด๊ณ alias
๋ฅผ function
๋ฐ abbreviate
๊ฐ๋ฆฌํค๋ ์ ์ฉํ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํ์ํ๋ ๊ฒ์ผ๋ก ๋ฐ๊พธ๋ ๊ฒ์ด ๋ ๋์ ๊ฒ ๊ฐ์ต๋๋ค. ์๊ฐ?
๋ ๋ค๋ฅธ ์ฐธ๊ณ ์ฌํญ:
g
git
๊ฐ ์ธ์ ์์น์์ sudo
(์ด๋ ์ฝ์ด์ ํจ๊ป sudo๋ฅผ ์ฌ์ฉํ ์ ์์์ ์๋ฏธํฉ๋๋ค - ๋ณ์นญ์ผ๋ก ํ ์ ์๋ ๊ฒ!) ๋ฐ ํน์ ๊ฒฝ์ฐ์ ๊ฐ์ ๋ช
ํํ ์๋ฃ์ ๊ฒฝ์ฐ์ ๊ฐ์ด ์ธ์ ์์น์์ ์ฝ๊ฐ์ ํ์ฅ์ ์ํ ์๋ ์์ต๋๋ค. git ์์ฒด ๋ณ์นญ ๋๋ ๊ธด ์ต์
์ ์ผ๋ถ๋ฅผ ์
๋ ฅํ๋ ๊ฒฝ์ฐ. ์ด ๊ถ๋ฆฌ๋ฅผ ์ป๋ ๊ฒ์ ๊น๋ค๋ก์ธ ์ ์์ผ๋ฉฐ ์๋ฃ๊ฐ ์ค๋๋ ๊ฒฝ์ฐ์๋ง ๋ฐฉํด๊ฐ ๋ ์ ์์ต๋๋ค. ์ค์ ๋ก sudo g
์๋ sudo git
sudo g
์ํ๋ฉด ์ด์ sudo (echo git)
์ ๊ฐ์ ์์
์ ์ํํด์ผ ํฉ๋๋ค. sudo "g"
๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ด ๋๋ฌด ๋ง์ ์ ์ด๊ณ ๋๋ผ์ด ๊ฒ์ธ์ง ๋๋ ์ค์ ๋ก ๊ธฐ๋ํ๊ณ ์ง๊ฐ์ ์ผ๋ก ์ ํํ ๋ฌด์์ธ์ง ํ์คํ์ง ์์ต๋๋ค. ์๊ฐ? :-)
์ฝ์ด๋ ๋์๊ฒ ์ข๊ฒ ๋ค๋ฆฝ๋๋ค(๊ทธ๋ฌ๋ ์ ๋ ์ผ๋ฐ vim ์ฌ์ฉ์์ด๋ฏ๋ก ํธ๊ฒฌ์ด ์์ ์ ์์ต๋๋ค...).
๋ด๊ฐ ๊ทธ๊ฒ์ ๋ํด ์๊ฐํ ๋ ์ด๊ฒ์ผ๋ก ํ ์ ์๋ "ํฅ๋ฏธ๋ก์ด" ์ผ์ด ๊ฝค ๋ง์ด ์์ง๋ง (์ด๋ฏธ ์ง์ ํ๋ฏ์ด) ์ด ์ง๋ขฐ๋ฐญ์๋ ์จ๊ฒจ์ง ํจ์ ์ด ์์ต๋๋ค./
๋๋ ๊ทธ๊ฒ์ด ๋น์ ์ด ์ํ์ง ์๋ ๊ฒ์ผ๋ก ํ์ฅ๋๊ณ ํนํ ๊ทธ๊ฒ์ด ๊ธด ๋ฌธ์์ด๋ก ํ์ฅ๋๋ ๊ฒฝ์ฐ ์ฝ์ด๋ฅผ ์คํ ์ทจ์ํ๋ ๊ฒ์ด ์ง๋ฃจํ ์ ์๊ธฐ ๋๋ฌธ์ ์์ ํ ์๋์ด๊ณ ๋ช ๋ น์ค์ ์ด๋ ์์น์์๋ ๋ฌธ์ ๊ฐ ์๊ฑฐ๋ ์ฑ๊ฐ์ค ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ด ์์ ์ ๋ช ๊ฐ์ง ์๊ฐ:
space
๋ฅผ ์ฌ์ฉํ์ฌ ์๋์ด์ด์ผ ํฉ๋๊น ์๋๋ฉด tab
๋ฅผ ํตํด ์ต์
์ ์ํด ํธ๋ฆฌ๊ฑฐ๋์ด์ผ ํฉ๋๊น?
git
g
์ ๊ฐ์ ๋จ์ ๋ฌธ์์ด์๋ง ์ ์ฉ๋์ด์ผ ํฉ๋๊น?
๋ช
๋ น์ค์ ์ฒซ ๋ฒ์งธ ํญ๋ชฉ์๋ง ์ ์ฉํด์ผ ํฉ๋๊น, ์๋๋ฉด ์๋ฌด ๊ณณ์๋ ์ ์ฉํด์ผ ํฉ๋๊น?
ํ์ฌ ๋ ์ง Tue May 14 20:23:03 CEST 2013
๋ํด ๋ฌธ์์ด -> ๊ฐ ๋ณํ(์: d
์ ์ํํ ์ ์์ด์ผ ํฉ๋๊น?
vim (find . -iname '*cfg')<tab>
๋ ์๋ธ์์ ํ์ฅํ ์ ์์ด์ผ ํฉ๋๋ค.
foo.cfg bar/poo.cfg foo/bar/more/beer.cfg
> vim
๋น์ ์ ์๊ฐ์ ๋ํ ์๊ฐ!
๊ณต๋ฐฑ์ ์ฌ์ฉํ์ฌ ์๋์ผ๋ก ์คํ๋์ด์ผ ํฉ๋๊น, ์๋๋ฉด ํญ์ ํตํด ์ต์ ์ ์ํด ํธ๋ฆฌ๊ฑฐ๋์ด์ผ ํฉ๋๊น?
์์ ์ ๋ณ์นญ์ธ์ง ์๋์ง์ ๋ํด ์๊ฐํ ํ์๊ฐ ์๊ณ ํญ์ด ๊ทธ๋ ์ง ์์ ๋ณ์นญ์ผ๋ก ์ป์ ์ ์๋ ์ํํ ๊ฒฝํ์ ์ป๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์
๋๋ค. g<Tab>
๋ g
์์ํ๋ ๋ช
๋ น์ ์๋ฃํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ ์ค ํ๋๊ฐ ์๋ํฉ๋๋ค. CTRL-X๋ผ๋ ์ ๋ฐ์ธ๋ฉ์ ์ถ๊ฐํ๋ฉด ์ด์ ์ผ๋ฐ ํญ๋ชฉ, ์๋ ์ ์ ๋ฐ ์ฝ์ด์ ์ธ ๊ฐ์ง ์์ฑ ์ ํ์ด ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ด ๊ณต๊ฐ๊ณผ ํจ๊ป ์ด๋ฃจ์ด์ ธ์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์๋๋ฉด ์ ํํ์ง ์์์ผํฉ๋๋ค.
git์ ๊ฒฝ์ฐ ๊ฐ๋จํ ๋ฌธ์์ด ex g์๋ง ์ฌ์ฉํด์ผ ํฉ๋๊น?
๋ช
๋ น ์์น์์ ์ฝ์ด์ ์ธ์๋ฅผ ํฌํจํ ์ ์์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด gc
๋ฅผ git commit --all
ํ๊ฑฐ๋ ๋ณด์ ํ๊ณ ์๋ ํญ๋ชฉ. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฝ์ด๋ ๋ช
๋ น์ค์์ ๋ผ์ด๋ธ๋ก ํ์ฅ๋๋ค๋ ์ ์ ์ ์ธํ๊ณ ๋ ๋ณ์นญ๊ณผ ์ ํํ ๊ฐ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ช ๋ น์ค์ ์ฒซ ๋ฒ์งธ ํญ๋ชฉ์๋ง ์ ์ฉํด์ผ ํฉ๋๊น, ์๋๋ฉด ์๋ฌด ๊ณณ์๋ ์ ์ฉํด์ผ ํฉ๋๊น?
๋ช ๋ น ์์น์์๋ง ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด์ ์ ์ ์ํ ์ธ์ ์์น ์ฌ์ฉ ์ฌ๋ก๋ฅผ _์ด์ฉ๋ฉด__ ์คํํ ์ ์์ต๋๋ค.
ํ์ฌ ๋ ์ง Tue May 14 20:23:03 CEST 2013์ ๋ํด ๋ฌธ์์ด -> ๊ฐ ๋ณํ ex d๋ฅผ ์ํํ ์ ์์ด์ผ ํฉ๋๊น?
๋
ผ์์ ์์น์ ์๋ค๋ ๋ง์
๋๊น? echo d
๋ ์ง๋ฅผ ๋ฐ์ํ๋๋ก ํ์ฅํ์๊ฒ ์ต๋๊น? ์ธ์ ์์น ์ฝ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ธ์ ์์น ์ฝ์ด๋ฅผ ๋งค์ฐ ๋ณด์์ ์ผ๋ก ์ฌ์ฉํด์ผ ํ๋ฉฐ ์ธ์๊ฐ ๋ช
๋ น( sudo
์ ๊ฒฝ์ฐ์ ๊ฐ์ด)์ด๊ฑฐ๋ ๋ช
๋ น์ ์์ฒด ๋ณ์นญ ์์คํ
์ด ์๋ ๊ฒฝ์ฐ์๋ง _๋ง_ ์ฌ์ฉ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค git
์ ๊ฒฝ์ฐ์ ๊ฐ์ด) ํ์ฅ์ ํ์ฅํ์ง ์๋ ๊ฒ๊ณผ ๋๊ฐ์ ํจ๊ณผ๋ฅผ ๊ฐ์ง๋๋ค(๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ฌ์ฉ์ฑ์ ์ํด์๋ง ํ์ฅํฉ๋๋ค).
vim (find . -iname '*cfg')<tab>
์๋ธ์์ ํ์ฅํ ์ ์์ด์ผ ํฉ๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ํญ์ ํฌํจํ๊ณ ๊ณต๊ฐ์์ ์๋ธ์์ ํ์ฅํ๋ ๊ฒ์ผ๋ก ์ฝ์ด๋ฅผ ์๊ฐํ์ง ์๊ธฐ ๋๋ฌธ์ ์ฝ์ด๊ฐ ์๋๋ผ ์์ฑ์ ๋ํ ์ง๋ฌธ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์๋ง๋ ๋์ ์๊ฐ์ผ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋ณ์ ์ด๋ฆ์ ํ์ฅํ์ง ์๊ณ ์ด๋ฏธ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์ ์์ฑ์ ์ํด ์๋ํ ์ ์๋์ง ํ์คํ์ง ์์ต๋๋ค.
๊ทธ๋๋ ์ ์ฉํ ์ ์์ต๋๋ค. rm *.png
์ํํ๋ ๊ฒ์ ์์ํ๋ ๊ฒ์ฒ๋ผ ์์ผ๋์นด๋๋ฅผ ํ์ฅํ๊ณ ๋ชฉ๋ก์์ ์ผ๋ถ ํ์ผ์ ์ ๊ฑฐํฉ๋๋ค.
์ด๊ฒ์ ์ด๋ป์ต๋๊น? ์์ฑ ์์คํ
๊ณผ ์ ์ฌํ ์ผ๋ฐ์ ์ธ "ํ์ฅ" ๋๋ "์ฝ์ด" ์์คํ
์ด ์์ต๋๋ค. ํ ํฐ์ ํ์ฅํ๊ธฐ ์ํด CTRL-X ๋๋ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฐ์ธ๋ฉํฉ๋๋ค. ๋ช
๋ น ์์น์์ ์ฝ์ด๋ ์๋์ผ๋ก ํ์ฅ๋ฉ๋๋ค. ๋ํ ์ด๋ฌํ ํ์ฅ์ ๋ช
์์ ์ผ๋ก ๋ง๋ค์ด sudo
๋ฐ git
์ฌ์ฉ ์ฌ๋ก๋ฅผ ๋ ๋์ ๋๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
๋ด ์๋ ์์ด๋์ด๋ณด๋ค ํจ์ฌ ๋ ํฐ ์ ์์ ๋๋ค. :๋์ง:
๋ฐฉ์์ ๋ก์์ ๊ณต๊ฐ์ ๋์๊ฒ ์ข๊ฒ ๋ค๋ฆฌ๋ฉฐ ์๋ง๋ ์ต๊ณ ์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ ๊ฒ์
๋๋ค.
*.png
ํ์ฅ์ด ํฅ๋ฏธ๋กญ๊ฒ ๋ค๋ฆฝ๋๋ค ;)
๋๋ ๋ค๋ฅธ ๊ฒ์ ๋ํด ๋ง์ ๋ค๋ฅธ ๋ฐ์ธ๋ฉ์ ์ข์ํ์ง ์์ต๋๋ค. ์๋ง๋ ์ ๋ฐ์ธ๋ฉ ๋์ "์ด์ค ํญ"์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ ....*.png<tab>
๋ press <tab> again to expand *.png
(์๋ธ์์์๋ ๋์ผ).
๊ทธ๋ฌ๋ ์ด ์ ์์ ๋ค์์ผ๋ก ์ ํํ๋ ๊ฒ์ด ๋ ๋์ ์ ์์ต๋๋ค. ๋ช
๋ น ์์น์ ๋ํ ์ฝ์ด, ๊ณต๊ฐ์ ์ฌ์ฉํ์ฌ ํ์ฅ.
๊ทธ๋ฆฌ๊ณ "์๋ธ์/์์ผ๋์นด๋ ํ์ฅ" ๋ฐ sudo ์ง์์ ๋ณ๋์ ๊ฒ์ผ๋ก ๊ฐ์ง๊ณ ์์ต๋๊น?
ํ์ฌ ์๋ฃ ์ฌ์ด๋ฅผ ์ํํ๋ฏ๋ก ์ด์ค ํญ์ด ์๋ํ๋์ง ํ์คํ์ง ์์ต๋๋ค. Vim์๋ ๊ณต๋ฐฑ์ ์ ๋ ฅํ์ง ์๊ณ ์ฝ์ด๋ฅผ ํ์ฅํ๊ธฐ ์ํด CTRL+]๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค...
๋ผ์ด๋ธ ํ์ฅ์ ํ๊ฒ ๋๋ฉด ์ด๋ป๊ฒ๋ ์ฝ์ด๋ฅผ ๊ตฌํํด์ผ ํ๋ฏ๋ก ์์ด๋์ด๊ฐ ์ฐ๊ฒฐ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ผ์ด๋ธ ํ์ฅ์ ์ํํ์ง ์๋ ๊ฒฝ์ฐ ์ฝ์ด๋ ์ฌ์ ํ ์์ฒด์ ์ผ๋ก ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ๊ทธ๋์ ์ฌ๊ธฐ์ ๋ฌด์์ํด์ผํ ์ง ํ์ ํ์ง ๋ชปํฉ๋๋ค. :-)
์, <tab>
์ ๋ํ ๊ทํ์ ๊ถ๋ฆฌ๋ ์๋ธ ์์ ๋ํด์๋ง ์๊ฐํ์ต๋๋ค (ํ์ฌ ์๋ฌด ๊ฒ๋ํ์ง ์๋ ๊ณณ).
ํ์ฌ ๋๋ ํ ๋ฆฌ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ํ์ผ์ ์ํํ๋ <anything><space><tab>
์ ํ์ฌ ๋์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค(๋จผ์ ๋ชจ๋ ํ์ผ ์ธ์).
์
> ls <tab>
a.cfg b.cfg c.cfg d.cfg
> ls <tab>
> ls a.cfg<tab>
> ls b.cfg<tab>
๊ทธ๋ฌ๋ ๋๋ ์๋ก์ด ํค ์ฝค๋ณด ์์ด ์ฌ๋ ๊ฒ๋ณด๋ค ์๋ก์ด ํค ์ฝค๋ณด๋ฅผ ์ฌ์ฉํ์ฌ "๋ผ์ด๋ธ ํ์ฅ"์ ํ๊ณ ์ถ์ต๋๋ค ;)
*.cfg
๋ฅผ a.cfg b.cfg c.cfg d.cfg
์ ๋ง ์ ์ฉํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ชจ๋ ํํ์ ๊ฐ๋ฅํ ํ์ฅ์ ํ์ฅ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค. ์์ผ๋์นด๋, ex ์ค๊ดํธ ์์ฑ(์ ๋ ์ ๊ฑฐ๋ ๊ฒ์ผ๋ก ๋ณด๊ณ ์ถ์ง๋ง ... ๊ทธ๋ฌ๋ ๊ทธ๊ฑด ๋ค๋ฅธ ๋ฌธ์ ์
๋๋ค #354)
๊ทธ๋ฌ๋ ๋ชจ๋ ํํ์ ๊ฐ๋ฅํ ํ์ฅ์ ํ์ฅ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค. ์์ผ๋์นด๋, ex ์ค๊ดํธ ์์ฑ(์ ๋ ์ ๊ฑฐ๋ ๊ฒ์ผ๋ก ๋ณด๊ณ ์ถ์ง๋ง ... ๊ทธ๋ฌ๋ ๊ทธ๊ฑด ๋ค๋ฅธ ๋ฌธ์ ์ ๋๋ค #354)
๋ ๊ณ์ ๋ชจ๋์ ๋์ํ์ต๋๋ค. ํฐ๋ฐ์ดํ๋ ํ์ฅ ๊ฐ๋ฅํด์ผ ํ๋์ง ๊ถ๊ธํฉ๋๋ค... echo "hello $USER" -> echo "hello dag"
.
๋๋ ์ฐ๋ฆฌ๊ฐ ์ฌ๊ธฐ์ ๋งํ๋ ๊ฒ์ด ์ค์ ๋ก "ํ์ฅ"๋ณด๋ค ๋ ๋ง์ "ํ๊ฐ"๋ผ๊ณ ์๊ฐํ๋ ๋ฐ๋ฉด์ ์ฝ์ด๋ ํ๊ฐ์ ๊ดํ ๊ฒ์ด ์๋๋ฏ๋ก ์ด๋ฌํ ์์ด๋์ด๋ ์๋ง๋ ๋ณ๊ฐ์ด๋ฉฐ ๋ค๋ฅธ ํ๋์ ๋ํด ์๋ก์ด ๋ฌธ์ ๋ฅผ ๋ง๋ค๊ณ ํธ์งํ ๊ฒ์ ๋๋ค. ์ด๊ฑด ์ข.
๋ค์์ ๊ธฐ๋ณธ ์๋ ํ๋กํ ํ์ ์ ๋๋ค.
function __fish_expand_abbreviation
if test (count (commandline -poc)) -eq 0
switch (commandline -t)
case g
commandline -t git
case gc
commandline -t 'git commit'
end
end
end
bind \ '__fish_expand_abbreviation; commandline -i " "'
bind \n '__fish_expand_abbreviation; commandline -f execute'
๋ด๊ฐ ์์์ฐจ๋ฆฐ ํ ๊ฐ์ง ๋ฌธ์ ๋ Enter ํค๋ฅผ ๋๋ฌ ์ถ์ฝ๋ ๋ช ๋ น์ค์ ์คํํ๋ฉด ์ธ์๋ฅผ ํฌํจํ์ฌ ํ์ฅ๋ ํ์์ด ์ค๋ฅ(์ ์ ์๋ ๋ช ๋ น)๋ก ๊ฐ์กฐ ํ์๋๋ค๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ ๋๋ฌด ์ข์์ ์ด๋ฌํ ์ฝ์ด๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๊ตฌํํ์ต๋๋ค.
๊ฒฐ๊ตญ ๋๋ ์ด๊ฒ๋ค์ด ์์ฑ๊ณผ ๊ธฐ๋ฅ์ด ์ฒ๋ฆฌ๋๋ ๊ฒ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ ์ฅํ ์์๋ ์์ฒด ์ฝ์ด ํด๋๊ฐ ์์ต๋๋ค.
์ด๊ฒ์ ํ์ฌ ๊ตฌํ์ ๋๋ค:
function __fish_expand_abbreviation
if test (count (commandline -poc)) -eq 0
set -l token (commandline -t)
if abbreviations -q $token
commandline -t (abbreviations $token)
end
end
end
function abbreviations --description 'List, show and query abbreviations'
if test (count $argv) = 0
printf '%s\n' $fish_abbreviations
return
end
set -l abbreviation_index 0
set -l expanded_abbreviation
for i in $fish_abbreviations
set abbreviation_index (math $abbreviation_index + 1)
echo $i | read -l abbreviation command
if test $abbreviation = $argv[-1]
set expanded_abbreviation $command
break
end
end
if test -n "$expanded_abbreviation"
switch $argv[1]
case -q --query
return 0
case -e --erase
set -e fish_abbreviations[$abbreviation_index]
case '*'
echo $expanded_abbreviation
end
else
return 1
end
end
function abbreviate --description 'Define a new abbreviation'
if test (count $argv) -lt 2
echo 'abbreviate: Takes two arguments. First abbreviation and then expanded command'
return 1
end
echo $argv | read -l abbreviation command
eval "function $abbreviation; $command \$argv; end"
abbreviations -e $abbreviation
set -U fish_abbreviations $fish_abbreviations "$argv"
return 0
end
๊ทธ๋ฐ ๋ค์ ๋ค์๊ณผ ๊ฐ์ด ํฉ๋๋ค.
abbreviate ! 'sudo'
abbreviate tf 'tail -f'
abbreviate l 'ls -la'
abbreviate l. 'ls -d .*'
abbreviate g 'git'
abbreviate gs 'git status'
์
๋ฐ์ดํธ 1: ์ฝ์ด๋ฅผ ์ ๊ฑฐํ๊ณ ๋ฒ์ฉ ๋ณ์์ ์ ์ฅํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ.
์
๋ฐ์ดํธ 2: ์ฝ์ด ๊ธฐ๋ฅ๋ ์์ฑ
๊ธฐ๋ฅ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํด๋ณด๋ฉด ๋ค์์ ์๊ฐํ ์ ์์ต๋๋ค.
abbred
abbrsave
๊ธฐ๋ณธ์ ์ผ๋ก ํด๋น ๊ธฐ๋ฅ์ ๋ณต์ ํ๋ ๊ฒ์ ๋๋ค.
๋ฉ์ง! ํ์ง๋ง ~/.config/fish/abbreviations
๋๋ ํ ๋ฆฌ์ ํจ๊ป ์ ๊ณต๋๋ abbr{ed,save}
๊ฐ ํ์ํ๋ค๊ณ ํ์ ํ์ง๋ ์์ต๋๋ค. ํจ์ ๋ฐ ์์ฑ๊ณผ ๋ฌ๋ฆฌ ๊ฐ๋ณ์ ์ผ๋ก ๋ก๋ํ๋ ๋ฐ ์ค์ ๋ก ๋๋ฆฌ์ง ์์ผ๋ฉฐ ํ ์ค๋ง ์ ์ํ๋ฉด ๋ฉ๋๋ค. ๋๋ ๊ทธ๋ค์ด ๋ ์ข์๋ผ๊ณ ์๊ฐ bind
์๋ง๋ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง ์ fish_[user_]abbreviations
๋ฑ ๊ธฐ๋ฅ fish_user_key_bindings
๋ถํ ์ฒ์์ผ๋ก ๋ฌผ๊ณ ๊ธฐ ์๋๋ ์ฝ์ด๋ฅผ ํ์ฅํ๋ ๊ฒ์ผ๋ก, ๊ธฐ๋ฅ์? ( ์ผ๊ด์ฑ์ ์ํด [user_]
ํ์ง๋ง ๊ธฐ๋ณธ ์ฝ์ด๋ฅผ ์ ๊ณตํด์ผ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.)
์ฝ์ด์ ๋ํด ์ฌ๋ฌ ํ์ผ์ด ์๋ค๊ณ ์๊ฐํ ์์๋ ์ ์ผํ ์ด์ ๋ ์กด์ฌํ๋ ๋ชจ๋ git ๋ช ๋ น๊ณผ ์ผ๋ถ ์ธ์์ ๋ํด ์ฝ์ด๋ฅผ ๋งํ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๊ฒ๊ณผ ๋ถ๋ฆฌ๋๊ธฐ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ์ง์ฐ ๋ก๋ฉ ๊ธฐ๋ฅ๊ณผ ์์ฑ์ ๊ทธ๋ ์ง ์์ต๋๋ค. ๊ทธ๊ฒ๋ค์ ๋ช ๋ น ์ด๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก ๋ก๋๋ฉ๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๊ฐ ์ฝ์ด์ ๋ํด ๊ทธ๋ ๊ฒ ํ๋ค๋ฉด ์ฐ๋ฆฌ๋ ๊ฐ ์ฝ์ด์ ๋ํด ํ๋์ ํ์ผ๋ก ๋๋ฉ๋๋ค. ๊ฐ ํ์ผ์๋ ๋จ ํ ์ค์ ์ฝ๋๋ง ํฌํจ๋ฉ๋๋ค. !
๋ ๋ค๋ฅธ ์์ด๋์ด๋ ์ ๋๋ฒ์ค ๋ณ์( set -U fish_abbreviations
์ ๊ฐ์)๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ์ฌ ์ ๋๋ฒ์ค ๋ณ์์ ๊ฐ์ ์์
์ ์ํํ๋ ๊ฒ์
๋๋ค. ์๋ง๋ ํธ์คํธ-๋ก์ปฌ ์ฝ์ด์ ๋ํ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์์ต๋๊น? ํ์คํ์ง ์๋ค.
๋น์ ์ ๋ช ๊ฐ์ง ์ข์ ์ ์ ๊ฐ์ง๊ณ ์๊ณ ๋๋ fish_user_abbreviations
๋ฐฉํฅ์ผ๋ก ๊ธฐ์ธ๊ณ ์์ต๋๋ค.
๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ๋ชจ๋ ๊ด๋ จ ์ฝ์ด๋ฅผ ํ์ผ์ ๋ฃ๋ ๊ฒ๊ณผ ๊ฐ์ ์์ฑ ๊ธฐ๋ฅ์ ๊ฐ๋ ๊ฒ์ด์ง๋ง ๋งคํํ๊ธฐ๊ฐ ๋ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
์ฒ์์๋ set -U fish_abbreviations
๋ฅผ ์ฌ์ฉํ ๊ณํ์ด์์ง๋ง git์์ ๊ตฌ์ฑ์ ์ ์ง ๊ด๋ฆฌํ๋ ๊ฒ์ ์ข์ํ๋ฏ๋ก ๊ตฌ์ฑ๊ณผ ๊ฐ์ ์ด๋๊ฐ์ ์ค์ ํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ฒ์ฉ ๋ณ์์ ์ข์ ์ ์ ( abbred
, abbrsave
)์ ๊ฐ์ด ํผ๋ ์์ด ์ฆ์์์ ์์ฑ์ ์ถ๊ฐํ ์ ์๋ค๋ ๊ฒ์
๋๋ค. abbreviate
๋ฉ๋๋ค.
ํ ๊ฐ์ง ํด๊ฒฐ์ฑ
์ ๋ช
๋ น์ด ์ฝ์ด๋ฅผ ๊ณ ์ ํ๊ฒ ์ถ๊ฐํ๊ณ ๊ธฐ์กด ์ฝ์ด๋ฅผ ๋ฎ์ด์ฐ๋๋ก ํ๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฐ ๋ค์ fish_user_abbreviations
๋ก ๋ถํธ์คํธ๋ฉ๋๋ฉฐ ์ฌ์ฉ์๋ ์ํ๋ ๊ฒฝ์ฐ ๋ฒ์ฉ ๋ณ์์ ์ฌ์ฉ์ ์ ์ ๋ณ์๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๋๋ ์ง๊ธ ์ด๊ฒ์ ๊ฐ์ง๊ณ ์๋ค:
set -q fish_abbreviations ; or fish_user_abbreviations
๊ทธ๋ฌ๋ ํ์ผ์ ๊ณ์ ์ ์งํ๋ฉด ์๋ํ์ง ์์ต๋๋ค.
๋ฒ์ฉ ๋ณ์๋ฅผ ์ฌ์ฉํ๋๋ก ์ด์ ๊ธฐ๋ฅ์ ์ ๋ฐ์ดํธํ๊ณ ์ญ์ ๊ฐ๋ฅ์ฑ์ ์ถ๊ฐํ๊ณ ์ ๊ธฐ๋ฅ์ด ์์ผ๋ฉด ์ถ๊ฐํ๊ธฐ ์ ์ ํ์ธํฉ๋๋ค.
ํ์ฌ ์ฝ์ด๋ฅผ ๋์ฒดํด์ผ ํ๋์ง ๋ฌป๋ ๊ฒ๊ณผ ๊ฐ์ด ๋ ๋ํ์์ผ๋ก ๋ง๋ค๊น ์๊ฐํ์ต๋๋ค. ํ์ง๋ง ๋๋ณธ์ด ๋ ์๋ ์๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๊ฒ ํ๊ณ ์ถ์ง ์์์ต๋๋ค. ๋ํํ ๋ชจ๋์ ๊ฒฐ์ ์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์์ฑ๊ณผ ๊ด๋ จ๋ ์ฌํญ์ ๋จ์ผ ๋ช
๋ น์ ๋ํด ๋ก๋๋๋ค๋ ๊ฒ์
๋๋ค. ํ์ฌ ๋ช
๋ น์ค ํ๋ก์ธ์ค๊ฐ git
์ด๋ฉด completions/git.fish
๊ฐ ๋ก๋๋ฉ๋๋ค. ๋ณ๋์ ๋ช
๋ น ์ด๋ฆ์ด ์๋ ๊ฒฝ์ฐ ๋ณ๋์ ํ์ผ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [ef]grep
๋ํ ์์ฑ์ ์ฐธ์กฐํ์ญ์์ค. ์ค์ ๋ก ์ด๋ฌํ ์์ฑ ํ์ผ 3๊ฐ ๊ฐ๊ฐ์์ ํธ์ถ๋๋ ํจ์์ ์์ต๋๋ค.
์ฝ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ผ ์ด๋ฆ์ด ์ฝ์ด๊ฐ ์๋ ํ ๋ก๋ํ ํ์ผ์ ์ฝ์ด์์ ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋์ ํ์ผ์ ์ฌ๋ฌ ์ฝ์ด๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ์์ ์ ๋๋ ์ฝ์ด ํ์ฅ์ ์ฒ์ ์๋ํ ๋ ๋ชจ๋ ์ฝ์ด ํ์ผ์ ๋ก๋ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ํ์ง๋ง ์ด๋ ๊ธฐ๋ฅ ๋ฐ ์์ฑ์ด ๋ก๋๋๋ ๋ฐฉ์๊ณผ ๋ค๋ฅด๋ฉฐ ์ฝ์ด ํ์ผ์ด ๋ง์ ๊ฒฝ์ฐ ์ ์ฌ์ ์ผ๋ก ๋๋ฆด ์ ์์ต๋๋ค.
์๋ก์ด ์์ด๋์ด: abbreviate -U
๋ ๋ณดํธ์ ์ธ ์ฝ์ด๋ฅผ ๋ง๋ค๊ณ abbreviate -g
๋๋ abbreviate
๋ ๊ธ๋ก๋ฒ ์ฝ์ด๋ก ๋ง๋ค๊น์? ๊ทธ๋ ๊ฒ ํ๋ฉด bind
๋ ๊ณ ๋ คํด ๋ด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค...
๋ํ abbreviate
๋ bind
๋ฐ function
๋ฐ set
์ ๊ฐ์ ๊ธฐ์กด ์ฝ์ด๋ฅผ ๋ฎ์ด์จ์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ชจ๋ ์ ํจํ ํฌ์ธํธ์ ๋๋ค. ๋ค๋ฅธ ๋ชจ๋ ๊ธฐ๋ฅ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฎ์ด์ฐ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ํ ์ฝ์ด/๋ฐ์ธ๋ฉ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ ์ฐํ๊ฒ ์ ํํ ์ ์๋ ๋ฒ์ฉ ๋ฐ ์ ์ญ ์ ์์ด ๋ง์์ ๋ญ๋๋ค. ๋๋ ๊ทธ๊ฒ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์์ ํ ํ์ ํ์ง ๋ชปํ๋ฉฐ ์๋ง๋ ์ด๊ฒ์ด ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ๋ด์ฅ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์, ๋๋ ๊ทธ๊ฒ์ ์๋ํ๊ธฐ ์ํด ๋ฌผ๊ณ ๊ธฐ ์คํฌ๋ฆฝํ ์์ ํ๋กํ ํ์ดํํ์ ๋ฟ์ ๋๋ค. ๊ณต๋ฐฑ์ ์ ๋ ฅํ ๋๋ง๋ค ๋๋ฆฐ ์คํฌ๋ฆฝํ ์ด ์คํ๋๋ ๊ฒ์ ์ํ์ง ์์ ๊ฒ์ ๋๋ค. :๋์ง:
์, ์ฌ์ ํ ์ ์๋ํฉ๋๋ค. ์ด์ ์ฝ 1 ์ผ ๋์ ์ฌ์ฉํ๊ณ ๋ ์ด์ ๋ ์์ ์ด ๊ทธ๊ฒ ์์ด ์ฐ๋ค๋ ๊ฒ์ ์์ํ ์ ์์ต๋๋ค. ํํ :์์:
:๋ถํ๋ค:
๋ด๊ฐ ์์์ฐจ๋ฆฐ ๋ ๋ค๋ฅธ ๋ฌธ์ ๋ ๋น์ด ์์ง ์์ ๋ช
๋ น์ค์์ C-a
๋ฅผ ์ํํ๊ณ ์ฝ์ด๋ฅผ ์
๋ ฅํ๋ฉด ๋จ์ด ์ค๊ฐ์ ์๊ธฐ ๋๋ฌธ์ ๊ณต๋ฐฑ์ผ๋ก ํ์ฅ๋์ง ์๋๋ค๋ ๊ฒ์
๋๋ค. make install
oops need root C-a !
์ด์ ![cursor]make install
์๊ณ ๊ณต๋ฐฑ์ ์
๋ ฅํด๋ !
์ฝ์ด๊ฐ ํ์ฅ๋์ง ์์ต๋๋ค. commandline -C
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ํฉ๋๋ค.
๊ธฐ๋ฅ์ผ ์ ์๋ ์ธ ๋ฒ์งธ ๋ฌธ์ ๋ ๊ณต๋ฐฑ์ ์
๋ ฅํ๊ฑฐ๋ ์ฝ์ด ๋ค์ ์
๋ ฅํ ๋๋ง ํ์ฅ๋๋ค๋ ๊ฒ์
๋๋ค. ์๋ฅผ ๋ค์ด ๊ณต๋ฐฑ์ ์
๋ ฅํ๋ฉด C-a ! C-e
์๋๋๋ค. ์ด๊ฒ์ ์ฝ์ด ํ์ฅ์ ํผํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ฅ์ด ๋ ์ ์์ง๋ง ์ฝ๊ฐ ์ด์ํ๋ค๊ณ ์๊ฐํ๊ณ ๋์ command
๋ช
๋ น๊ณผ ๊ฐ์ด ๋ช
๋ น์ค์ ๋ฌธ์ ๊ทธ๋๋ก ์คํํ๋ ๋ช
๋ น๊ณผ ๊ฐ์ ๋ช
๋ น์ด ์์ด์ผ ํฉ๋๋ค. ์ ํจ์ ๋ฐ ๋ด์ฅ. ๋๋ ๋ช
๋ น ์์น์ \g
์ ๊ฐ์ ์ผ๋ถ ํน์ ๊ตฌ๋ฌธ์ g
๋ก ํด์๋๊ณ ํ์ฅ๋์ง ์์ต๋๋ค. ํน์ ๊ตฌ๋ฌธ๋ ๊ทธ๋ค์ง ์ด์ํ์ง ์์ง๋ง "๊ธฐ๋ก์ ๋ก๊ทธ์ธํ์ง ๋ง์ญ์์ค"๋ฅผ ์๋ฏธํ๋ ํน์ ๊ฒฝ์ฐ ๋ช
๋ น ์์ ์ด๋ฏธ ๊ณต๋ฐฑ์ด ์์ผ๋ฏ๋ก ์ด๊นจ๋ฅผ ์ผ์ฑํฉ๋๋ค.
๋ท์งธ, ์ด๊ฒ์ ๋ชจํธํ ๊ฒ์
๋๋ค. ์ด์ ๋จ๋ฝ์์์ฒ๋ผ ํ์ฅ๋์ง ์์ ์ฝ์ด ๋ค์ ๊ณต๋ฐฑ์ด ์๋ ๊ฒฝ์ฐ C-a
๋ฐ ๊ณต๋ฐฑ์ ์ํํ๋ฉด ์ฝ์ด๊ฐ ํ์ฅ๋๊ณ ์ถ๊ฐ ๊ณต๋ฐฑ์ด ์ฝ์
๋ฉ๋๋ค. ๊ทธ ํ! ๋ค์ commandline -C
์ปค์ ์์น๋ฅผ ํ์ธํด์ผ ํ ์๋ ์์ต๋๋ค.
์ ๊ทธ๋ฆฌ๊ณ ์ด์ ๋๊ธ์์ ์ธ๊ธํ ์ฒซ ๋ฒ์งธ ๋ฌธ์ ๋ ํ์ฅ๋์ง ์์ ์ฝ์ด๊ฐ ์ ์ ์๋ ๋ช
๋ น์ธ ๊ฒฝ์ฐ์๋ง ๋ฐ์ํฉ๋๋ค. ์์ gc
์ฝ์ด๋ก ํ์ฅ git commit
(๊ณต๋ฐฑ์์ด)๋ฅผ ์
๋ ฅ ํ๊ฒฉ๊ณผ ์ค๋ฅ๋ก ๋ชจ๋ ๊ฒ์ ๊ฐ์กฐํ์ง๋ง, gs
์ ์ฝ์ด๊ฐ ํ์ฅ git status
๋ถ๋ช
ํ ๊ณ ์คํธ ์คํฌ๋ฆฝํธ๊ฐ ์ค์น๋์ด ์๊ธฐ ๋๋ฌธ์
> which gs
/usr/bin/gs
๋๋ ๋ํ ๊ณต๋ฐฑ์ ๋๋ฅด๊ธฐ ์ ์๋ ์ฝ์ด๊ฐ ์๋ ค์ง "๋ช
๋ น"์ผ๋ก ๊ฐ์กฐ ํ์๋์ด์ผ ํ๋์ง ๊ถ๊ธํฉ๋๋ค... ํ์ฌ g
์
๋ ฅํ๋ฉด ๊ณต๋ฐฑ์ ์
๋ ฅํ ๋๊น์ง ๋นจ๊ฐ์์ด์ง๋ง git
๊ณต๋ฐฑ ์ด์ ์๋ ์๋ ค์ง ๋๋ก ๊ฐ์กฐ ํ์๋ฉ๋๋ค.
์ด ๋ชจ๋ ๋ฌธ์ ๋ C++ ๋ถ๋ถ์์ ์ด ์์ ์ ์ํํ๋ฉด ๋ ์ ์ฒ๋ฆฌ๋ ์ ์์ต๋๋ค.
๊ตฌ๋ฌธ ๊ฐ์กฐ ๋ฌธ์ ์ ๋ํ ์ด๋ฆฌ์์ ํด๊ฒฐ ๋ฐฉ๋ฒ: ๋ชจ๋ ์ฝ์ด์ ๋ํด ๋ณ์นญ/ํจ์๋ฅผ ๋ง๋ญ๋๋ค. :์์:
์ฌ์ค, ์ด์จ๋ ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ด ์ข์ ์๊ฐ์ผ ์๋ ์์ต๋๋ค. ํ ... eval
์์ type
์ ํจ๊ป ์คํฌ๋ฆฝํธ์์ ์ฝ์ด๊ฐ ์๋ํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค ... ํ์คํ์ง ์์ต๋๋ค.
๊ทํ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ํ์ฌ ์ฌ์ฉ ์ค์ธ ๊ฒ์ด์ง๋ง ๊ฒฐ๊ตญ ์ด๊ฒ์ด ๋ฌด์์ธ์ง ๋๋ eval
๋๋ type
๋ด๋ถ์์ ์ฌ์ฉํด์ผ ํ๋์ง ํ์คํ์ง ์์ต๋๋ค. ๋๋ฅผ ์ํด ๊ทธ๊ฒ๋ค์ ๋จ์ง ์
๋ ฅ์ด์ด์ผ ํฉ๋๋ค. ํ์ง๋ง sudo๋ผ๊ณ ์ฝ๊ฒ ์ง์ํ๊ธฐ ์ํด ์คํํ๊ฒ ๋๋๋ ๊ฒ๋ ๋์์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋์ ์ ๋ ํ์ฌ ๊ตฌํ์ ์ ์ ๋์ ์ฌ์ฉํด ์์ผ๋ฉฐ ์ง๊ธ๊น์ง ์ด ์๋ฃจ์ ์์ ๋ฐ๊ฒฌ๋ ๋ฌธ์ ์ ๋๋ค(์ ๊ทผ๋ฒ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค:+1:).
echo this is a test
๋ ๋ถ์ฌ๋ฃ์ ๋ _echo this is atest
๋ฉ๋๋ค. ์ฌ๊ธฐ์ _
๋ ๊ณต๋ฐฑ์
๋๋ค.read
๋ด์ฅ enter
๋ฐ space
์ ๋ํ ๋ฐ์ธ๋ฉ์ ์ฌ์ฉํ ๋ ์ฌ๊ธฐ์๋ ์ ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฝ๊ธฐ ์ํด ๋น ๋ช
๋ น์ ์
๋ ฅํ๋ ค๋ ๊ฒฝ์ฐ ํ์ฅ๋ฉ๋๋ค. ์ต์ข
๊ตฌํ์์ ์ด๊ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊บผ์ ธ ์์ด์ผ ํ๊ณ read -s
ํ์ฑํ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.C-y
๋ฅผ ๋ถ์ฌ๋ฃ์ด 1. ์ฃผ๋ณ์์ ์์
ํ ์ ์์ต๋๋ค.
๋์๊ฒ C-y
๋ ๋ด ์์คํ
ํด๋ฆฝ๋ณด๋๊ฐ ์๋ ๋ฌผ๊ณ ๊ธฐ ์์๋ง ๋ถ์ฌ๋ฃ์ต๋๋ค(๋ฌผ๊ณ ๊ธฐ ๋ด๋ถ์์ ์๋ฅธ ๊ฒ). ํฐ๋ฏธ๋ ๋๋ ๋ค๋ฅธ ์ฑ ๊ฐ์ ๋ณต์ฌ.
๋๋ ์ฝ์ด๊ฐ ์ ๋ง ๋ฉ์ง ์์ด๋์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋๋ ์ฌ๋๋ค์ด ์ฌ๋ฐ๋ฅธ ํ๋์ด ๋ฌด์์ธ์ง ๊ตฌ์ฒดํํ๊ธฐ ์ํด ์ฝ์ด๋ฅผ ์คํํ ์ ์๊ฒ ํ๊ณ ์ถ์ต๋๋ค. ๋๋ ์ฝ์ด์ ๋ํ ์ด๊ธฐ ์ง์์ 92099c7af23d0cebf52f89de4f9d829825e53ac8 ๋ฐ f9c2a77c67754324f3036ec79501c6131d19562b๋ก ๋ง์คํฐ์ ์ฒดํฌ์ธํ์ต๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ์ ์:
set -U fish_user_abbreviations 'gc=git checkout'
gc
gc๋ ๊ณต๋ฐฑ ๋๋ ๋ฐํ ์ "git checkout"์ผ๋ก ํ์ฅ๋ฉ๋๋ค.
์ฝ์ด๋ ๋ชฉ๋ก์ด๋ฏ๋ก ์ ํญ๋ชฉ์ ์ถ๊ฐํ๋ ค๋ฉด ๋ค์์ ์ํํ์ญ์์ค.
set fish_user_abbreviations $fish_user_abbreviations 'grh=git reset --hard'
์ฝ์ด๋ "๋ช ๋ น ์์น"(์: ์๋ธ์์์ ๋๋ if์ ๋ํ ์ธ์๋ก)๋ก ํ์ฅ๋์ง๋ง ์ธ์๋ก๋ ํ์ฅ๋์ง ์์ต๋๋ค. ์ฝ์ด๋ ์คํฌ๋ฆฝํธ์์๋ ํ์ฅ๋์ง ์์ต๋๋ค.
๋ค์์ ๋ ผ์ํ ํด๊ฒฐ๋์ง ์์ ๋ช ๊ฐ์ง ๋ฌธ์ ์ ๋๋ค.
fish_user_expansions
๊ด์ฐฎ์ ๊ฒ ๊ฐ์ต๋๋ค.gc=git checkout
๊ตฌ๋ฌธ์ ๊ฐ๋ณ์ง๋ง ๋ฌผ๊ณ ๊ธฐ์ ๋ค๋ฅธ ๊ณณ์์๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค.๋ฐ๋ฉด์ ๋ชจ๋ ์ฝ์ด๋ฅผ ์ฌ์ฉ์๊ฐ ์ง์ ํ๋ฉด ์ฌ์ฉ์๊ฐ ์ค์๋ก ๋ฌด์ธ๊ฐ๋ฅผ ์คํํ ๊ฐ๋ฅ์ฑ์ด ๋ฎ์ผ๋ฏ๋ก Enter ํค๋ฅผ ํ์ฅํด๋ ๊ด์ฐฎ์ ์ ์์ต๋๋ค.
๋ฐ๋ผ๊ฑด๋ ์ ์ ๋์ ์ด์ ๋ณธ ํ์ ๋ฌด์์ด ์ณ์์ง ์๊ฒ ๋ ๊ฒ์ ๋๋ค.
๊ฐ์ฌํฉ๋๋ค. ์ง๊ธ ์คํํ๊ณ ์์ผ๋ฉฐ ์ง๊ธ๊น์ง๋ ์ ๋ง ์ ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
abbr
๋ฅผ ์งง๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. alias
์ ๊ฒฝ์ฐ ์ด๊ฒ์ด ๋ ๋ซ๋ค๊ณ ์๊ฐ๋๋ฉด ์ด ๋์์ผ๋ก ๋์ฒด๋ ์ ์์ต๋๋ค. ์ฌ๋๋ค์ด ์คํฌ๋ฆฝํธ์์ ๋ณ์นญ์ ์ฌ์ฉํ๋ ค๋ฉด ํจ์ ๋ํ์ ์ํํ๋ฉด ๋ฉ๋๋ค. ์ฝ์ด๋ ์ฌ๋๋ค์ด ์ผ๋ฐ์ ์ผ๋ก ๋ณ์นญ์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ์ ํํ ๊ฐ์ต๋๋ค.abbr gc 'git checkout'
๋ฐ abbr -e gc
.gs
๋ํ git status
gs
์ ๊ฐ์ ๋ง์ ์ฝ์ด๋ ์คํ์ด์ค๋ฐ๋ฅผ ๋๋ฌ์ผ ํ๋ค๋ฉด ๊ทธ๋ค์ง ์ ์ฉํ์ง ์์ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ ์ธ๊ธ ํ๋๋ก ์ค์ ๋ก ์คํํ๋ ค๋ฉด ๋ ๋ฒ ์
๋ ฅํด๋ ๊ด์ฐฎ์ต๋๋ค.alias
๋ ์ด์จ๋ POSIX ํธํ์ฑ ๋ํผ์
๋๋ค. ๋๋ ์ฝ์ด๋ฅผํ๋ ๋ฐ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. abbr gc 'git checkout'
๋๋ ์ด์ ์ ์ฌํ ๊ฒ์ ์ด๋ค๋ฉด ์ด์จ๋ git checkout
๋ํ ์์ฑ์ ์ํฉ๋๋ค.
๋๋ ์ง๋ ๋ช ์ฃผ ๋์ terlar์ ์คํฌ๋ฆฝํธ ๊ตฌํ์ ์ฌ์ฉํ๊ณ ์ค๋ ์๋ก์ด ๊ธฐ๋ณธ ๋ฒ์ ์ผ๋ก ์ ํํ์ต๋๋ค. ๊ทธ๋์ ์ฌ๊ธฐ์ ๊ณต๊ฐ ํฌ์ธํธ์ ๋ํ 2์ผํธ๊ฐ ์์ต๋๋ค
alias
๊ฐ ์ฝ์ด๋ฅผ ์ฌ์ฉํ๋๋ก ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ณด๋์ค๋ก ํ์ฌ ๋ณ์นญ์์ ์๋ํ์ง ์๋ ์๋ฃ๋ฅผ ์์ ํฉ๋๋ค.abbreviation
์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ํ์ฅ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ฆ, ๋ชจ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ทผ์ก ๋ฉ๋ชจ๋ฆฌ์ ์์ผ๋ฉฐ ํ์ฌ ์ค์ ์ง์ฐ๋ ๊ฒ์ด ๋ ๋น ๋ฅผ ๊ฒ์
๋๋ค. ์ด๊ฒ์ ๋ค์ดํฐ๋ธ ๊ตฌํ์ด ์ค์ ์์ ๋ถ๋ถ๋ฟ๋ง ์๋๋ผ ์ด๋์์๋ ์ฌ์ฉ๋ ์ ์๋ค๋ ์ ์์ ๋ค๋ฅผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ฅํ๊ธฐ ์ํด ํญ์ ์คํ์ด์ค๋ฐ๋ฅผ ๋๋ฅด๊ฑฐ๋ Enter ํค๋ฅผ ๋ ๋ฒ ๋๋ฌ์ผ ํ๋ค๋ ์๋ฏธ๊ฐ ์๋๋ผ๋ฉด ์ข์ ์๊ฐ์ผ ๊ฒ์
๋๋ค."์ฝ์ด"๋ ๊ธธ๊ณ ์ฒ ์๊ฐ ์ด๋ ต์ต๋๋ค. ๋ ๋์ ์ด๋ฆ์ ์ฐพ์ ์ ์์ต๋๊น? "Alias"๋ ์ด๋ฏธ ๋ค๋ฅธ ์ฉ๋๋ก ์ฌ์ฉ๋์ง ์์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ํ ๊ฐ์ง ๊ฐ๋ฅ์ฑ์ ๊ทธ๊ฒ์ ๋ค์ง๋ ๊ฒ์ ๋๋ค(์: "ํ์ฅ"). fish_user_expansions๋ ๋์๊ฒ ๊ด์ฐฎ๊ฒ ๋ค๋ฆฝ๋๋ค.
๋์ํ์ง๋ง "ํ์ฅ"์ผ๋ก ํ๋งค๋์ง๋ ์์ต๋๋ค.
์ฝ์ด๋ ์ด๋ป๊ฒ ์ง์ ํด์ผ ํฉ๋๊น? gc=git ์ฒดํฌ์์ ๊ตฌ๋ฌธ์ ๊ฐ๋ณ์ง๋ง ๋ฌผ๊ณ ๊ธฐ์ ๋ค๋ฅธ ๊ณณ์์๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
complete
๋ฐ bind
๋๋ ์ฌ์ฉ์๊ฐ ํธ์ถํ ์ ์์ง๋ง ๊ธฐ๋ณธ ์ ์ฅ์๊ฐ ๋ถํฌ๋ช
ํ function
์ ๊ฐ์ด ๋จ์ํ ์ ๋ด์ฅ์ด์ด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ํฐ๋ก ํ์ฅํ์ง ์๊ณ ๊ณต๊ฐ๋ง ํ์ฅํ๊ธฐ๋ฅผ ์ํ ์ ์์ต๋๋ค. Enter ์ ํ์ฅ์ ์ฌ์ฉ์๊ฐ ์คํ์ ์ปค๋ฐํ ๋๊น์ง ์คํํ ๋ช ๋ น์ ๋ณผ ์ ์๋ค๋ ๋จ์ ์ด ์์ต๋๋ค. ๊ณต๋ฐฑ์ผ๋ก๋ง ํ์ฅํ๋ฉด ์ฌ์ฉ์๋ ์ฝ์ด๋ฅผ ์ ๋ ฅํ๊ณ ๊ณต๋ฐฑ์ ์ ๋ ฅํ๊ณ Enter๋ฅผ ์ ๋ ฅํ ์ ์์ผ๋ฏ๋ก ๊ทธ๋ค์ง ๋ถ๋ด์ค๋ฝ์ง ์์ต๋๋ค. ๋ ๋ฒ์งธ ๊ฐ๋ฅ์ฑ์ ์ฒซ ๋ฒ์งธ enter ํธ๋ฆฌ๊ฑฐ ํ์ฅ์ ๋ง๋ค๊ณ ๋ ๋ฒ์งธ enter๊ฐ ์ค์ ๋ก ์คํํ๋ ๊ฒ์ ๋๋ค.
Enter ๋ฅผ ํ์ฅํ๊ณ ์ถ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋๋ ๋ง์ ์ค๋ง์ค๋ฌ์ด fish: Unknown command โgcโ
๋ฐ์ ๊ฒ์ด๋ผ๊ณ ์์ํ๊ณ ๊ทธ ์ผ์ ํผ์๊ฐ ๋ ๊ฒ์ด๋ผ๊ณ ๋ ์์ํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ฅ์ ์คํ๋๊ธฐ ์ ์ ๋ช
๋ น์ค์์ ์ผ์ด๋์ผ ์คํฌ๋กค๋ฐฑ์์ ํ์ฅ์ ๋ณผ ์ ์๊ณ ํ์คํ ๋ฆฌ์์ ๋๋๋ ํ์ฅ๋ ํ์์ด ๋ฉ๋๋ค.
์ฝ์ด ํ์ฅ ์์ฒด๊ฐ ๋์ฒด ์ ์ ์๋ธ์ ๋ฐ ๋ณ์ ํ์ฅ์ ๊ฑฐ์ณ์ผ ํฉ๋๊น? ๊ทธ๋ ๊ฒ ํ๋ฉด ๋งค์ฐ ์ ์ฐํ๊ฒ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ฝ์ด๋ ์์์ ๋ฌผ๊ณ ๊ธฐ ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ์๋๋ค๊ณ ์๊ฐํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ช
๋ น์ค์ด ์คํ๋ ๋ ํ์ฅ๋๋๋ก ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํ์์คํฌํ๊ฐ ์ฐํ ๋ฉ๋ชจ๋ฅผ ๋ง๋๋ ์ฝ์ด๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ฝ์ด์ ๊ณต๋ฐฑ์ ์
๋ ฅํ๋ฉด vim 12:34:56.txt
์ ๊ฐ์ด ํ์ฅ๋ฉ๋๋ค. ์ด์ ๋ช ์ด ๋์ ์ด ๋ช
๋ น์ ์คํํ์ง ์๊ณ ํ์์คํฌํ๊ฐ ์๋ชป๋ ๊ฒ์
๋๋ค. ์ฝ์ด๊ฐ vim (time +%T).txt
๋ก ํ์ฅ๋๋ฉด ๋ ์ข์ ๊ฒ์
๋๋ค. ์ด๊ฒ์ ์ฌ๋ฐ๋ฅธ ์ผ์ด๋ฉฐ, ์๋ฅผ ๋ค์ด ๋ค๋ฅธ ์๊ฐ ํ์์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ช
๋ น์ค์ ์คํํ๊ธฐ ์ ์ ํธ์งํ ์ ์๋ ์ต์
์ด ์์์ ์๋ฏธํฉ๋๋ค. ๋ํ ๋ฐ๋ณต ๊ฐ๋ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด kill %firefox
๋ ํ์คํ ๋ฆฌ์์ ๋ถ๋ฌ์์ PID๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ์๋ ๋ค์ ์คํํ ์ ์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ๋ช
๋ น์ค์ ํ ํฐ์ด ์คํ ์์๋ง ํ๊ฐ๋๋ ๋๋จธ์ง ๋ฌผ๊ณ ๊ธฐ์ ๋ ์ผ๊ด์ฑ์ด ์๋ค๊ณ ์ฃผ์ฅํฉ๋๋ค.
๋ฐ๋ฉด์ ํ์ฅ ์๊ฐ์ ํ๊ฐํ๋ ๊ฒ์ ์๋ฅผ ๋ค์ด ์ด์ค์ผ์ดํ๋ฅผ ์ฌ์ฉํ์ฌ ์ตํธ์์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ ๊ฐ๋ ฅํ์ง๋ง ๊ทธ๊ฒ ์์ด๋ ์ค์ ๋ก _์ตํธ์ธ_ํ ์ ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ํ๊ฐ๋ฅผ ์ ์ดํ ์ ์๊ธฐ ๋๋ฌธ์ #751๋ก ํด๊ฒฐํ๋ ๊ฒ์ด ๋ ๋์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๊ฒ์ ์ฌ์ ํ โโ์ฝ์ด ํ์ฅ์ _์ ํํ_ ์๊ฐ์ ์ป๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ์ง ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๊ฐ๋ณ ํ ํฐ์ ํ์ฅํ๋ ์๊ฐ์ด ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋๋ ์ฝ์ด๋ฟ๋ง ์๋๋ผ ํ๊ฐํ ์ ์๋ ๋ช ๋ น์ค์ ๋ชจ๋ ํ ํฐ๊ณผ ํจ๊ป ์๋ํ์ง๋ง ๋ช ๋ น์ค์ ์ถ๊ฐ๋์๊ธฐ ๋๋ฌธ์ ๋ ์ ์ฉํ๊ณ ์ผ๊ด์ฑ์ด ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์คํ์ด์ค๋ฅผ ๋๋ฅด๊ณ ์ฝ์ด๊ฐ ํ์ฅ๋๊ณ ๋ง์์ด ๋ฐ๋๋ฉด ์ญ์ ๋ฅผ ๋๋ฅด๊ณ ํ์ฅ์ ์ทจ์ํ ์ ์์ด์ผ ํฉ๋๋ค.
๋๋ ์ด๊ฒ์ด ์ญ์ ๋ ๋ฐฑ์คํ์ด์ค์ ์์ด์๋ ์ ๋๋ค๊ณ ์๊ฐํ๋ค. ์๋ํ๋ฉด ๋์ ์ฝ์ด์ ๋ํ ๋๊ธฐ์ ์ผ๋ถ๋ ์คํ ์ ์ ํ์ฅ์ _parts_๋ฅผ ์ฌํ ํธ์งํ๋ ๊ธฐ๋ฅ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์๋ง๋ ๋ ๋์ ์์ด๋์ด๋ commandline -p
์ ์๋ ๋๋ก "์ปค์์์ ํ์ฌ ํ๋ก์ธ์ค๋ก ๊ฑฐ๊พธ๋ก ์ญ์ "์ ๋ํ ๋ฐ์ธ๋ฉ์ ์ถ๊ฐํ๋ ๊ฒ์
๋๋ค. ์ด๊ฒ์ ์ฝ์ด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง๋ง(๋ช
๋ น ์์น์์๋ง ํ์ฅ๋๊ธฐ ๋๋ฌธ์) ๋์์ ์ฝ์ด ์์ด๋ ์ ๋ง ์ ์ฉํฉ๋๋ค. ์ด๊ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก Ctrl-U ์ฒ๋ผ ์๋ํ์ง๋ง ํ์ฌ "ํ๋ก์ธ์ค"์ ์์ ๋ถ๋ถ์์ ๋ฉ์ถฅ๋๋ค. ํ์ฌ ํ๋ก์ธ์ค์ _end_์์ ์ค์งํ๋ Ctrl-K์ ํด๋นํ๋ ๋ณํ์ด ์ผ๊ด์ฑ์ ์ํด ์ถ๊ฐ๋ ์ ์์ผ๋ฉฐ ์ ์ฉํ ์๋ ์์ต๋๋ค.
์ด๊ฒ์ ๋ค์ดํฐ๋ธ ๊ตฌํ์ด ์ค์ ์์ ๋ถ๋ถ๋ฟ๋ง ์๋๋ผ ์ด๋์์๋ ์ฌ์ฉ๋ ์ ์๋ค๋ ์ ์์ ๋ค๋ฅผ ์ ์์ต๋๋ค.
@terlar ์ ๊ตฌํ์ ์๋ commandline -p
๋ฟ๋ง ์๋๋ผ ๋ผ์ธ์ ์์ ๋ถ๋ถ์
๋๋ค. ๋๋ ๋ด ์กฐ์กํ ๊ฐ๋
์ฆ๋ช
์ฝ๋๊ฐ ์ผ๋ง๋ ์ ์๋ํ๋์ง ์ค์ ๋ก ๊ฒฝ์ธ๊ฐ์ ๋น ์ ธ ์์ต๋๋ค! :๋ฌผ๊ณ ๊ธฐ: :ํํธ:
ํ , ์ค์ ๋ก ๋ค๋ฅธ ๋ช
๋ น ์์น์์ ์ฝ์ด๋ฅผ ์ฌ์ฉํด ๋ณธ ์ ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค, ํ๋กํ ํ์
์ ์ ์๋ํ์ต๋๋ค. ๋ค๋ง ์ธ๊ธํ ๋ถ์ฌ๋ฃ๊ธฐ ๋ฌธ์ ๊ฐ ๋ถํธํ ๋ฟ์ด์์ง๋ง ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
@sch1zo Ctrl-Y ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ถ์ฌ๋ฃ๊ธฐ๊ฐ ์๋ํฉ๋๋ค.
๊ทธ๋ด ์๋ ์์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ ํ/๊ฐ์ด๋ฐ ํด๋ฆญ์ ํตํด ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํ๊ณ ๊ฑฐ๊ธฐ์ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ธฐ๋ณธ ๊ตฌํ์๋ ๋ ์ด์ ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ ์ด๋ฏธ ๋ชจ๋ ์ปดํจํฐ์์ ํด๋น ๋ฌธ์ ๋ฅผ ์ฌ์ฉํ๋๋ก ์ ๋ฐ์ดํธํ์ต๋๋ค.
๊ทธ๋์ ๋ค์ดํฐ๋ธ ์ฝ์ด๋ฅผ ์ฌ์ฉํ ์ง ~10์ผ ํ์ ์ ๋ฅผ ๊ดด๋กญํ๋ ํ ๊ฐ์ง๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค. ์ด๋ฏธ ๋ช
๋ น์ ์
๋ ฅํ ๋ค์ ์ค์ ์์ ๋ถ๋ถ์ผ๋ก ์ ํํ์ฌ ์ฝ์ด๋ฅผ ์์ ๋ถ์ด๋ฉด ํ์ฅ๋์ง ์๊ณ ํ์ฅ๋์ง ์์ ์ํ์์ ์๋ํ์ง ์์ต๋๋ค. ์ ์๊ฒ ์ผ๋ฐ์ ์ธ ์ํฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ด ์ฝ์ด ์ค ํ๋๋ !=sudo
์ด๋ฏ๋ก vim /path/to/some/file/I/am/not/allowed/to/write
์์์ ๊ฐ์ด ์ผ๋ถ ์์คํ
๊ตฌ์ฑ ํ์ผ์ ํธ์งํ๋ ค๊ณ ํ ๋ ์ข
์ข
sudo๊ฐ ํ์ํ๋ค๋ ๊ฒ์ ๋ฆ๊ฒ ๊นจ๋ซ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ์์ ๋ถ๋ถ์ผ๋ก ์ด๋ํ์ฌ !
์ถ๊ฐํฉ๋๋ค command not found
๋ฉ์์ง๋ฅผ ๋จ๊น๋๋ค.
์ด์ ๋ํ ํ์ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฝ์ด์ ๋ํ ๋ณ์นญ์ ์ถ๊ฐํ๋ ๊ฒ์ด์ง๋ง ์ ๋๋ก ํ์ฅ๋๋ฉด ๋ ์ข์ ๊ฒ์
๋๋ค.
๋์ ๋จ์ํ "์ฒซ ๋ฒ์งธ ํ ํฐ"์ด ์๋๋ผ ๊ณต๋ฐฑ์ด ์ ๋ ฅ๋ ๋ ์ปค์ ์์น๋ฅผ ์ดํด๋ด์ผ ํฉ๋๋ค. ๋๋ ๋จผ์ ๊ณต๋ฐฑ์ ์ฝ์ ํ ๋ค์ ๋ช ๋ น์ค์ ๋ค์ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ ์ฝ์ด๋ฅผ ํ์ฅํฉ๋๋ค.
์ปค๋ฐ b6f495d1077b7627ea851da33936c77b2d594bb2๋ @sch1zo๊ฐ ์๋ณํ ๋ฌธ์ ๋ฅผ ์์ ํด์ผ ํฉ๋๋ค(sudo์ ๊ฒฝ์ฐ !
์ฌ๊ธฐ์ ์ถ๊ฐํ ๋ ๋ค๋ฅธ ์ฌํญ: ๊ธฐ๋ณธ์ ์ผ๋ก ํจ์ ๋์ ll
, la
๋ฑ์ ๋ณ์นญ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ๋ค์ ๋ฆด๋ฆฌ์ค์ ํจ๊ป ์ ๊ณต๋ ๊ฒ์ด๋ฏ๋ก next-minor
๋ก ๋์์ ๋ณ๊ฒฝํ๊ณ ์์ต๋๋ค.
๋ค์ ๋ฆด๋ฆฌ์ค๋ ๋งค์ฐ ๋น ๋ฅธ ์์ผ ๋ด์, ์ฆ ๋ค์ ์ฃผ ๋ง์ ๋์ฌ ๊ฒ์ ๋๋ค. ์ง๊ธ์ ๋ฌธ์ ์ ๋ฆฌ๋ง ํ๊ณ ์์ต๋๋ค.
์ฝ์ด๋ ํ์ฌ์ ๋ถ์์ ํ ์ํ์ ํฌํจ๋ฉ๋๋ค. abbrev
๋ช
๋ น(๋๋ alias
์ฉ๋ ๋ณ๊ฒฝ)์ด ์์ ๋๊น์ง ์ด๋ฅผ ํ๋ณดํ๊ฑฐ๋ ๋ฌธ์ํํ๊ณ ์ถ์ง ์์ต๋๋ค. ๊ทธ๋ฐ ์ด์ ๋ก ๋๋ ์ด๊ฒ์ ๋ค์ ๋ฉ์ด์ ๋ก ๋ฐ๊ณ ์์ต๋๋ค.
alias
๋ ์ข์ ์ฉ์ด๊ฐ ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ ์๊ฒ alias
๋ ๋์ฒด ์ด๋ฆ์
๋๋ค... ํ์ฅํ ๋์์ด ์๋๋๋ค.
๊ฐ์ ์ด์ ๋ก abbr
์ข์ํ์ง ์์ต๋๋ค.
๋๋ ์๊ฐ expand foo "foobar"
...ํ์ง๋ง ๋ณด์ธ๋ค expand
๋ช
๋ น์ด ์ด๋ฏธ ์กด์ฌ : / ๋๋ฌด์ ๋์, ๋ด๊ฐ ์๊ฐ expand
๊ฐ์ฅ ์ข์ ์ฉ์ดํ์ ๊ฒ์ด๋ค.
๋ณ์นญ๊ณผ ์ฝ์ด๋ฅผ ํตํฉํ๋ ๊ฒ์ ์ด๋ป์ต๋๊น? ์ ๊ธฐ๋ฅ์ ๋์
ํ๊ฑฐ๋ alias
์ฌ์ฉํ์ง ์๋ ๋์ "๋ณ์นญ ํ์ฅ" ๊ตฌ์ฑ ์ต์
์ ๋์
ํ์ธ์. ์ฌ๊ธฐ์ ๋จ์ ์ ์ฐ๋ฆฌ๊ฐ ๋ฌผ๊ณ ๊ธฐ์ ๊ตฌ์ฑ ์ต์
์ ์ข์ํ์ง ์๋๋ค๋ ๊ฒ์
๋๋ค(ํ์ง๋ง ๊ตฌ์ฑ ์ต์
์ ๊ฑด๋๋ธ ์ ์์). (์๋ง๋ ์ข์ ์ ์ผ ์ ์์) ์ด๋ ๋ ๊ฐ์ง ๋์์ ํผํฉํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๋ณ์นญ ๋์... ์ฅ์ ์ ๋น์ทํ ์์
์ ์ํํ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค๋ ๊ฒ์
๋๋ค. ์ค๋ช
ํ๊ธฐ ์ฝ๊ณ ("๋ณ์นญ์ ๋ฌผ๊ณ ๊ธฐ์์ ํ์ฅ๋จ") ์ฝ์ด๊ฐ ์ค์ ๋ก ์คํฌ๋ฆฝํธ์์ ์๋ํฉ๋๋ค(๋ณ์นญ์ด๊ธฐ๋ ํ๊ธฐ ๋๋ฌธ์). ๊ตฌ๋ฌธ ํ๊ดํ์์๋ ํน์ ์ผ์ด์ค๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์์์ ์๋ฏธํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ณ์นญ ๊ธฐ๊ณ๋ฅผ C++ ์ฝ๋๋ก ์ด๋ํจ์ผ๋ก์จ ํ์ฌ ๋ณ์นญ ๊ตฌํ์ ์๋ ์ ํ๋ฅผ ํผํ ์ ์์ต๋๋ค. ๊ทธ๋๋ ํ์ฅ๋์ง ์์ ๋ณ์นญ์ ๋ํด ์์ฑ์ด ์๋ํ๋๋ก ํ๋ ๋ฐฉ๋ฒ์ ์์๋ด์ผ ํฉ๋๋ค.
๊ธฐ๋ฅ ์์ฒญ ํ๋...
์ด์ ์๋ git add, git commit ๋ฐ git push์ ๊ฐ์ ๋จ์ผ ๋ช ๋ น์ผ๋ก ์์ฃผ ์ฌ์ฉํ๋ ๋ช ๋ น ์กฐํฉ์ ์คํํ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ต๋๋ค.
์๋ก์ด ์ฝ์ด ๊ธฐ๋ฅ์ด ๋ง์์ ๋ญ๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ๊ฑฐ๋ํ๋ค๊ณ ์๊ฐํ๊ณ ๊ทธ๊ฒ์ ์ ํํ๋ ค๊ณ ํฉ๋๋ค. ๋จ์ผ ๋ช ๋ น ํ์ฅ์ผ๋ก ์ ํ๋๋ค๋ ์ฌ์ค์ ๊ด์ฐฎ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ ํ ํ ๋ฒ์ ์ฌ๋ฌ ๋ช ๋ น์ ์คํํ๊ณ ์ถ์ต๋๋ค. ์ด์ ์ฒซ ๋ฒ์งธ ๋ช ๋ น์ ์ฝ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์ธ๋ฏธ์ฝ๋ก ์ ์ฌ์ฉํ๊ณ ๋ ๋ฒ์งธ ๋ช ๋ น์ ์ฝ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ฑ์ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์ ์๋ํฉ๋๋ค. ์ฌ์ค ์ด ๋ฐฉ๋ฒ์ด ๋ ๋์ ๊ฒ ๊ฐ์ต๋๋ค.
๋ด ์์ฒญ์ ํ์ฅ์ด ๊ณต๋ฐฑ์ด๋ ์ํฐ๋ฟ๋ง ์๋๋ผ ์ธ๋ฏธ์ฝ๋ก ์ผ๋ก๋ ํธ๋ฆฌ๊ฑฐ๋๋ค๋ ๊ฒ์ ๋๋ค. ์ธ๋ฏธ์ฝ๋ก ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ฐ ์ ๋ ฅ๊ณผ ๋์ผํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ์ฌ๋ฌ๋ถ ๋ชจ๋์๊ฒ๋ ์ดํด๊ฐ ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ด ๊ณต์ ๋ฆด๋ฆฌ์ค์ ํฌํจ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆด ์ ์์ต๋๋ค!
๋์๊ฒ ์๋ฏธ๊ฐ์๋ค.
1a7b33e8fb75dd702730ca9637d760fbd23a4000์ ์ธ๋ฏธ์ฝ๋ก ์ ์ฝ์ด๋ฅผ ํ์ฅํฉ๋๋ค.
๊ฐ์ฌ ํด์!
fish_user_abbreviations๋ ์ด๋์ ์ ์ฅ๋ฉ๋๊น? ๋ด dotfiles ์ ์ฅ์์ ์ถ๊ฐํ๊ณ ์ถ์ต๋๋ค.
ํ์ฌ ๋ฒ์ฉ ๋ณ์์ด๋ฏ๋ก ~/.config/fish/config.fish์ ์ ์ฅ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ ์ ํ ์ ์ฅ ๋ฐฉ๋ฒ์ ์ฐพ์ ๋๊น์ง ์ผ์์ ์ธ ํดํน์ผ ๋ฟ์ ๋๋ค. ์ฌ๊ธฐ์ ํผ๋๋ฐฑ์ ํ์ํฉ๋๋ค.
์ํ๋ ๊ฒฝ์ฐ set -g fish_user_abbreviations...
์ ๊ฐ์ ํ์ config.fish์ ์ถ๊ฐํ์ฌ ์๋์ผ๋ก ์ค์ ํ ์ ์์ต๋๋ค.
ํ , ๊ฑฐ๊ธฐ์ ๊ทธ ๋ณ์๊ฐ ๋ณด์ด์ง ์์ต๋๋ค.
set -U fish_user_abbreviations 'g=git'
. config.fish์ ๋ฃ๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์
๋๊น?
์ฃ์กํฉ๋๋ค. ~/.config/fish/fishd.[mac_address]
์ ์ฅ๋ฉ๋๋ค. ๋ถ๋ช
ํ ๋๊ธฐํ๋ MAC์์ ๊บผ์ ธ ์๊ธฐ ๋๋ฌธ์ (์ค๊ณ์) ์๋ํ์ง ์์ต๋๋ค.
config.fish์ ๋ฃ์ผ๋ ค๋ฉด `set -g fish_user_abbreviations 'g=git'์ ์์ฑํฉ๋๋ค. -g ์ ์ญ์ ๊ฒฝ์ฐ ๋งค๋ฒ ์ค์ ํ๊ธฐ ๋๋ฌธ์.
๋ฒ์ฉ ๋ณ์๋ ํฉ๋ฆฌ์ ์ผ๋ก ๊น๋ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋จ์ง ๋ ๋์ UI๊ฐ ํ์ํฉ๋๋ค.
=
๋ฅผ ์ฌ์ฉํ์ฌ ํค์ ๊ฐ์ ๋ถํ ํ๊ฑฐ๋ ASCII FS( \x1c
)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ด๋ฅผ ๊ด๋ฆฌํ๋ ๋ฌผ๊ณ ๊ธฐ ํจ์( abbr
) + // ์น ์ธํฐํ์ด์ค ํ์ด์ง๊ฐ ์ ์ฉํ ๊ฒ์
๋๋ค.
์์ถ/์ด์ ์ ์ํ ์ ์ ํ ์ฐ์ถ๋ฌผ์ ์์ฐํ๊ธฐ ์ํด ์๊ฐํด์ผ ํ ๊ฒ์ ๋๋ค.
@ridiculousfish ์, ๊ฐ์ฌํฉ๋๋ค. ๋ง์ ๋์์ด ๋ฉ๋๋ค! ์์ถ์ ์ํ ์ ์ฐจ๊ฐ ์์ ๋๊น์ง ์ง๊ธ์ ๊ทธ๋ ๊ฒ ํ ๊ฒ์ ๋๋ค.
Btw, ์ ๋ A) ๋ชจ๋ ์ฝ์ด๊ฐ ํฌํจ๋ ๋จ์ผ ํ์ผ ๋๋ B) ๊ฐ ์ฝ์ด์ ๋ํด ๋ณ๋์ ํ์ผ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ํด ์ค๋ฆฝ์ ์ ๋๋ค. A ์ชฝ์ผ๋ก ๊ธฐ์ธ์ด์ง ์๋ ์์ง๋ง ๊ฐํ๊ฒ๋ ์๋๋๋ค.
๊ธฐ์กด ๊ตฌํ์ ๋ํ ๊ธฐ๋ณธ UI๋ฅผ abbr
์ถ๊ฐํ์ต๋๋ค. ๋ ๋ณด๋ ค๋ฉด abbr -h
๋ฅผ ์ฌ์ฉํ์ธ์. ๋ํ ์น ์ธํฐํ์ด์ค์ ๋ณด๊ธฐ ์ ์ฉ UI๋ฅผ ์ถ๊ฐํ์ง๋ง ๋ ๋ง์ ์์
์ ์ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
=
๋ฅผ ๊ตฌ๋ถ ๊ธฐํธ๋ก ์ฌ์ฉํ๋ ๋์ ๊ฐ ๋ฐฐ์ด ํญ๋ชฉ์ ์ฒซ ๋ฒ์งธ ํ ํฐ(๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ?)์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ตฌํ์ด ๊ฐ๋จํด์ง๋๋ค.
๋ฒ์ฉ ๋ณ์๋ ๊น๋ํ์ง๋ง ์ง์ ๋
ธ์ถํ์ง ์๋ ๊ฒฝ์ฐ __fish_user_abbreviations
๋ก ์ด๋ํ๋ ๊ฒ์ด ๋ ๋์ ์ ์์ต๋๋ค.
=
๋ฅผ ๊ตฌ๋ถ ๊ธฐํธ๋ก ์ฌ์ฉํ๋ ๋์ space-separated
๋ฅผ ์ ํธํฉ๋๋ค. ํนํ ๊ทธ ์คํ์ผ์ fish
๋ด๋ถ์ ๋ค๋ฅธ ๊ณณ์์๋ ์ฌ์ฉ๋์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค.
๋๋ ์ด๊ฒ์ด ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด์ผํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค. ์ข ๋ ์ดํด๊ฐ ๋๋ฉฐ ์ํ๋ ๊ฒฝ์ฐ =
๊ฐ ์ค์ ๋ก ์ฝ์ด์ ์ผ๋ถ๊ฐ ๋ ์ ์์์ ์๋ฏธํฉ๋๋ค. abbr
๋ช
๋ น์ --add
ํ๋๊ทธ๋ฅผ ์ญ์ ํ๊ณ ๋์ ๋ ๊ฐ์ ์ธ์๋ฅผ ์ฌ์ฉํ๋๋ก ์์ ํด์ผ ํฉ๋๋ค.
$__fish_user_abbreviations
์ ๊ด๋ จํ์ฌ ์ด ์ ์์ ๊ณต๊ฐํ ์ ์์ง๋ง ์ฌ์ฉ์๊ฐ abbr
๋ช
๋ น์ ์ฌ์ฉํ์ง ์๊ณ $fish_user_abbreviations
์ง์ ์์ ํ๊ณ ์ถ์ดํ ์๋ ์์ผ๋ฏ๋ก ๊ถ์ฅํ์ง ์์ต๋๋ค. ๋๊ตฌ๋ $__fish_*
๋ณ์๋ฅผ ์ง์ ์์ ํ ์ ์์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ๋ก์ปฌ ๋๋ ๊ธ๋ก๋ฒ ์์ค์์ ์ค์ ํ๋ ๊ฒ์ ์์ ํ ํฉ๋ฒ์ ์
๋๋ค. ๋ชจ๋ ์ฌ๋์ด ์ด์ ๊ฐ์ ๊ฒ์ ๋ฒ์ฉ ๋ณ์๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ดํ๋ ๊ฒ์ ์๋๋๋ค.
๊ด๋ จ ์ฐธ๊ณ ๋ก --shell
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ ๋ read
๋ ๋ํ์ ์
๋ ฅ์์ ์ฝ์ด๋ฅผ ํ์ฅํด์ผ ํฉ๋๋ค.
abbr
๋ช
๋ น ์ธ๋ถ์์ ๋ณ์ ์์ ์ ๊ถ์ฅํ๋ ๊ฒ์ ๋ํ ๋์ ์ฐ๋ ค๋ ๋ฒ์ ์ง์ ์ ์ง์ํ๋๋ก ๋ช
๋ น์ ํ์ฅํ๋ฉด UI ์ธก๋ฉด์์ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํ์ง๋ง ๊ทธ๋ ๊ฒ ํ์ง ์์ผ๋ฉด ์ ์ฌ์ ์ผ๋ก ์๋ชป๋ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ํ์ฌ๋ก์๋ ๋ณ์ ๋ฒ์์ ๋ณํฉ์ด ์์ผ๋ฏ๋ก ํผ๋์ค๋ฌ์ธ ์ ์์ต๋๋ค. ๋ฒ์ฉ ํ์ฅ๊ณผ (๋ค๋ฅธ) ์ ์ญ ํ์ฅ์ ์ค์ ํ๋ฉด ๋ ๋ค ์๋ํด์ผ ํฉ๋๊น? ๊ทธ๋ ๋ค๋ฉด ๊ธ๋ก๋ฒ ๋ฒ์์์ ๋ณดํธ์ ํ์ฅ์ ํด์ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น? ์ด๊ฒ์ด ์ฌ๋๋ค์ด ํ๊ณ ์ถ์ดํ๋ ์ผ์
๋๊น?
๊ณต๊ฐ ๋ถ๋ฆฌ๋ ์ข์ ์๊ฐ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค. ํผ๋์ ํผํ๊ธฐ ์ํด ์ ์ฝ์ด๋ฅผ ์ถ๊ฐํ ๋ ์ธ์์ ์์ ์ ํ์ด ์์ ๊ฒ์ ๋๋ค. ์ฒซ ๋ฒ์งธ๋ '๋จ์ด'๊ฐ ๋๊ณ ๋๋จธ์ง๋ ํจ๊ป ๊ฒฐํฉ๋์ด '๊ตฌ'๊ฐ ๋ฉ๋๋ค.
"๋ฒ์ ์ง์ ์ง์"์ ์ํด ์์
์ ์ํํ ํ์๊ฐ ์์ต๋๋ค. abbr
๋จ์ํ $fish_user_abbreviations
๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ์ญ ๋ณ์๊ฐ ์๋ ๊ฒฝ์ฐ ์ ์ญ ๋ณ์๋ฅผ ์ฌ์ฉํ๊ณ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ ๋๋ฒ์ค์ ์ฌ์ฉํฉ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ๋
์๊ฐ ์๋ํ๋ ๋ฐฉ์์
๋๋ค. ์ ์ผํ ์ฃผ๋ฆ์ ์ฌ์ฉ์๊ฐ $fish_user_abbreviations
๋ฅผ ์ต์์ ์์ค์์ ๋ก์ปฌ ๋ณ์๋ก ์ค์ ํ๋ฉด ๋
์๋ ์ค์ ๋ก ๋ณผ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๋จํ ์์ ์ -S
ํ๋๊ทธ๋ฅผ abbr
ํจ์ ์ ์ธ์ ์ถ๊ฐํ๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ฉด ์์์ ์ ์๋ ์ง์ญ ๋ณ์๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฝ์ด๋ฅผ ๋ณํฉํ๋ ค๊ณ ์๋ํ๊ณ ๋ณํฉํ ํ์๋ ์์ต๋๋ค(๋ค๋ฅธ ๋ฒ์์์ ๋ณ์๋ฅผ ์ผ์์ ์ผ๋ก ์ญ์ ํ์ง ์๋ ํ ๊ทธ๋ ๊ฒ ํ ์ ์๋ ๋ฐฉ๋ฒ๋ ์์).
์ด๊ฒ์ ๋ฐ๋ผ ์ํ ํ ํ ๋๋ ์ฝ์ด๊ฐ ํ์ฅ๋๊ธฐ ์ ์ ๋ฐ์ค์ด ๊ทธ์ด์ง๊ฑฐ๋ ๋ค๋ฅด๊ฒ ๊ฐ์กฐ ํ์๋๋ ๊ฒ์ ๋ณด๊ณ ์ถ์ต๋๋ค. ์ด๊ฒ์ ๋ด๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ ฅํ๋ค๋ ํ์ ์ ์ค๋๋ค. ์๊ฐ?
๊ณต๋ฐฑ ๊ตฌ๋ถ์ ์ง์์ fbade198b942a666d3fc1110804a7da2c47918f1์ ์์ต๋๋ค.
๊ณต๋ฐฑ์ ๋๋ ๋๋ฐ ํ์ฅ๋์ง ์์ผ๋ฉด ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ ฅํ์ง ์์ ๊ฒ์ ๋๋ค. ๋๋ ๋ฐ์ค์ ๊ธ๊ฑฐ๋ ๊ฐ์กฐํ๋ ๊ฒ์ ๋ฐ๋ํ์ง ์์ต๋๋ค(์ฌ์ฉ์์๊ฒ ๋ช ๋ น์ค์ด ๋ณ๊ฒฝ๋ ์ด์ ๋ฅผ ์๋ ค์ฃผ๋ ์ถ๊ฐ ์ ํธ์์ด ํ์คํฉ๋๋ค). ํ์ง๋ง ๊ณต๋ฐฑ์ ๋ฃ๊ธฐ ์ ์ ์์ ๊ฐ์ ๊ฐ์ ธ์ผ ํ๋ ์ด์ ๋ฅผ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
@ridiculousfish fbade198b942a666d3fc1110804a7da2c47918f1 ๊ณผ ๊ด๋ จํ์ฌ ์ฝ์ด๋ ์ถฉ๋ถํ ์๋กญ๊ธฐ ๋๋ฌธ์(์ต๊ทผ ๋ง์คํฐ๊น์ง ๋ฌธ์ํ๋์ง ์์) =
์ง์์ ์ ๊ฑฐํด์ผ ํฉ๋๋ค.
๋๋ before-space ์ผ์ด์ค๊ฐ ์๋๋ผ before-return ์ผ์ด์ค์ ๋ํด ์๊ฐํ๊ณ ์์ต๋๋ค.
๋์๊ฒ ์ข์ ์๋ฆฌ. ๊ฐ์กฐ ํ์๋ฅผ ๋๋ฌด ๋ง์ด ํด์ ์๋๊ฐ ๋๋ ค์ง๊ณ ์ ๋ณด ๊ณผ๋ถํ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ด _๊ฐ๋ฅ_ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ํ์ง๋ง ์ฌ๊ธฐ์๋ ๊ทธ๋ ์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ํ ์ด๋ค ์ด์ ์์๋ ์ํ๋ ์ฌ๋๋ค์ด ์ฝ๊ฒ ๋นํ์ฑํํ ์ ์๋๋ก ์ผ๋ถ $fish_color_abbr-or-whatever
๋ณ์๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
์ฒ์์๋ ๊ฐ์กฐ ํ์ ๋์์ด ์ฝ์ด์ ์ผ๋ฐ ๋ช ๋ น์ ๋ํด ๋ค๋ฅด๋ค๋ ๊ฒ์ด ์ง๊ด์ ์ด์ง ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค๊ณ ๋งํ๋ ค๊ณ ํ์ต๋๋ค.
๋ด ํผ๋์ ๋ด๊ฐ ๊ฐ์กฐ ํ์์ ์ ์๋ ์์ฑ ๊ธฐ๋ฅ์ ํผ๋ํ๊ณ ์๋ค๋ ์ฌ์ค์์ ๋น๋กฏ๋์์ต๋๋ค.
์๋ฅผ ๋ค์ด "echo"๋ฅผ ์ ๋ ฅํ๋ฉด ์ ์ฒด ๋ช ๋ น์ ์ ๋ ฅํ ๋๊น์ง ๊ฐ์กฐ ํ์๊ฐ ๋นจ๊ฐ์์ผ๋ก ํ์๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ ์๋ ์์ฑ ๊ธฐ๋ฅ์ ๋ด๊ฐ ์ ๋ ฅํ๋ ค๋ ๋ด์ฉ์ ์ฑ๊ณต์ ์ผ๋ก ์์ํ๊ณ ์๋ํ ๋ฐฉํฅ์ผ๋ก ๊ฐ๊ณ ์๋ค๋ ํ์ ์ ์ค๋๋ค.
๋๋ ์ฝ์ด์ ๋ํด ๊ทธ๋ฌํ ํผ๋๋ฐฑ์ ๋ฐ์ง ๋ชปํ๋๋ฐ, ํนํ ๋ณต์กํ ๋ช ๋ น์ผ๋ก ํ์ฅ๋๋ ๋ช ๋ น์ ๊ธฐ์ต์ ๋จ๋ ๋จ์ถ์ ์์ฃผ ์๊ฐํด๋ด์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ๋ถํํ ์ผ์ ๋๋ค.
์ฌ์ค, ์ ๋ชฉํ๋ ๋ค์ํ ๋ช ๋ น์ ์์ ์ด๋ฆ ๊ณต๊ฐ์ ๋ฃ๋ ๊ฒ์ ๋๋ค(์ ๋ ~5๊ฐ์ ๋ฌธ์ ์ฝ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์๋ฐฑ ๊ฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค). ์ด ๋๋ฌธ์ ์ ํจํ ๋ช ๋ น์ ์ ๋ ฅํ๋ ๋ฐฉํฅ์ผ๋ก ํฅํ๊ณ ์๋ ์ ธ ์ง์นจ์ ํจ์ฌ ๋ ๋ง์ด ์์กดํฉ๋๋ค. ์์ฑ์ ์์ํ๋ ์ญํ ์ ํ๋ ๊ฒ์ด ์๋ฆฌ ์ก๊ณ ์์ง๋ง, ์ผ๋ฐ ๋ช ๋ น์ด ๋์ ์ฝ์ด๋ฅผ ์ฐ๋ ๊ฒ์ด ๋์๊ฒ๋ ํ์ค ๋ช ๋ น์ด๋ณด๋ค ํจ์ฌ ๋์์ด ๋ ๊ฒ์ด๋ค.
๋๋ ์ฝ์ด์ ์ํด ์ ๊ธฐ๋ ์ ์ ์์ฑ์ ๋ํ ์ด๋ ค์์ ๋ณผ ์ ์์ต๋๋ค. ์ ๋ ฅํ๋ ๋ด์ฉ๊ณผ ๋ ์ด์ ์ธ์ ํ์ง ์์ผ๋ฏ๋ก ์ฝ์ด๋ฅผ ์ค์ ๋ช ๋ น์ผ๋ก ํ์ฅํ๋ ๊ฒ์ ์ง๊ด์ ์ด์ง ์์ต๋๋ค. ๊ทธ๋๋ ์ง๊ธ๋ณด๋ค๋ ๋์ ์๋ ์๊ฒ ๋ค๋ ์๊ฐ์ด ๋ ๋ค.
์ ์ด๋ ๋์๊ฒ๋ ์ ์๋ ์์ฑ์ ์ฝ์ด ์์ฒด(ํ์ฅ์ด ์๋)๋ฅผ ํฌํจํ์ฌ ๊ฐ๋ ค์์ ๊ธ์ ๊ฒ์ ๋๋ค. ์ ์๋ ์ฝ์ด์ ์ ๋์ฌ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ ฅํ๊ณ ์๋์ง ํ์ธํ๊ณ ์ถ์ต๋๋ค. ์ฝ์ด๋ฅผ ์๋ชป ๊ธฐ์ตํ๊ฑฐ๋ ์๋ชป ์ ๋ ฅํ๊ธฐ ๋๋ฌธ์ ํ๋ ์ ๋ ฅ์ด ์๋๋ผ๋ ๊ฒ์ ์๋ ค์ฃผ๊ธฐ์ ์ถฉ๋ถํฉ๋๋ค.
abbr.fish
๋ฅผ ํ์ฅํ์ฌ ๊ณต๋ฐฑ๊ณผ =
๊ตฌ๋ถ์๋ฅผ ๋ชจ๋ ์ฒ๋ฆฌํ๋ ค๊ณ ์๋ํ์ง๋ง ์ธ๋ถ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ฐ๋ ฅํ ์๋ฃจ์
์ ์ฐพ๋ ๋ฐ ๋ง์ ์ฑ๊ณต์ ๊ฑฐ๋์ง ๋ชปํ์ต๋๋ค.
๋๋ ๊ณํ์ด = ์ง์์ ์ ๊ฑฐํ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ๋๋ ๊ทธ๋ฅ ํ๋ ค๊ณ ์๊ฐํ๊ณ ์ฌ๋๋ค์ด ๊ณต๋ฐฑ์ผ๋ก ์ ํํ๊ธฐ ์ํด ์คํํ ์ ์๋ $fish_user_abbreviations๋ฅผ ๋ฌถ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌผ๊ณ ๊ธฐ ๋ฉ์ผ๋ง ๋ฆฌ์คํธ์ ๋ฉ์์ง๋ฅผ ๊ฒ์ํ์ต๋๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ,
๊ฝค ์ค๋ซ๋์ ์ฝ์ด๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋ ๋ฉ๋ชจ๋ฅผ ํ๊ณ ์ถ์์ต๋๋ค.
๋๋ ์ด๋ ฌํ ํฌ์ด๊ณ ๊ทธ๋ค์ ๋ด ์ถ์ ํจ์ฌ ์ฝ๊ฒ ๋ง๋ค์ด์ค๋๋ค. ํนํ ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋ด๊ฐ ์ด๋ค ๋ช ๋ น์ ๋ด๋ฆฌ๋์ง ์น์ํ ํ์์ผ๋ก ๋ณผ ์ ์๋ค๋ ์ฌ์ค์ด ๋ง์์ ๋ญ๋๋ค.
๋ด๊ฐ ์ซ์ดํ๋ ์ ์ผํ ๊ฒ์ ์ฝ์ด์ ๋ํ ๊ธฐ๋ก์ด ์๋ค๋ ๊ฒ์ ๋๋ค. ๊ฑฐ์ ๋ชจ๋ ๋ช ๋ น์ ์ฝ์ด๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๊ธฐ๋ก ๊ธฐ๋ฅ์ ์๊ฒ ๋์์ต๋๋ค. ์ฝ์ด๋ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ์ด ํ์ํ์ง ์์ ๋งํผ ์ถฉ๋ถํ ์งง์์ผ ํ๋ค๊ณ ์๊ฐํ ์๋ ์์ง๋ง, ์ ๋ ์ด ๊ธฐ๋ฅ์ด ์๋นํ ๋ถ์กฑํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค. 200๊ฐ๊ฐ ๋๋ ์ฝ์ด๊ฐ ์ ์๋์ด ์์ผ๋ฉฐ ๊ทธ ์ค ์ผ๋ถ๋ ์ฝ๊ฐ๋ง ๋ค๋ฆ ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ด๊ฐ ์ด์ ๋ฐํํ ๊ฒ์ ์ญ์ฌ์์ ๋ณด์ฌ์ฃผ๊ฒ ํ๋ฉด ๋ ๋ณต์กํ๊ณ ๋ ์์ฃผ ์ฌ์ฉ๋๋ ์ฝ์ด์ ๋งค์ฐ ์ ์ฉํ ๊ฒ์ ๋๋ค. ๋๋ ์ค์ ๋ก ์ฝ์ด์ ํจ๊ป ์ด๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก ๋ค๋ฅธ ๊ธฐ๋ก์ด ์๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ก ์ง์์ด ํ์ํ ๋์ ํจ์๋ฅผ ์ฌ์ฉํด์ผํ์ต๋๋ค.
๊ธฐ๋ฅ์ ๋ํด ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
@binaryphile ๋งค์ฐ ํฅ๋ฏธ๋กญ์ต๋๋ค. ์ด๊ฒ์ด ์ด๋ป๊ฒ ์๊ฒผ๋์ง(์ฆ, UI)์ ๋ํ ์์ด๋์ด๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ ์์ธํ ์ค๋ช ํ์๊ฒ ์ต๋๊น?
์ข์ ์ง๋ฌธ. ํ์ฅ์ด ํธ๋ฆฌ๊ฑฐ๋๋ฉด ์ฝ์ด๊ฐ ๊ธฐ๋ก ๋ชฉ๋ก์ ๋ค์ด๊ฐ๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฐ๋ผ์ ๋ด ์ฝ์ด๊ฐ "git clone"์ "gclon"์ธ ๊ฒฝ์ฐ ๊ณต๋ฐฑ(๋๋ ์ธ๋ฏธ์ฝ๋ก )์ ๋๋ฅด๋ฉด "gclon"์ด ๋ด ๊ธฐ๋ก์ ์ถ๊ฐ๋ฉ๋๋ค. ํ์ฅ๋ ๋ช ๋ น์ ๊ธฐ๋ก์ ์ ์ฅํ๋ ์ผ๋ฐ์ ์ธ ๋์์ ๋ณ๊ฒฝํ์ง ์์ผ๋ฏ๋ก ๋ ๋ค ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ทธ ํ, ์ฝ์ด์ ์ ๋์ฌ(์: "gcl")๋ฅผ ์ ๋ ฅํ๊ธฐ ์์ํ์ ๋ "gclon"์ด ์๋ ์์ฑ ํ์ ์ ์ฒซ ๋ฒ์งธ ์ต์ ์ด ๋ ๊ฒ์ผ๋ก ์์ํ์ต๋๋ค.
์ด์์ ์ผ๋ก๋ ๊ทธ ์์ ์์ alt-f๋ฅผ ๋๋ฅด๊ณ ํ์ฅ๋ ๋ฒ์ ์ผ๋ก ์๋ ์์ฑ๋๋๋ก ํ ์ ์๊ณ , ๊ธฐ๋ก์์ ํ์ฅ๋ ๋ช ๋ น์ ์๋ก์ด ์๋ ์์ฑ ๊ธฐ๋ฅ์ ์ถ๊ฐ๋ก ์ ๊ณตํ ์ ์์ต๋๋ค. ํ์ฅ ํ์ ์ถ๊ฐ ์ธ์๋ฅผ ์ ๋ ฅํ์ ์ ์๊ณ ์ฒ์์ ์ ๋ ฅํ ๋์ผํ ๊ฒฝ๋ก(์ฝ์ด ๋ค์ ์ธ์)๋ฅผ ํตํด ๊ฐ๋ฅํ ํ ์ ์ ์์ ํค ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ ์ ์๊ธฐ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ญ์ฌ์ ์ฝ์ด์๋ ์ธ์๊ฐ ์์ผ๋ฏ๋ก alt-f๋ ์ธ์๋ณ๋ก ์๋ฃ ์ธ์๋ฅผ ๋ฐ๋ผ ๋ ๋์๊ฐ๋ ๊ฐ์ฅ ์์ฐ์ค๋ฌ์ด ๋ฐฉ๋ฒ์ด ๋ ๊ฒ์ ๋๋ค.
ctrl-f๋ ๋ณ๊ฒฝ๋์ง ์๊ณ ํ์ฅ ๋ฒ์ ์ด ์๋ ์ฝ์ด ๋์ผ๋ก ์์ผ๋ก ์ด๋ํ ๊ฒ์ ๋๋ค. ํ์ฅํ ๋์์ ๋ํ ์๊ฐ์ ์ ํธ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋๋ ์ด๊ฒ์ ๋ง์นจ๋ด ํ
์คํธํ๊ธฐ ์ํด ๋ฐค๋ง๋ค ๋น๋ํ๊ณ ์คํํ์ต๋๋ค! ์ด ๊ธฐ๋ฅ์ด ์ ๋ง ๋ง์์ ๋ค๊ณ abbr
๋ช
๋ น์ด ํจ๊ป ์ ๊ณต๋๋ค๋ ์ฌ์ค์ด ๋ง์์ ๋ญ๋๋ค.
๋ด ํผ๋๋ฐฑ์ dotfile ๋ฐฑ์
์ ์ํด ๋ด๋ณด๋ผ ์ ์๋ ์ข์ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค๋ ๊ฒ์
๋๋ค. ๋๋ ์ด๊ฒ๋ค์ด ๋ชจ๋ abbr --show
์ถ๋ ฅ ํ์์ผ๋ก ํ๋์ ํ์ผ์ ๋ค์ด๊ฐ์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. abbr --show
์ง๊ธ์ ์ถฉ๋ถํฉ๋๋ค. ์ง๊ธ์ dotfile์ ํ์ดํ๋ก ์ฐ๊ฒฐํ๊ฒ ์ต๋๋ค. ํ์ง๋ง ๊ทธ ๋๊ฐ ์ค๋ฉด ๋ค์ ๊ฐ์ ธ์ฌ ์ ์๋ ์ฌ์ด ๋ฐฉ๋ฒ์ ์ํฉ๋๋ค. ๋ฐ๋ผ์ Fish๊ฐ ์ง๊ธ ๊ทธ ํ์์ ๊ฐ์ ธ์ฌ ์ ์๋ค๋ฉด ์ข์ ๋ค์ ๋จ๊ณ๊ฐ ๋ ๊ฒ์
๋๋ค.
๋์๋ง์ ๋ช ๋ น์ ๋ฐ๋ผ ์ ์ฝ์ด๋ฅผ ์ถ๊ฐํ๋ฉด ์ด ์ค๋ฅ์ ํจ๊ป ์คํจํฉ๋๋ค.
ํ์ฌ๋ abbr -a "gco git checkout"
๋ฅผ ์
๋ ฅํด์ผ ํ์ง๋ง ์ค๋ช
์์ ๋์ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ง์ํ๋ ๊ฒ์ด ๋ ํฉ๋ฆฌ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์, ๊ฐ์ฌํฉ๋๋ค!
48d3536์ด ๊ทธ ๋ณํ๋ฅผ ๋ง๋ญ๋๋ค.
๋ค์ ๋ง์ด๋ ๋ฆด๋ฆฌ์ค์์ '=' ๊ตฌ๋ถ ๊ธฐํธ ์ง์์ ๊ทธ๋๋ก ๋๊ณ ๊ทธ ์ดํ์๋ ๋นํ์ฑํํ๊ฑฐ๋ (์กฐ์ฉํ?) ์ฌ๋๋ค์ fish_user_abbreviations
์
๊ทธ๋ ์ด๋ํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋๋ ์ด๊ฒ์ ๊ณ ์ ์ผ๋ก ๋ซ์ ๊ฒ์ ๋๋ค. ๋ง์ด๊ทธ๋ ์ด์ ์ ์ถ์ ํ๊ธฐ ์ํด #2051์ ์ ์ถํ์ต๋๋ค. ๊ฐ๋ ์ ์ ๊ณตํ @dag ์ ์ด๋ฅผ ํ ์คํธํ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๊ณง ์ถ์๋๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค!
W00t, ๋ชจ๋ ๊ฐ์ฌํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ด ์ ๋ง ๋ง์์ ๋ญ๋๋ค!!
์ ๋ ์ฝ์ด๋ฅผ ์ข์ํฉ๋๋ค. ๋ณ์นญ๋ณด๋ค ํจ์ฌ ์น๊ทผํ ๊ฒฝํ์ ๋๋ค. ์ ๋ง ๊ณ ๋ง์!
dotfiles 1 , 2 ์ ์ฝ์ด๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๋์ ์ด ์ค๋ ๋๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค.
๋๊ตฐ๊ฐ ๊ฐ์ ์ด์ ๋ก ์ฌ๊ธฐ์์ ๋นํ๊ฑฐ๋ฆฐ๋ค๋ฉด abbr -s/--show
์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด
abbr --show >> ~/.config/fish/config.fish
@dideler ์๋ํ๋ ๋ฐฑ์
๊ณผ ์ ์ฌํ ๊ฒ์ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ sort
ํ์ดํํ๋ ๊ฒ๋ ๊ถ์ฅํฉ๋๋ค.
abbr --show | sort > fish_abbreviation_backup;
๋ชจ๋ ๊ฒ์ fish_abbreviation_backup ํ์ผ์ ๋ฃ์ ๋ค์ ๋ฐฑ์
์ ์ํด Homeshick์ ์ถ๊ฐํฉ๋๋ค. ๋ชจ๋ ์๋ํ๋์ด ์์ผ๋ฉฐ cron์์ ์คํ๋ฉ๋๋ค. I ๋ฐฑ์
๋ ํ source fish_abbreviation_backup
ํ๊ณ ๊ทธ ๋ฌผ๊ณ ๊ธฐ ์ผ ์ํ๋ฒณ ์์ ๋๋ฌธ์ abbr --show
.
๋ฌผ๊ณ ๊ธฐ๊ฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๋ฐฉ์๊ณผ ์ ์ฌํ๊ฒ ํ์ผ์ ์ฝ์ด๋ฅผ ๋ณด๊ดํ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
์ ๋ฐ์ดํธ: ์ฝ์ด๋ฅผ ์ ์ฅํ ๋ ์ ๋ ฌ ๋ฌธ์ -> https://github.com/fish-shell/fish-shell/issues/2156
๋ฌผ๊ณ ๊ธฐ๊ฐ ํ์ผ์ ์ฝ์ด๋ฅผ ๋ณด๊ดํ๋ฉด ์ข์ํ ๋ฐ...
๋งค๋ด์ผ ํ์ด์ง์์: "์ฝ์ด๋ ๋ฒ์ฉ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฅ๋ฉ๋๋ค." ์ฆ, var name fish_user_abbreviations
์๋์ _~/.config/fish/fishd.macaddr_ ํ์ผ์์ ์ฐพ์ ์ ์์ต๋๋ค. abbr
๋ช
๋ น์ ๋จ์ํ ํด๋น ๋ฒ์ฉ ๋ณ์๋ฅผ ์กฐ์ํฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค. ~/.config/fish/abbreviations.fish์ ๋ณด๊ดํ์ฌ ๋ํธ ํ์ผ์ ์ฝ๊ฒ ์ถ๊ฐํ ์ ์๋๋ก ํ๋ ๊ฒ์ด ์ข์๊น์?
@ElijahLynn : ๋ด๊ฐํ๋ ์ผ์ ~/.config/fish/conf.d/์ "abbrs.fish"๋ผ๋ ํ์ผ์ด ์๊ณ ๋ค์ ๋ด์ฉ์ด ์์ต๋๋ค.
if not set -q fish_initialized
abbr -a alsamixer alsamixer -c0
abbr -a e emacs -nw
abbr -a \$PAGER less
abbr -a mu4e emacs --eval "\(mu4e\)"
abbr -a pm pulsemixer
abbr -a rm rm -I
abbr -a sc systemctl
abbr -a upo upower -i /org/freedesktop/UPower/devices/battery_BAT0
abbr -a usc systemctl --user
# Double-escaping needed
abbr -a d2 env WINEPREFIX=/home/alfa/.wine32/ wine ~/.wine/drive_c/Program\\ Files\\ \\(x86\\)/Diablo\\ II/Diablo\\ II.exe
abbr -a c curl -LO -C -
set -U fish_user_paths ~alfa/.local/bin $GOPATH/bin
set -U fish_initialized
end
๋ด dotfiles ์ ์ด๊ฒ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ์์ง ์ฌ์ฉํ์ง ์์ ๋ชจ๋ ์ปดํจํฐ์ ๋์ ์ ์์ต๋๋ค. ์ฝ์ด๋ฅผ ์ฌ์ค์ ํ๋ ค๋ฉด ๋ชจ๋ ์ง์ธ ์ ์์ต๋๋ค( set -e fish_user_abbreviations; set -e fish_initialized
). ๋ฌผ๊ณ ๊ธฐ๋ฅผ ๋ค์ ์์ํ์ญ์์ค.
๊ฐ์ฌํฉ๋๋ค. ์ด ํญ๋ชฉ์ด ๋๋ฝ๋์์ ์ ์์ง๋ง ์๋์ผ๋ก ์ ์ง ๊ด๋ฆฌํด์ผ ํ๊ณ abbr
๋ช
๋ น์ผ๋ก ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๋ ์ถ๊ฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ง ์์๋ ๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฑฐ๊ธฐ์ abbr ๋ช
๋ น์ ์ถ๊ฐํฉ๋๋ค. ์ด๊ฒ์ abbr --show
ํธ์ถ์ ์ถ๋ ฅ์ผ ์๋ ์์ต๋๋ค.
๋ช ๋ น ์์น์์๋ง ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด์ ์ ์ ์ํ ์ธ์ ์์น ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์คํํ ์ ์์ต๋๋ค.
๋๋ ์์์์๋ฟ๋ง ์๋๋ผ ์์น๊ฐ ์์, ์๋ฅผ ๋ค์ด์์ ๊ฑฐ๋ผ๊ณ ์๊ฐ : s
์ ๋ํด sudo
๋ฐ n
์ ๋ํด nano
ํ๋ ์์์ ํฝ์ฐฝ s n
์์ sudo nano
๋ก ๋ณ๊ฒฝ๋์ง๋ง ํ์ฌ ๊ตฌํ์๋ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋งค๋ด์ผ ํ์ด์ง์์: "์ฝ์ด๋ ๋ฒ์ฉ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฅ๋ฉ๋๋ค." ์ฆ, var name
fish_user_abbreviations
์๋์ _~/.config/fish/fishd.macaddr_ ํ์ผ์์ ์ฐพ์ ์ ์์ต๋๋ค.abbr
๋ช ๋ น์ ๋จ์ํ ํด๋น ๋ฒ์ฉ ๋ณ์๋ฅผ ์กฐ์ํฉ๋๋ค.