Fish-shell: emacsのansi-termの魚には迅速な問題があります

作成日 2012年06月11日  ·  16コメント  ·  ソース: fish-shell/fish-shell

emacsのアンチターム(おそらくemacs内で魚の本当の力を得る唯一の方法)では、プロンプトは次のようになります。

2;魚/ home / ahyatt2;魚/ home / ahyatt
ahyatt @ahyatt / home / ahyatt>

私の用語はeterm-colorで、これはansi-termの標準です。 おそらく、プロンプトのデフォルトのANSI制御シーケンスの一部は完全に一致していません。

bug release notes

最も参考になるコメント

上記の修正は近いです。 追加:

function fish_title
  true
end

〜/ .config / fish /config.fishにEmacs24.1で修正しました

全てのコメント16件

これを報告した後、これが元の魚のドキュメントに文書化されていることに気付きました。修正は次のとおりです。echo'functionfish_title; end '>〜/ .config / fish / config.fish

しかし、それは私にはうまくいきません:

フレンドリーなインタラクティブシェル、fishへようこそ
魚の使い方については、helpBと入力してください
fish:不明な関数「fish_title」
fish:不明な関数「fish_title」
ahyatt @ ahyatt〜 >

私はまったく同じ問題を抱えていますが、iTermに問題があります。

「修正」も私には機能しませんでした。

上記の修正は近いです。 追加:

function fish_title
  true
end

〜/ .config / fish /config.fishにEmacs24.1で修正しました

これが1つです。

+1

@akritoありがとう! これは私にとってもうまくいきました。

魚のタイトルハックは私にはうまくいきません。 タイトルがない可能性がありますが、タイルに表示されているフォルダーは変更されています(itermから表示した場合)

@SlightlyCyborg :魚のタイトルのものを使用しない場合、フォルダーは2回(そして1回だけ)表示されますか? 別の端末で使用する場合、動作しますか?

iTermはシェル、fishバージョンは$ TERMがiTermであることを条件とせず、画面をブラックリストに登録するだけです。 デフォルトでは、このファイルは~/.iterm2_shell_integration.fishとして保存されるため、削除するとどうなるかを確認することをお勧めします。

@faho itermでチェックしただけで(これはmacsの標準ターミナルであることがわかりました)、cdを使用するたびにemacstermに奇妙な線が印刷されていた理由を調べました。

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

はい、設定からfish_titleを削除すると、Macターミナルアプリにフォルダーが2回表示されます。 同じことがemacsの用語でも起こります。

@SlightlyCyborg :これを実行します:

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

「true」と表示されますか? その場合、これはVTEまたはAppleターミナルの_our_cwdレポートです。 これを処理できる端末でemacsを実行しているので、それを印刷していますが、emacsはそれをマングルして、用語が完全なシーケンスを取得しないようにします(ansi-termのもう1つの制限)。

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

CWDOSCの$ INSIDE_EMACSチェックを追加し、ユーザーがVTE / Terminal.appを使用している場合は、空のfish_titleを定義します。 後者の理由は、カスタムの端末を提供しようとしない場合(タイトルにパスが2回ない、タイトルに「魚」が2回)、これらの最新の端末はどちらもより良いタイトルを構成し、ユーザーはどのコンポーネントを構成できるかということです。 d端末設定内の端末のように。

Terminal.appの前後(必要に応じて、フルパスを表示するようにTerminal.appを構成できます):
messy

cleaner

私はiTermシェル統合につまずきました。 魚のセクションのreadmeでもそれについて言及できますか?

@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 評価