Fish-shell: рдПрдордПрд╕реАрдПрд╕ рдХреЗ рдПрдиреА-рдЯрд░реНрдо рдореЗрдВ рдордЫрд▓реА рдХреЗ рд╢реАрдШреНрд░ рдореБрджреНрджреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 11 рдЬреВрди 2012  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: fish-shell/fish-shell

Emacs рдХреЗ рдПрдПрдирдЖрдИ-рдЯрд░реНрдо (рд╢рд╛рдпрдж Emacs рдХреЗ рдЕрдВрджрд░ рдордЫрд▓реА рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╢рдХреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛) рдХреЗ рддрд╣рдд, рд╕рдВрдХреЗрдд рджрд┐рдЦрддрд╛ рд╣реИ:

2; рдордЫрд▓реА / рдШрд░ / рдЖрд╣рдЯ 2; рдордЫрд▓реА / рдШрд░ / рдЖрд╣рд┐рддрд╛рдд
ahyatt @ahyatt / home / ahyatt>

рдореЗрд░рд╛ рд╢рдмреНрдж рдИрдЯрд░рдо-рд░рдВрдЧ рд╣реИ, рдЬреЛ рдПрдиреА-рдЯрд░реНрдо рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рд╣реИред рд╕рдВрднрд╡рдд: рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ рдХреБрдЫ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдПрдирдПрд╕рдЖрдИ рдирд┐рдпрдВрддреНрд░рдг рдЕрдиреБрдХреНрд░рдо рдХрд╛рдлреА рдХреЛрд╖реЗрд░ рдирд╣реАрдВ рд╣реИрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЙрдкрд░реЛрдХреНрдд рдлрд┐рдХреНрд╕ рдХрд░реАрдм рд╣реИред рдЬреЛрдбрд╝рдирд╛:

function fish_title
  true
end

~ / .config / рдордЫрд▓реА / config.fish рдиреЗ рдЗрд╕реЗ Emacs 24.1 рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рддрдп рдХрд┐рдпрд╛

рд╕рднреА 16 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЬрдм рдореИрдВрдиреЗ рдпрд╣ рд╕реВрдЪрдирд╛ рджреА, рддрдм рдореИрдВрдиреЗ рдиреЛрдЯрд┐рд╕ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдореВрд▓ рдордЫрд▓реА рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдареАрдХ рд╣реИ: рдЗрдХреЛ 'рдлрд┐рд╢_рдЯрд┐рдЯреЗрд▓; рдПрдВрдб'> ~ / .config / рдордЫрд▓реА / config.fishред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:

рдордЫрд▓реА рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рджреЛрд╕реНрддрд╛рдирд╛ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЦреЛрд▓
рдордЫрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЗрд▓реНрдк рдмреА рдЯрд╛рдЗрдк рдХрд░реЗрдВ
рдордЫрд▓реА: рдЕрдЬреНрдЮрд╛рдд рдХрд╛рд░реНрдп "fish_title"
рдордЫрд▓реА: рдЕрдЬреНрдЮрд╛рдд рдХрд╛рд░реНрдп "fish_title"
ahyatt @ahyatt ~>

рдореИрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди iTerm рдХреЗ рд╕рд╛рдеред

'рдлрд┐рдХреНрд╕' рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдЙрдкрд░реЛрдХреНрдд рдлрд┐рдХреНрд╕ рдХрд░реАрдм рд╣реИред рдЬреЛрдбрд╝рдирд╛:

function fish_title
  true
end

~ / .config / рдордЫрд▓реА / config.fish рдиреЗ рдЗрд╕реЗ Emacs 24.1 рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рддрдп рдХрд┐рдпрд╛

рдпрд╣реА рддреЛ рд╣реИ рд╡реЛред

+1

@akrito рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд┐рдпрд╛ред

рдлрд┐рд╢ рдЯрд╛рдЗрдЯрд▓ рд╣реИрдХ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреЛрдИ рд╢реАрд░реНрд╖рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдЯрд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдмрджрд▓ рд░рд╣рд╛ рд╣реИ (рдЬрдм рдЗрд╕реЗ рдЗрдЯрд░реНрдорд╛ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ)

@SlightlyCyborg : рдпрджрд┐ рдЖрдк рдордЫрд▓реА рд╢реАрд░реНрд╖рдХ рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдлрд╝реЛрд▓реНрдбрд░ рджреЛ рдмрд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ (рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЗрд╕рдХреЗ рд╕рд╛рде)? рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рджреВрд╕рд░реЗ рдЯрд░реНрдорд┐рдирд▓ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

iTerm рдХрд╛ рдЧреЛрд▓реЗ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рдПрдХреАрдХрд░рдг рд╣реИ , рдФрд░ рдордЫрд▓реА рд╕рдВрд╕реНрдХрд░рдг $ TERM рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╕рд╢рд░реНрдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдмреНрд▓реИрдХ рд▓рд┐рд╕реНрдЯ рд╕реНрдХреНрд░реАрди рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдлрд╝рд╛рдЗрд▓ ~/.iterm2_shell_integration.fish рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреА рдЬрд╛рдПрдЧреА, рдЗрд╕рд▓рд┐рдП рдЖрдк рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рдЖрдк рдЗрд╕реЗ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред

