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๊ฐ ์๋ํ๋์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง, ๊ทธ๋ ๊ฒ ๋ง์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ฌด์ ๋๋ฌธ์ ๋๋ค. ๋ฒ๊ทธ๊ฐ ์๊ฑฐ๋ ๋๊ตฐ๊ฐ ๋์ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉดํ์ ์ ์์ต๋๋ค. ๋์์ด ๋ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
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
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๊ฒ์ .zshrc์ ์ถ๊ฐํด ๋ณด์ธ์.