小编Ste*_*eve的帖子

Emacs多项无法正确显示特殊字符

这很奇怪.我在下面定义了以下提示zsh:

local user_host='%{$terminfo[bold]$fg[green]%}%n @ %m%{$reset_color%}'
local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}'
local git_branch='$(git_prompt_info)%{$reset_color%}'
local return_code="%(?..%{$fg[red]%}%? ?%{$reset_color%})"

PROMPT="??${user_host} %D{[%a, %b %d %I:%M:%S]} ${current_dir} ${git_branch}
??%B$%b "
RPS1="${return_code}"
Run Code Online (Sandbox Code Playgroud)

它在Emacs()gnome-terminal中的ansi-term终端以及终端中运行良好M-x ansi-term- 请参阅下面的示例:

提示示例gnome-terminal/ansi-term

但是,它multi-term在Emacs 下运行不正常,如下所示:

提示示例多学期

我认为multi-term能够解释终端喜欢gnome-terminalansi-term做的同一组转义字符 .为什么不git-prompt_info正确解释由其他人返回的转义字符?

我也尝试过:

  • M-x set-terminal-coding-system 并将其设置为 utf-8-unix
  • TERM=eterm-color 在多学期终端内,或在致电Emacs之前,等等.
  • TERM= 在多学期终端内,或在致电Emacs之前,等等.
  • 删除任何export TERM我的.zshrc

更新(2014年1月29日):

到目前为止,最好的解决方案似乎是执行以下操作:

TERM=xterm-256color

但是导致我在这里报告的另一个问题:在Emacs中将转义序列传递给ansi-term中的shell.

emacs terminal zsh ansi-term

52
推荐指数
1
解决办法
2609
查看次数

清除Scala语法"将可选值附加到Seq(如果存在)"

我经常看到这两种模式用于向Seq附加一个Optional值:

def example1(fooList: Seq[Foo], maybeFoo: Option[Foo]): Seq[Foo]) = {
  if (maybeFoo.isDefined)
    fooList :+ maybeFoo.get
  else
    fooList
}

def example2(fooList: Seq[Foo], maybeFoo: Option[Foo]): Seq[Foo]) = {
  maybeFoo match {
    case Some(foo) => fooList :+ foo
    case None => fooList
  }
}
Run Code Online (Sandbox Code Playgroud)

这两种方法都有效,但它们看似冗长和丑陋.是否有现有的操作员或方法可以更自然地/功能性地完成此操作?

谢谢!

functional-programming scala

7
推荐指数
2
解决办法
628
查看次数

标签 统计

ansi-term ×1

emacs ×1

functional-programming ×1

scala ×1

terminal ×1

zsh ×1