Fish-shell: emacs的ansi-term中的鱼有即时问题

创建于 2012-06-11  ·  16评论  ·  资料来源: fish-shell/fish-shell

在emacs的ansi-term(可能是在emacs中获得鱼的真正力量的唯一方法)下,提示如下:

2;鱼/ home / ahyatt2;鱼/ home / ahyatt
ahyatt @ahyatt /家庭/ ahyatt>

我的术语是eterm-color,这是ansi-term的标准。 提示中的某些默认ansi控制序列可能不太符合犹太标准。

bug release notes

最有用的评论

以上修复已结束。 新增:

function fish_title
  true
end

到〜/ .config / fish / config.fish在Emacs 24.1中为我修复了它

所有16条评论

在我报告此问题之后,我偶然发现这是在原始fish文档中记录的,修复方法是:echo'function fish_title; end'>〜/ .config / fish / config.fish

但是,这对我不起作用:

欢迎来到鱼,友好的互动外壳
键入helpB以获取有关如何使用鱼的说明
fish:未知函数“ fish_title”
fish:未知函数“ fish_title”
ahyatt @ahyatt〜 >

我有完全相同的问题,但使用iTerm。

“修复”对我也不起作用。

以上修复已结束。 新增:

function fish_title
  true
end

到〜/ .config / fish / config.fish在Emacs 24.1中为我修复了它

这是一个。

+1

@akrito谢谢! 这也对我有用。

鱼标题破解对我不起作用。 可能没有标题,但仍在更改磁贴中显示的文件夹(从iterm中查看时)

@SlightlyCyborg :如果您不使用鱼标题的东西,您是否使文件夹显示两次(并且仅显示一次)? 如果您在其他终端上使用它,是否可以使用?

iTerm与shell具有fish版本不是以iTER的$ TERM为条件的,并且仅将其列入黑名单。 默认情况下,此文件将另存为~/.iterm2_shell_integration.fish ,因此您可能希望查看删除该文件后会发生什么。

@faho我只在iterm上检查过它(原来它只是macs标准终端),以找出为什么我每次使用cd时仍然在emacs术语上打印出奇怪的行

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

是的,如果我从配置中删除了fish_title,那么我将在Mac Terminal应用程序上看到该文件夹​​出现两次。 在emacs术语中仍然发生相同的事情。

@SlightlyCyborg :运行此命令:

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

它会打印“ true”吗? 在这种情况下,这是VTE或Apple Terminal的_cwd报告。 由于您在可以处理此问题的终端中运行emacs,因此我们正在打印它,但是emacs随后对其进行了处理,因此该术语不再获得完整的序列(这是ansi-term的另一个限制)。

我们可能需要做苹果公司为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

如果用户使用的是VTE / Terminal.app,我将为CWD OSC添加$ INSIDE_EMACS检查并定义一个空的fish_title。 后者的原因是,如果我们不尝试提供自定义的终端(标题中两次没有路径,标题中有“ fish”两次),那么这些现代终端都将组成一个更好的标题-并且用户可以配置他们要使用的组件d喜欢在其终端内的终端首选项。

在Terminal.app之前和之后(如果需要,可以将Terminal.app配置为显示完整路径):
messy

cleaner

我被iTerm shell集成绊倒了。 我们也可以在鱼类部分的自述文件中提到这一点吗?

@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 等级