Fish-shell: ์•ฝ์–ด

์— ๋งŒ๋“  2013๋…„ 05์›” 11์ผ  ยท  92์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: fish-shell/fish-shell

๋ณ„์นญ์— ๋Œ€ํ•œ ๋Œ€์•ˆ์œผ๋กœ ์•ฝ์–ด๋ฅผ ๋„์ž…ํ•˜์—ฌ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ฝ์–ด๋Š” ๋ช…๋ น์ค„์— ์ž…๋ ฅํ•  ๋•Œ ์ „์ฒด ํ˜•์‹์œผ๋กœ ๋ผ์ด๋ธŒ๋กœ ํ™•์žฅ๋œ๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ณ„์นญ๊ณผ ์ •ํ™•ํžˆ ๊ฐ™์Šต๋‹ˆ๋‹ค. git commit ์˜ ์•ฝ์–ด๋กœ gc ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์ œ gc -am "did stuff" ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด "gc" ๋’ค์— ๊ณต๋ฐฑ์„ ์ž…๋ ฅํ•  ๋•Œ ๋ช…๋ น์ค„์ด ๋ณ€๊ฒฝ๋˜๊ณ  ๊ฒฐ๊ตญ git commit -am "did stuff" ๋กœ ๋๋‚ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ช…๋ น ์œ„์น˜์—์„œ๋งŒ ๋ฐœ์ƒํ•˜๋ฉฐ ๊ณต๋ฐฑ์„ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ Enter ํ‚ค๋ฅผ ๋ˆŒ๋ €์„ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

_์›๋ณธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค._

์ž์ฒด ํ™•์žฅ ์งง์€ ํ˜•์‹์œผ๋กœ ๋ณ„์นญ ๋ฐ”๊พธ๊ธฐ

์ด๊ฒƒ๋“ค์„ ๋ญ๋ผ๊ณ  ๋ถˆ๋Ÿฌ์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์œผ๋‚˜ ์–ด์จŒ๋“ . ์•„์ด๋””์–ด๋Š” ๋ช…๋ น์œผ๋กœ "g"๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ณต๋ฐฑ์„ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ Enter ํ‚ค๋ฅผ ์ž…๋ ฅํ•  ๋•Œ "git"์œผ๋กœ ํ™•์žฅ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ์— ๋Œ€ํ•œ ์ธ์ˆ˜:

  • ์™„์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋ณ„์นญ์ด "๋ผ์ด๋ธŒ"๋กœ ํ™•์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— git ์™„์„ฑ์€ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๊ณ  commandline ๋Š” ๊ฑฐ์ง“๋ง์„ ํ•˜๊ฑฐ๋‚˜ ์ด์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ํ•ดํ‚น์„ ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • ๊ตฌํ˜„ํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์™„์ „ํ•œ ๊ตฌํ˜„์„ ์ž‘์„ฑํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ bind ๋ฐ commandline ์•ฝ๊ฐ„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์—์„œ์™€ ๊ฐ™์ด function ๋˜๋Š” complete ๋“ฑ์„ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๊ฒƒ์€ ํ‹€๋ฆผ์—†์ด "์ƒ์ƒํ•œ" ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ํ™•์žฅ๋œ ํ˜•ํƒœ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ณ„์นญ์— ์ˆจ๊ฒจ์ ธ ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™„๋ฃŒ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ์ฆ‰๊ฐ์ ์ด๊ณ  ์‹ค์‹œ๊ฐ„์ด๋ฉฐ prevd-or-backward-word ๋“ฑ์œผ๋กœ ์ฆ‰์‹œ ๋‹ค์‹œ ์น ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ์ง€์‹œ๋ฅผ ๋‚ด๋ฆฌ๊ธฐ ์œ„ํ•ด ๋ช…๋ น์ค„์„ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ์„ ๋•Œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋ชจ๋ฅด๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๋ณ„์นญ์œผ๋กœ ๊ฐ€๋“ ์ฐจ ์žˆ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ฑฐ์˜ ๋งž๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ™•์žฅ๋œ ์–‘์‹์„ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜๋Œ€ ์ฃผ์žฅ:

  • alias git=hub ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๊ณ  ํ˜„์žฌ ์กด์žฌํ•˜์ง€ ์•Š์ง€๋งŒ ์ด์™€ ๊ฐ™์€ ์ผ๋ถ€ ๋ณ„์นญ ์™„์„ฑ ์ œ์•ˆ๊ณผ ํ•จ๊ป˜ ๋„์ž…๋œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ์ œ์•ˆ๋œ ๋ณ„์นญ ์‹œ์Šคํ…œ์„ ์šฐํšŒํ•˜๋Š” ๋Œ€์‹  ์ผ๋ฐ˜ ํ•จ์ˆ˜ function git; hub $argv; end ๋ฅผ ๊ฐ„๋‹จํžˆ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์–ด๋–ค ์‚ฌ๋žŒ๋“ค์€ Tab ๊ฐ™์€ ๊ฒƒ์„ ๋ˆ„๋ฅด์ง€ ์•Š๊ณ  ์ž…๋ ฅํ•  ๋•Œ ๋ช…๋ น์ค„์ด ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์ด ๋†€๋ž๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ™•์žฅ๋œ ํ˜•์‹์„ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋Š” ๋‹จ์ˆœํžˆ ๋‘ ๊ฐœ์˜ ๋ฐฑ์ŠคํŽ˜์ด์Šค๋กœ ์ž…๋ ฅํ•œ ๋‚ด์šฉ์„ ์‚ญ์ œํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด gc ๋ฅผ git commit ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ CTRL-W๋กœ๋„ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CTRL-U๋Š” ์œ ์ผํ•œ ๋ช…๋ น์ธ ๊ฒฝ์šฐ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ ์˜ˆ๋ฅผ ๋“ค์–ด ํŒŒ์ดํ”„์˜ ๋ณ„์นญ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋„ˆ๋ฌด ๋งŽ์ด ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ์•„๋งˆ๋„ "ํ˜„์žฌ ๋ช…๋ น์„ ์ข…๋ฃŒํ•˜์ง€๋งŒ ์ „์ฒด ๋ฒ„ํผ๋Š” ์•„๋‹˜"์— ๋Œ€ํ•œ ์ƒˆ ๋ฐ”์ธ๋”ฉ์„ ๋„์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • :์งˆ๋ฌธ:

