我正在尝试将Emacs作为Julia和Python的集成计算环境。我使用插件ESS(Emacs Speaks Statistics)来交互地发送选定的代码进行REPL评估。
按下“C-c C-c”键选择代码并启动Julia解释器,第一次使用该组合键时会启动Julia解释器,在后续的执行中它会使用现有的Julia会话。
我面临的挑战是Julia的终端窗口(即使是Python也是如此)出于某种原因仅使用80个字符的输出。例如,如果在Julia会话内执行以下代码,则会将DataFrame df打印为三个分组,这些分组在80列处换行。即使我的窗口大小可以轻松处理超过200个字符。
我甚至尝试手动在 Emacs shell
但是,如果我在普通的
解决方法 / 潜在原因
如果在我的
但是,如果我在 Emacs shell
当我手动更改
问题
1.如何使 Emacs 动态调整 stty 或其他设施以获得预期结果?
2.如果 #1 不可行并且我必须处理此问题,是否可以在 .emacs 文件中设置静态的 stty 设置,以便默认使用?
我在 Linux 机器(CentOS)上尝试了这种方法,发现也存在相同的问题。
感谢您的帮助。
按下“C-c C-c”键选择代码并启动Julia解释器,第一次使用该组合键时会启动Julia解释器,在后续的执行中它会使用现有的Julia会话。
我面临的挑战是Julia的终端窗口(即使是Python也是如此)出于某种原因仅使用80个字符的输出。例如,如果在Julia会话内执行以下代码,则会将DataFrame df打印为三个分组,这些分组在80列处换行。即使我的窗口大小可以轻松处理超过200个字符。
using DataFrames
df=readtable("../../data/titanic/data/train.csv")
julia> df[1:2, :]
2x12 DataFrame
| Row | PassengerId | Survived | Pclass |
|-----|-------------|----------|--------|
| 1 | 1 | 0 | 3 |
| 2 | 2 | 1 | 1 |
| Row | Name | Sex |
|-----|-------------------------------------------------------|----------|
| 1 | "Braund, Mr. Owen Harris" | "male" |
| 2 | "Cumings, Mrs. John Bradley (Florence Briggs Thayer)" | "female" |
| Row | Age | SibSp | Parch | Ticket | Fare | Cabin | Embarked |
|-----|------|-------|-------|-------------|---------|-------|----------|
| 1 | 22.0 | 1 | 0 | "A/5 21171" | 7.25 | NA | "S" |
| 2 | 38.0 | 1 | 0 | "PC 17599" | 71.2833 | "C85" | "C" |
我甚至尝试手动在 Emacs shell
M-x shell
中启动 Julia
会话,但仍然存在每行80个字符的问题。但是,如果我在普通的
Mac OSX 终端
中运行正在运行的 Julia
会话中执行相同的代码,则可以正确使用终端的整个宽度。解决方法 / 潜在原因
如果在我的
OS X 终端
上执行stty size
,则会得到正确的输出,这代表我的终端的实际大小,例如24 157
。但是,如果我在 Emacs shell
M-x shell
中执行 stty size
,则会得到0 0
。无论 Emacs 窗口的大小如何,stty
在 Emacs 中的结果始终为 0 0
。当我手动更改
stty
设置时,比如说 stty rows 24 cols 160
,然后执行julia
,我可以使 Julia 的输出占用全部 160 列。问题
1.如何使 Emacs 动态调整 stty 或其他设施以获得预期结果?
2.如果 #1 不可行并且我必须处理此问题,是否可以在 .emacs 文件中设置静态的 stty 设置,以便默认使用?
我在 Linux 机器(CentOS)上尝试了这种方法,发现也存在相同的问题。
感谢您的帮助。