我試圖使用Emacs作爲Julia的集成計算環境& Python。 ESS
(Emacs Speaks Statistics)是我用來交互發送REPL評估選定代碼的插件。Emacs終端列寬(茱莉亞/ python外殼)
C-c C-c
選擇代碼,並開始Julia
解釋首次組合使用,在後續執行它使用現有Julia
會話。
我面臨的挑戰是Julia
的終端窗口(即使是Python
也是如此)出於某種原因僅使用80 columns
作爲輸出。
例如,如果在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的外殼M-x shell
內Julia
會話,甚至將導致80列包裝。
但是,如果我在Julia
會話中執行的相同代碼將在正常Mac OSX Terminal
內運行,將會正確使用終端的整個寬度。
解決方法/潛在的罪魁禍首
如果我執行上stty size
我OS X Terminal
我得到這代表我的終端例如24 157
的實際大小適當的輸出。
但是如果我在Emacs shell裏執行stty size
M-x shell
我得到0 0
。不管Emacs窗口的大小是什麼,Emacs裏的stty
的結果總是0 0
。
當我手動更改stty
設置,比如說stty rows 24 cols 160
,然後執行julia
我能夠從julia獲得我的輸出以消耗全部160列。
問題
- 我怎樣才能讓Emacs的動態調整的stty(設置)或任何機構,將給予預期的結果。
- 如果#1是不可能的,這是一個妥協,我必須處理的是可以在.emacs文件中設置靜態stty設置,默認情況下會使用它。
我甚至在Linux機器(CentOS)上試過這個,我也有同樣的問題。
感謝您的幫助。