์„ ํ–‰ ๊ธฐ์ˆ :

  • Vim์—์„œ :abbreviate
  • Chrome์˜ ๊ฒ€์ƒ‰ ์—”์ง„์ด ์•„๋‹๊นŒ?

๋…ผ์˜ํ•˜๋‹ค.

enhancement

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ฌผ๊ณ ๊ธฐ๊ฐ€ ํŒŒ์ผ์— ์•ฝ์–ด๋ฅผ ๋ณด๊ด€ํ•˜๋ฉด ์ข‹์„ํ…๋ฐ...

๋งค๋‰ด์–ผ ํŽ˜์ด์ง€์—์„œ: "์•ฝ์–ด๋Š” ๋ฒ”์šฉ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค." ์ฆ‰, var name fish_user_abbreviations ์•„๋ž˜์˜ _~/.config/fish/fishd.macaddr_ ํŒŒ์ผ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. abbr ๋ช…๋ น์€ ๋‹จ์ˆœํžˆ ํ•ด๋‹น ๋ฒ”์šฉ ๋ณ€์ˆ˜๋ฅผ ์กฐ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  92 ๋Œ“๊ธ€

๋˜ ๋‹ค๋ฅธ ์•„์ด๋””์–ด๋Š” 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:).

  1. ํ…์ŠคํŠธ๋ฅผ ๋ถ™์—ฌ๋„ฃ์„ ๋•Œ ๋งˆ์ง€๋ง‰ ๊ณต๋ฐฑ์ด ์ค„์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ์‚ฝ์ž…๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด echo this is a test ๋Š” ๋ถ™์—ฌ๋„ฃ์„ ๋•Œ _echo this is atest ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ _ ๋Š” ๊ณต๋ฐฑ์ž…๋‹ˆ๋‹ค.
  2. read ๋‚ด์žฅ enter ๋ฐ space ์— ๋Œ€ํ•œ ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•  ๋•Œ ์—ฌ๊ธฐ์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ฝ๊ธฐ ์œ„ํ•ด ๋น„ ๋ช…๋ น์„ ์ž…๋ ฅํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค. ์ตœ์ข… ๊ตฌํ˜„์—์„œ ์ด๊ฒƒ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊บผ์ ธ ์žˆ์–ด์•ผ ํ•˜๊ณ  read -s ํ™œ์„ฑํ™”๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
  3. ์•ฝ๊ฐ„ ๋Š๋ฆผ(~0.25-0.5์ดˆ)

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์— ๋Œ€ํ•œ ์ธ์ˆ˜๋กœ)๋กœ ํ™•์žฅ๋˜์ง€๋งŒ ์ธ์ˆ˜๋กœ๋Š” ํ™•์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์•ฝ์–ด๋Š” ์Šคํฌ๋ฆฝํŠธ์—์„œ๋„ ํ™•์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๋…ผ์˜ํ•  ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

  1. "์•ฝ์–ด"๋Š” ๊ธธ๊ณ  ์ฒ ์ž๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋” ๋‚˜์€ ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? "Alias"๋Š” ์ด๋ฏธ ๋‹ค๋ฅธ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•œ ๊ฐ€์ง€ ๊ฐ€๋Šฅ์„ฑ์€ ๊ทธ๊ฒƒ์„ ๋’ค์ง‘๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(์˜ˆ: "ํ™•์žฅ"). fish_user_expansions ๊ดœ์ฐฎ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  2. ์•ฝ์–ด๋Š” ์–ด๋–ป๊ฒŒ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? gc=git checkout ๊ตฌ๋ฌธ์€ ๊ฐ€๋ณ์ง€๋งŒ ๋ฌผ๊ณ ๊ธฐ์˜ ๋‹ค๋ฅธ ๊ณณ์—์„œ๋Š” ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  3. ์šฐ๋ฆฌ๋Š” ์—”ํ„ฐ๋กœ ํ™•์žฅํ•˜์ง€ ์•Š๊ณ  ๊ณต๊ฐ„๋งŒ ํ™•์žฅํ•˜๊ธฐ๋ฅผ ์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Enter ์‹œ ํ™•์žฅ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰์„ ์ปค๋ฐ‹ํ•  ๋•Œ๊นŒ์ง€ ์‹คํ–‰ํ•œ ๋ช…๋ น์„ ๋ณผ ์ˆ˜ ์—†๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๋ฐฑ์œผ๋กœ๋งŒ ํ™•์žฅํ•˜๋ฉด ์‚ฌ์šฉ์ž๋Š” ์•ฝ์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๊ณต๋ฐฑ์„ ์ž…๋ ฅํ•˜๊ณ  Enter๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ทธ๋‹ค์ง€ ๋ถ€๋‹ด์Šค๋Ÿฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๊ฐ€๋Šฅ์„ฑ์€ ์ฒซ ๋ฒˆ์งธ enter ํŠธ๋ฆฌ๊ฑฐ ํ™•์žฅ์„ ๋งŒ๋“ค๊ณ  ๋‘ ๋ฒˆ์งธ enter๊ฐ€ ์‹ค์ œ๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด์— ๋ชจ๋“  ์•ฝ์–ด๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ˆ˜๋กœ ๋ฌด์–ธ๊ฐ€๋ฅผ ์‹คํ–‰ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์œผ๋ฏ€๋กœ Enter ํ‚ค๋ฅผ ํ™•์žฅํ•ด๋„ ๊ดœ์ฐฎ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์•ฝ์–ด์˜ ํ™•์žฅ๋œ ํ˜•ํƒœ๋Š” ๋‹จ์ง€ ํ…์ŠคํŠธ ๋Œ€์ฒด์ด๋ฉฐ ๊ทธ ์ž์ฒด๊ฐ€ ์œ ํšจํ•œ ๋ช…๋ น์ผ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋”ฐ์˜ดํ‘œ๋‚˜ ๊ด„ํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ์•ฝ์–ด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ž ์žฌ์ ์œผ๋กœ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ, ์ด๋Š” fish๊ฐ€ ์•ฝ์–ด๊ฐ€ ํฌํ•จ๋œ ์ฝ”๋“œ์—์„œ ๊ตฌ๋ฌธ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  2. ์•ฝ์–ด ํ™•์žฅ ์ž์ฒด๊ฐ€ ๋Œ€์ฒด ์ „์— ์„œ๋ธŒ์‰˜ ๋ฐ ๋ณ€์ˆ˜ ํ™•์žฅ์„ ๊ฑฐ์ณ์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ๋งค์šฐ ์œ ์—ฐํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์•ฝ์–ด๋Š” ์ž„์˜์˜ ๋ฌผ๊ณ ๊ธฐ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์ŠคํŽ˜์ด์Šค๋ฅผ ๋ˆ„๋ฅด๊ณ  ์•ฝ์–ด๊ฐ€ ํ™•์žฅ๋˜๊ณ  ๋งˆ์Œ์ด ๋ฐ”๋€Œ๋ฉด ์‚ญ์ œ๋ฅผ ๋ˆ„๋ฅด๊ณ  ํ™•์žฅ์„ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ”๋ผ๊ฑด๋Œ€ ์ž ์‹œ ๋™์•ˆ ์‚ด์•„ ๋ณธ ํ›„์— ๋ฌด์—‡์ด ์˜ณ์€์ง€ ์•Œ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ง€๊ธˆ๊นŒ์ง€๋Š” ์ •๋ง ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ์•ฝ์–ด abbr ๋ฅผ ์งง๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. alias ์˜ ๊ฒฝ์šฐ ์ด๊ฒƒ์ด ๋” ๋‚ซ๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋ฉด ์ด ๋™์ž‘์œผ๋กœ ๋Œ€์ฒด๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ณ„์นญ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํ•จ์ˆ˜ ๋ž˜ํ•‘์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์•ฝ์–ด๋Š” ์‚ฌ๋žŒ๋“ค์ด ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณ„์นญ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ์ •ํ™•ํžˆ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  2. ์•ฝ์–ด๋ฅผ ์ •์˜ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ๋„์šฐ๋ฏธ ๊ธฐ๋Šฅ์ด ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    ์˜ˆ: abbr gc 'git checkout' ๋ฐ abbr -e gc .
    ์ œ ์ƒ๊ฐ์—๋Š” ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ด ์กฐ์ž‘์„ ํ•˜๋Š” ๊ฒƒ์ด ์กฐ๊ธˆ ๋ฒˆ๊ฑฐ๋กญ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์•ฝ์–ด๊ฐ€ ๊ณ ์œ ํ•œ์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ์ƒˆ๋กœ ์ •์˜ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  3. ๋‚˜๋Š” ์ง€๊ธˆ๊ณผ ๊ฐ™์€ ํ–‰๋™์„ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. gs ๋Œ€ํ•œ git status gs ์™€ ๊ฐ™์€ ๋งŽ์€ ์•ฝ์–ด๋Š” ์ŠคํŽ˜์ด์Šค๋ฐ”๋ฅผ ๋ˆŒ๋Ÿฌ์•ผ ํ•œ๋‹ค๋ฉด ๊ทธ๋‹ค์ง€ ์œ ์šฉํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์–ธ๊ธ‰ ํ•œ๋Œ€๋กœ ์‹ค์ œ๋กœ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋‘ ๋ฒˆ ์ž…๋ ฅํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.
  4. ๊ฐœ์ธ์ ์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  5. ์˜ˆ, ์ด๊ฒƒ์€ ๋ฉ‹์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด ๋จธ๋ฆฌ ์œ„์— ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋Š” ์–ด๋–ค ์•ฝ์–ด๋ฅผ ์ƒ๊ฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  6. ์˜ˆ๋ฅผ ๋“ค์–ด ์•ฝ์–ด๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ๋„ˆ๋ฌด ์ผ์ฐ ์ŠคํŽ˜์ด์Šค๋ฐ”๋ฅผ ๋ˆ„๋ฅธ ๊ฒฝ์šฐ์—๋„ ์ข‹์€ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋˜ํ•œ ์ด์ค‘ ์ž…๋ ฅ์œผ๋กœ 3๋ฒˆ ์ œ์•ˆ๊ณผ ์ž˜ ์–ด์šธ๋ฆฝ๋‹ˆ๋‹ค(์ถ”๊ฐ€ ์ž…๋ ฅ์„ ์›ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋Š” ์•„์ง ํ™•์‹คํ•˜์ง€ ์•Š์Œ).

