Autojump: zsh: ๋ช…๋ น์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ: j

์— ๋งŒ๋“  2013๋…„ 03์›” 22์ผ  ยท  11์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: wting/autojump

brew๋กœ autojump๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

$ brew install autojump

ํ•˜์ง€๋งŒ, ๋‚˜์—๊ฒŒ ์•ฝ๊ฐ„์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € autojump ๋ช…๋ น๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‹คํ–‰ํ•  ๋•Œ j ๋Š” ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ autojump -a ~/code ํ•˜๊ณ  ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  File "/usr/local/bin/autojump", line 176, in save
    temp = NamedTemporaryFile(dir = CONFIG_DIR, delete = False)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 447, in NamedTemporaryFile
    (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 228, in _mkstemp_inner
    fd = _os.open(file, flags, 0600)
OSError: [Errno 2] No such file or directory: '/Users/eward/.local/share/autojump/tmprYDreK

/Users/eward๋Š” ๋‚ด ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” tmp ํŒŒ์ผ์„ ์“ธ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋ฏ€๋กœ autojump์— ๋Œ€ํ•œ ~/.local/share/autojump ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด์ œ autojump --add๋Š” ๊ดœ์ฐฎ์ง€๋งŒ j๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ฌธ์ œ #178์—์„œ ๋‚ด .zshrc์— autojump์˜ etc ํŒŒ์ผ์ด ํฌํ•จ๋˜์–ด์•ผ ํ•˜๊ณ  ๋‚ด .zshrc ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

source $HOME/homebrew/Cellar/autojump/21.1.2/etc/autojump.zsh

๋งˆ์ง€๋ง‰์œผ๋กœ autojump๊ฐ€ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ, ๊ทธ๋ ‡๊ฒŒ ๋งŽ์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ฌด์—‡ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ฒ„๊ทธ๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ๋ˆ„๊ตฐ๊ฐ€ ๋‚˜์™€ ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ–ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

needs-info os-mac shell-zsh

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

์ด๊ฒƒ์„ .zshrc์— ์ถ”๊ฐ€ํ•ด ๋ณด์„ธ์š”.

[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh

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

zsh๊ฐ€ ๊ธฐ๋ณธ ์‰˜์ž…๋‹ˆ๊นŒ? bash๊ฐ€ ๊ธฐ๋ณธ ์…ธ์ด์ง€๋งŒ zsh๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™ ์ ํ”„๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. echo $SHELL ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฌด์—‡์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ, zsh๋Š” ๊ธฐ๋ณธ ์…ธ์ž…๋‹ˆ๋‹ค.

$ echo $SHELL
/bin/zsh

์ด๊ฒƒ์„ .zshrc์— ์ถ”๊ฐ€ํ•ด ๋ณด์„ธ์š”.

[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh

๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ƒํ•˜๊ฒŒ๋„ chsh -s /bin/zsh ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ์…ธ์„ ๋ณ€๊ฒฝํ–ˆ๋Š”๋ฐ ํ„ฐ๋ฏธ๋„์„ ์—ด ๋•Œ ์ƒˆ zsh ์„ธ์…˜์— ์„ฑ๊ณต์ ์œผ๋กœ ๋กœ๊ทธ์ธํ–ˆ์ง€๋งŒ echo $SHELL ํ•˜๋ฉด /bin/bash ๋ฉ๋‹ˆ๋‹ค.

Homebrew ๊ณต์‹์ด ์ตœ๊ทผ์— ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์„ค์น˜ํ•˜์—ฌ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‹ค์‹œ ์„ค์น˜ํ•ด๋„ ๋ฌธ์ œ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์‹ค์ œ๋กœ์ด ๋ฌธ์ œ๋„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ... zsh๋Š” ๊ธฐ๋ณธ๊ฐ’์ด๊ณ  'autojump'๋Š” ์ž‘๋™ํ•˜์ง€๋งŒ 'j'๋Š” ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์„ค์น˜ํ–ˆ๋Š”๋ฐ ์•„๋ฌด ์†Œ์šฉ์ด ์—†์Šต๋‹ˆ๋‹ค. .zshrc ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์˜ ๊ฒฐ๊ณผ:
autojump: ๋””๋ ‰ํ† ๋ฆฌ ''์„(๋ฅผ) ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค
์ž์„ธํ•œ ๋‚ด์šฉ์€ autojump --help ๋ฅผ) ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค.

maxwerr์—์„œ๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

/bin/zsh

๋‚ด .zshrc์— ์ด๊ฒƒ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh

j๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ:

autojump: directory '' not found
Try `autojump --help` for more information.

๋‚˜๋Š” ์˜ค๋žซ๋™์•ˆ autojump๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ๊ณ  ํ•ญ์ƒ ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ๋ชจ๋“  ํ™ˆ๋ธŒ๋ฅ˜ ํ•ญ๋ชฉ์„ ๋Œ€๋Œ€์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ–ˆ๋Š”๋ฐ ์œ„์—์„œ ์„ค๋ช…ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. \ brew --prefix /etc/ ๋ฅผ ํŒŒํ—ค์ณ์„œ ์ผ๋ฐ˜ ์‹คํ–‰ ํŒŒ์ผ( autojump ) ๋Œ€์‹  ์ด์ œ ๊ฐ ์œ ํ˜•์˜ ์…ธ( autojump.sh , autojump.zsh , autojump.fish , autojump.bash ). .zshrc ํŒŒ์ผ์—์„œ ์„ค์ • ๋ผ์ธ์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ๋‚˜๋ฉด(๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด) ํ›Œ๋ฅญํ•˜๊ฒŒ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

[[ -s `brew --prefix`/etc/autojump.zsh ]] && . `brew --prefix`/etc/autojump.zsh

ํŠธ๋ฆญ์€ zsh๋ฅผ ๊ธฐ๋ณธ ์‰˜๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— zsh ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ด ๋ฌธ์ œ๋ฅผ ์ ‘ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋ช…ํ™•ํžˆ ํ•˜๊ธฐ ์œ„ํ•ด ํ•ญ์ƒ ์—ฌ๋Ÿฌ ๋ž˜ํผ ์…ธ ํŒŒ์ผ( autojump.bash , autojump.zsh ๋“ฑ)์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ autojump.sh ๋Š” ์‹ค์ œ๋กœ ์‚ฌ์šฉ ์ค‘์ธ ์‰˜์„ ์ง€๋Šฅ์ ์œผ๋กœ ํŒŒ์•…ํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅธ ํŒŒ์ผ์„ ๋กœ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@jbranchaud : autojump.sh ์˜ ๋™์ž‘์ด ๋น„๊ต์  ์ตœ๊ทผ์— ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. autojump.sh ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋กœ๋“œํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ ์ค‘์ธ autojump ๋ฒ„์ „์œผ๋กœ ํ‹ฐ์ผ“์„ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๊ฒƒ์„ .zshrc์— ์ถ”๊ฐ€ํ•ด ๋ณด์„ธ์š”.

[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจํ•˜๋น„, zsh 5.3, ์ž๋™ ์ ํ”„ 22.5.3

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