标签: ansi-term

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
查看次数

Emacs:使用Mx ansi-term运行的默认二进制文件

有没有办法让Emacs在运行时默认提示我选择的二进制文件M-x ansi-term.它总是要求我,/bin/zsh但我有一个新的安装zsh在不同的路径.

或者,让Emacs在我键入时运行我想要的二进制文件会很棒 M-x my-ansi-term

emacs zsh ansi-term

11
推荐指数
1
解决办法
2184
查看次数

Emacs ansi-term最大缓冲区大小?

我喜欢使用Emacs ansi-term模式运行shell程序,但我想知道如何在ansi-term模式下设置最大缓冲区大小,所以即使有很多行,我也不会丢失命令历史记录?(谷歌似乎没有给出明显的答案.)

emacs ansi-term

11
推荐指数
1
解决办法
1788
查看次数

调整Emacs中的终端大小

假设我有一个运行M-x ansi-term缓冲区(例如运行zsh)的Emacs窗口(即Emacs称之为框架的细分),其~500宽度为像素宽.然后我运行几个shell命令,输出被包装以适应这些500像素.

假设我现在使这个窗口或缓冲区更宽(例如1000像素),可能是因为我杀死了框架中的其他窗口,为我的ansi-term窗口提供了更多空间.

有没有办法让我的ansi-term窗口中的旧输出调整大小以利用新的窗口大小?(即根据新窗口大小制作更宽的线条并重新包装它们)?

emacs shell ansi-term

9
推荐指数
1
解决办法
1080
查看次数

eterm-color:未知的终端类型

ansi-termEmacs 的终端中,当我ssh到特定的远程主机时,终端无法正确识别,我收到错误:

'eterm-color': unknown terminal type.
Run Code Online (Sandbox Code Playgroud)

我添加export TERMINFO=~/.terminfo.bashrc远程计算机上,我在远程计算机上尝试了以下内容:

cp -r /usr/share/emacs/21.4/etc/e ~/.terminfo
Run Code Online (Sandbox Code Playgroud)

为了以防万一,我还尝试将我自己的本地副本/etc/e(Emacs 24.3)复制到~/.terminfo远程计算机上.

此外,如果它很重要,如果我尝试infocmp远程机器,我得到:

>infocmp
infocmp: couldn't open terminfo file /usr/share/terminfo/e/eterm-color.
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

unix emacs terminal emacs24 ansi-term

8
推荐指数
1
解决办法
2424
查看次数

mercurial颜色扩展的有效颜色是什么?

Mercurial的color 扩展很棒,但是在该页面上没有列出有效颜色的列表.我找了一个名为color的python文件,希望我能够阅读源代码并在那里看到它,但没有运气.我希望使用灰色或浅灰色作为颜色,但它无效.灰色(或灰色)似乎很可能是颜色列表中的颜色.

我在哪里可以找到color扩展名的有效颜色列表?或者我在哪里可以找到color扩展的来源?

mercurial colors ansi-term

6
推荐指数
1
解决办法
1129
查看次数

修改Emacs中的ansi-term颜色

下面红色椭圆中的文字很难阅读

                     在此输入图像描述

当我用C-u C-x =(哪个脸)检查脸部时,我看到以下内容:

在此输入图像描述

所以我去更新脸部term-bold(见下文),但颜色似乎与我在屏幕上面实际得到的颜色不一致(根据脸部定义,它应该是蓝色+黄色).有什么想法吗?

在此输入图像描述

emacs terminal colors ansi-escape ansi-term

6
推荐指数
1
解决办法
2120
查看次数

在emacs中使用ansi-term时出现换行符的问题

我试图在emacs中使用ansi-term(配置为tcsh shell).我看到显示换行符的一些问题.如果我从终端(ansi-term)尝试以下操作,我会得到正确的输出:

myterm > echo "Line1"; echo "Line2"; echo "Line3";    
Line1
Line2
Line3
myterm >
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试在shell脚本中添加相同的行并尝试从ansi-term执行脚本,则输出错误

脚本:(测试)

#!/usr/bin/env tcsh
echo "Line1"; echo "Line2"; echo "Line3";
Run Code Online (Sandbox Code Playgroud)

运行脚本(测试):

myterm > ./test
Line1
     Line2
          Line3
               myterm >
Run Code Online (Sandbox Code Playgroud)

注意:/ usr/bin/env tcsh指向正确的shell(它与我在调用ansi-term时使用的shell相同).从gnome-terminal执行脚本也会显示正确的输出.我也试过设置以下变量,但它没有解决我的问题:

(set-terminal-coding-system 'utf-8-unix)
(setq default-process-coding-system '((utf-8-unix . utf-8-unix)))
Run Code Online (Sandbox Code Playgroud)

emacs shell terminal tcsh ansi-term

6
推荐指数
1
解决办法
982
查看次数

在ansi-term中使用ssh时,Shell会提示重复

当我使用SSH从emacs中的ansi-term会话登录到Ubuntu 12.04计算机时,提示显示错误:

0;ubuntu@jumplin: ~ubuntu@jumplin:~$
Run Code Online (Sandbox Code Playgroud)

这应该如下所示:

ubuntu@jumplin:~$
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些关于utf-8和颜色支持的建议,但它们似乎没有工作(颜色目前在ansi-term中工作正常):

emacs中ansi-term中的奇怪字符

我认为它可能与不受支持的ansi转义代码或类似的东西有关,但我不确定 - 此终端会话的PS1的值是:

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
Run Code Online (Sandbox Code Playgroud)

任何建议都会非常感激:)当终端会话中出现奇怪的角色时,我似乎总是有点失落.

emacs ansi-term

5
推荐指数
1
解决办法
1053
查看次数

无法将SIGINT(Cc Cc)发送到在ansi-term中运行的进程

在Emacs中,有时我会用shell启动一个shell ansi-term,然后从这个shell中运行IPython(另一个shell),它进入一个长循环打印一个长而长的输出.

当发生这种情况时,我经常想发送SIGINT以停止运行IPython的脚本,但有时这需要花费太长时间才能捕获IPython Ctrl+C Ctrl+C(有时IPython似乎永远不会听它).有趣的是,当我从常规终端运行它时,似乎不会发生这种情况.

为什么会这样?它是Emacs还是IPython问题?

emacs ipython ansi-term

5
推荐指数
0
解决办法
1446
查看次数

标签 统计

ansi-term ×10

emacs ×9

terminal ×4

colors ×2

shell ×2

zsh ×2

ansi-escape ×1

emacs24 ×1

ipython ×1

mercurial ×1

tcsh ×1

unix ×1