2013-06-01 29 views
0

於是我把ssh放到這個舊盒子裏,我們已經在工作了,似乎從來沒有人試過用過它之前的Vi。當我嘗試在vi中打開一個文件時,我所得到的只是該文件的一行,並且它(視覺上)終止了該文件。Vi只使用一行終端

full terminal

relevant terminal

ssh從Mac荷蘭國際集團的,如果讓不同的(但其他服務器我ssh到工作的罰款)。

當我運行uname -a時,得到:Linux dev 2.6.32.27-grseC#5 SMP Thu Dec 30 01:24:01 PST 2010 i686 unknown unknown GNU/Linux。我正在使用bash,但如果別的東西能起作用,我就會全神貫注。

這必須有其他人發生,我錯過了什麼設置導致這個問題?

謝謝!

UPDATE:經過評論研究後,我發現這只是vi的問題,而不是vim。所以這就引出了問題,這是否與vi(而不是vim)和當前的ssh/terminal/shells不兼容,還是其他事情正在進行?

已解決:這是一個回車 - >新行問題,舊的vi沒有正確處理。使用參數運行stty可將回車轉換爲允許vi正常工作的新行。希望能幫助那些無法升級到vim的人。

+2

運行'which vi'或'type vi'的結果是什麼? –

+0

聽起來你的TERM變量設置錯了。 – FDinoff

+0

當你在它的時候做'vi --version'。這看起來像古老的東西。 – glts

回答

2

貓王(或vi)可能是由終端的屬性控制的。我的猜測是vi會開始工作,如果你stty onlcr。請參見How to toggle CR/LF in gnu screen?

+0

謝謝@cforbish。我的stty版本沒有'onclr'作爲參數,但它確實有'icrnl',它將回車換成換行符,這絕對是問題所在。希望這有助於一些不幸升級他的vi版本的不幸靈魂。 – xbakesx

+0

作爲此答案的附錄,在QNX上運行時,onclr或icrnl都不存在。我的問題的解決方案是將$ TERM從xterm-256更改爲qansi。希望這可以幫助某個人。 – Fields

1

Elvis是舊的vi克隆(2.2.0在2003年發佈),以前隨附一些發行版以提供UNIX標準所需的vi命令。

我有從來沒有使用它,我認爲很少有直接的經驗與貓王仍然使用它,所以你在這裏得到一個權威的答案的機會是相當渺茫。

你可以做的一件事是讀取$ man elvis或012her並且看看Elvis是否啓動了一些特定的參數,使它與vi兼容。或者看看它是否可以使用特定參數啓動,使其更加可行。

無論如何,vi和elvis(無論是老的還是完全死的或者沒有積極維護的)都不能爲Vim舉辦一個蠟燭。如果你打算在這臺機器上做任何認真的工作,我建議你安裝一個最新的Vim(最新的穩定版本是7.3),並忘記所有關於貓王。