alias ๋Š” ์–ด์จŒ๋“  POSIX ํ˜ธํ™˜์„ฑ ๋ž˜ํผ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์•ฝ์–ด๋ฅผํ•˜๋Š” ๋ฐ ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. abbr gc 'git checkout' ๋˜๋Š” ์ด์™€ ์œ ์‚ฌํ•œ ๊ฒƒ์„ ์“ด๋‹ค๋ฉด ์–ด์จŒ๋“  git checkout ๋Œ€ํ•œ ์™„์„ฑ์„ ์›ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ง€๋‚œ ๋ช‡ ์ฃผ ๋™์•ˆ terlar์˜ ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„์„ ์‚ฌ์šฉํ–ˆ๊ณ  ์˜ค๋Š˜ ์ƒˆ๋กœ์šด ๊ธฐ๋ณธ ๋ฒ„์ „์œผ๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๊ธฐ์— ๊ณต๊ฐœ ํฌ์ธํŠธ์— ๋Œ€ํ•œ 2์„ผํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค

  1. ์ด์ œ alias ๊ฐ€ ์•ฝ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ณด๋„ˆ์Šค๋กœ ํ˜„์žฌ ๋ณ„์นญ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์™„๋ฃŒ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. terlar๊ฐ€ ๋งํ•œ ๊ฒƒ์€ ์ข‹์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค
  3. ์•ฝ์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด Enter ํ‚ค๋ฅผ ๋‘ ๋ฒˆ ๋ˆŒ๋Ÿฌ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ •๋ง ๋ฌธ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. Enter ํ‚ค๋ฅผ ํ•œ ๋ฒˆ๋งŒ ๋ˆŒ๋Ÿฌ ๋ณ„์นญ์ฒ˜๋Ÿผ ํ™•์žฅ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ๋„ ๊ดœ์ฐฎ๊ฒ ์ง€๋งŒ ๋‚ด ๊ธฐ๋ก์— ํ™•์žฅ๋˜์ง€ ์•Š์€ ์•ฝ์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. --
  5. ๋ณ€์ˆ˜ ํ™•์žฅ์€ ๋ณ€์ˆ˜์˜ ๋‚ด์šฉ์ด ๋ช…๋ น์— ์ž…๋ ฅ๋˜๊ณ  ๊ทธ์— ๋”ฐ๋ผ ๊ธฐ๋ก์— ์ €์žฅ๋จ์„ ์˜๋ฏธํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋” ์ด์ƒ ๋ณ€์ˆ˜๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š๊ณ  ์ด์ „ ๋‚ด์šฉ๋งŒ ํฌํ•จ๋˜๋ฏ€๋กœ ๊ธฐ๋ก์—์„œ ์ด๋Ÿฌํ•œ ๋ช…๋ น์˜ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์•„์ง‘๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด ์ œ๊ฐ€ ์ด ์ ์„ ์ž˜๋ชป ์ดํ•ดํ•œ ๊ฑธ๊นŒ์š”?
  6. 3์ž๋ณด๋‹ค ๊ธด 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๊ฐ€ ์ง€๊ธˆ ๊ทธ ํ˜•์‹์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์€ ๋‹ค์Œ ๋‹จ๊ณ„๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋„์›€๋ง์˜ ๋ช…๋ น์„ ๋”ฐ๋ผ ์ƒˆ ์•ฝ์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์ด ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

selection_235

ํ˜„์žฌ๋Š” 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 ๋กœ ๋ณ€๊ฒฝ๋˜์ง€๋งŒ ํ˜„์žฌ ๊ตฌํ˜„์—๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