Fasd: μžμ • μ§€νœ˜κ΄€μ—μ„œλŠ” μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2014λ…„ 09μ›” 22일  Β·  6μ½”λ©˜νŠΈ  Β·  좜처: clvv/fasd

mc(co μ‚¬μš©)μ—μ„œ μ‰˜λ‘œ λ‹€μ‹œ μ ν”„ν•œ λ‹€μŒ fasdλ₯Ό μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€.

$ z 32
fasd:4: unknown file attribute: _

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

_fasd_preexec() μž¬μ •μ˜λ‘œ 이 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€. μ•ˆλΆ€ @fcelda

.zshrcμ—μ„œ

if ps $PPID |grep -q mc; then
    _fasd_preexec () {
        fasd --proc "$(fasd --sanitize "$1")"
    }
endif

λ˜ν•œ fasd fasd_cd λ₯Ό μž¬μ •μ˜ν•˜λ©΄ λΆ€λΆ„μ μœΌλ‘œ μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ fasd κΈ°λŠ₯만 μ†μƒλ©λ‹ˆλ‹€. z , zz 와 같은 λͺ¨λ“  별칭이 μž‘λ™ν•©λ‹ˆλ‹€.

μΆ”μ‹ : README.md에 이 정보가 ν•„μš”ν•©λ‹ˆκΉŒ?

λͺ¨λ“  6 λŒ“κΈ€

같은 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. μ–΄λ–€ 이유둜 MC 터미널에 fasd() ν•¨μˆ˜κ°€ μ •μ˜λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 그것이 μ–΄λ–»κ²Œ 거기에 λ„μ°©ν–ˆλŠ”μ§€ λͺ¨λ₯Έλ‹€.

% which fasd
fasd () {
    pwd 7 kill -STOP precmd_functions+=(_mc_precmd)
}

κΈ°λŠ₯을 μ œκ±°ν•˜λ©΄ λ¬Έμ œκ°€ ν•΄κ²°λ©λ‹ˆλ‹€.

% unset -f fasd
% which fasd
/usr/bin/fasd
% z tmp <tab>
/tmp  /home/fcelda/tmp

_fasd_preexec 훅이 _mc_precmd ν›…κ³Ό μΆ©λŒν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. ν•΄κ²° 방법을 찾을 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

이것은 ν˜„μž¬μ˜ fasd ν›„ν¬μž…λ‹ˆλ‹€:

% which _fasd_preexec 
_fasd_preexec () {
    {
        eval "fasd --proc $(fasd --sanitize $1)"
    } >> "/dev/null" 2>&1
}

그리고 이것은 MC ν›„ν¬μž…λ‹ˆλ‹€.

% which _mc_precmd 
_mc_precmd () {
    pwd >&7
    kill -STOP $$
}

_fasd_preexec μ—μ„œ 디버깅을 μ œκ±°ν•˜μ—¬ μž‘λ™ν•˜κ²Œ ν–ˆμŠ΅λ‹ˆλ‹€.

% which _fasd_preexec
_fasd_preexec () {
    fasd --proc "$(fasd --sanitize "$1")"
}

이 문제λ₯Ό μ˜¬λ°”λ₯΄κ²Œ μˆ˜μ •ν•˜λŠ” 방법을 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. μ€‘κ΄„ν˜Έλ₯Ό κ΄„ν˜Έλ‘œ λ°”κΎΈλŠ” 것도 νš¨κ³Όκ°€ μžˆμ—ˆμ§€λ§Œ ν•˜μœ„ 셸을 μ‹€ν–‰ν•˜λŠ” 것이 ν•„μš”ν•œμ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

방금 같은 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. _fasd_preexec μž¬μ •μ˜λ₯Ό μ‹œλ„ν–ˆμ§€λ§Œ μ„±κ³΅ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.

_fasd_preexec() μž¬μ •μ˜λ‘œ 이 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€. μ•ˆλΆ€ @fcelda

.zshrcμ—μ„œ

if ps $PPID |grep -q mc; then
    _fasd_preexec () {
        fasd --proc "$(fasd --sanitize "$1")"
    }
endif

λ˜ν•œ fasd fasd_cd λ₯Ό μž¬μ •μ˜ν•˜λ©΄ λΆ€λΆ„μ μœΌλ‘œ μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ fasd κΈ°λŠ₯만 μ†μƒλ©λ‹ˆλ‹€. z , zz 와 같은 λͺ¨λ“  별칭이 μž‘λ™ν•©λ‹ˆλ‹€.

μΆ”μ‹ : README.md에 이 정보가 ν•„μš”ν•©λ‹ˆκΉŒ?

@ezh ReadMe 에 이것을 ν¬ν•¨ν•˜λŠ” 것이 쒋을 것이라고 μƒκ°ν•©λ‹ˆλ‹€.

이 였λ₯˜λŠ” κ°€λŠ₯ν•œ λͺ¨λ“  ν”Œλž«νΌμ—μ„œ μ €λ₯Ό ν™˜μ˜ν•˜λ―€λ‘œ μ™„λ£Œλ₯Ό ν”Όν•˜κΈ° μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€. Readme에 μΆ”κ°€ν•΄μ•Ό ν•©λ‹ˆλ‹€. μˆ˜μ •μ΄ μžˆμ–΄μ„œ λ‹€ν–‰μž…λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