@ рдлрд╝рд╛рд╣реЛ рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЗрд╕реЗ рдЗрдЯрд░реНрдо рдкрд░ рдЪреЗрдХ рдХрд┐рдпрд╛ (рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдореИрдХ рд╕реНрдЯреИрдВрдбрд░реНрдб рдЯрд░реНрдорд┐рдирд▓ рд╣реИ) рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореБрдЭреЗ рдЕрднреА рднреА рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ рд╕реАрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдерд╛, рддреЛ рдПрдордПрд╕реАрдПрд╕ рд╢рдмреНрдж рдкрд░ рдПрдХ рдЕрдЬреАрдм рд▓рд╛рдЗрди рдореБрджреНрд░рд┐рдд рд╣реЛ рд░рд╣реА рдереАред

7;file://Collins-MacBook-Air.local/Users/collinbell/dameon

рд╣рд╛рдВ, рдЕрдЧрд░ рдореИрдВ рдлрд┐рд╢_рдЯрд╛рдЗрдЯрд▓ рдХреЛ рдХреЙрдиреНрдлрд┐рдЧрд░ рд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдореИрдХ рдЯрд░реНрдорд┐рдирд▓ рдРрдк рдкрд░ рдлреЛрд▓реНрдбрд░ рджреЛ рдмрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдПрдХ рд╣реА рдмрд╛рдд рдЕрднреА рднреА emacs рдЕрд╡рдзрд┐ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

@SlightlyCyborg : рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВ:

    if test "$VTE_VERSION" -ge 3405 -o "$TERM_PROGRAM" = "Apple_Terminal"
        echo "True"
    end

рдХреНрдпрд╛ рдпрд╣ "рд╕рдЪ" рдЫрд╛рдкрддрд╛ рд╣реИ? рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ VTE рдпрд╛ Apple рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рд▓рд┐рдП _our_ cwd рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╣реИред рдЪреВрдБрдХрд┐ рдЖрдк рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ emacs рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ, рд╣рдо рдЗрд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди emacs рддрдм рдЗрд╕реЗ рдореИрдиреЗрдЬ рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд╢рдмреНрдж рдХреЛ рдЕрдм рдкреВрд░рд╛ рдЕрдиреБрдХреНрд░рдо рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ (рдлрд┐рд░ рднреА ansi-term рдХрд╛ рдПрдХ рдФрд░ рд╕реАрдорд╛)ред

рд╣рдореЗрдВ рд╡рд╣ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬреЛ Apple Emacs рдХреЗ рд▓рд┐рдП

/etc/bashrc_Apple_Terminal


# Working Directory
#
# Tell the terminal about the current working directory at each prompt.

if [ -z "$INSIDE_EMACS" ]; then
    update_terminal_cwd() {
    # Identify the directory using a "file:" scheme URL, including
    # the host name to disambiguate local vs. remote paths.

    # Percent-encode the pathname.
    local url_path=''
    {
        # Use LC_CTYPE=C to process text byte-by-byte. Ensure that
        # LC_ALL isn't set, so it doesn't interfere

https://gist.github.com/floam/f535842a16226e77d014d67bade2b2f3

рдореИрдВ CWD OSC рдХреЗ рд▓рд┐рдП $ INSIDE_EMACS рдЪреЗрдХ рдЬреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ VTE / Terminal.app рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рддреЛ рдПрдХ рдЦрд╛рд▓реА fish_title рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ рдпреЗ рдЖрдзреБрдирд┐рдХ рдЯрд░реНрдорд┐рдирд▓ рджреЛрдиреЛрдВ рдПрдХ рдЕрдЪреНрдЫреЗ рд╢реАрд░реНрд╖рдХ рдХреА рд░рдЪрдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдпрджрд┐ рд╣рдо рдПрдХ рдХрд╕реНрдЯрдо рдПрдХ (рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдХреЛрдИ рдкрде рджреЛ рдмрд╛рд░, рд╢реАрд░реНрд╖рдХ рдореЗрдВ "рдордЫрд▓реА" рджреЛ рдмрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ) - рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреМрди рд╕реЗ рдШрдЯрдХреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ ' d рдЯрд░реНрдорд┐рдирд▓ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдЕрдВрджрд░ рдЙрдирдХреЗ рдЯрд░реНрдорд┐рдирд▓ рдХреА рддрд░рд╣ред

Terminal.app рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ (рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдЖрдк рдкреВрд░реНрдг рдкрде рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП Terminal.app рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ):
messy

cleaner

рдореИрдВ iTerm рдЦреЛрд▓ рдПрдХреАрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдлрдВрд╕ рдЧрдпрд╛ред рд╣рдо рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдордЫрд▓реА рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд░реЗрдбрдореА рдореЗрдВ рднреА?

@rdrey : IIRC, iTerm рдЬрд╣рд╛рдЬреЛрдВ рдХрд┐, рддреЛ рдЖрдк рдЗрд╕реЗ рдЙрдирдХреЗ рд╕рд╛рде рд▓реЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдХрд▓ рд░рд╛рдд рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд▓рдд рд░реЗрдкреЛ рдореЗрдВ рдерд╛ред рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдореИрдВ https://github.com/syl20bnr/spacemacs/tree/master/layers/%2Btools/shell рдореЗрдВ рдПрдХ рдореБрджреНрджреЗ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд░рд╣рд╛ рдерд╛

рдореИрдВрдиреЗ iTerm2 рдХреЗ рдмрджрд▓реЗ PR рдмрдирд╛рдпрд╛ рд╣реИред (Https://github.com/gnachman/iterm2-website/pull/35)

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

badp picture badp  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rwz picture rwz  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pluckytree picture pluckytree  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

frankyan picture frankyan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

euclio picture euclio  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