2008-10-31 59 views
2

我在OpenVMS V7.3-2上使用vim(7.1)。爲什麼vim無法正常工作到telnet會話?

我通過SmartTerm(終端仿真器)通過Telnet會話連接到VMS。

它工作正常。

但是,當我從VMS會話(通過SmartTerm連接)到另一個VMS會話啓動Telnet會話時,某些密鑰無法正常工作。

|--------------| telnet |-------------| telnet |-----------------| 
| Smartterm | ------> | VMS, Vim OK | ------> | VMS, Vim broken | 
|--------------|   |-------------|   |-----------------| 

插入,刪除,HOME,END PageUp鍵和PageDown都喜歡〜在正常模式(upcase爲小寫或反之亦然)

任何想法?

=============================================

編輯

我剛纔意識到我沒有提到第二個Telneted會話是在同一個VMS盒子上。

我這樣做是因爲我需要從另一個用戶的權利做些事情。

+0

你說:「但是當我從VMS會話啓動telnet會話時,有些密鑰無法正常工作。」這是否意味着:您在Windows上啓動了SmartTerm,連接到VMS,然後在別的地方遠程登錄,然後運行vim? Telnet到什麼樣的系統? – 2008-10-31 21:48:52

回答

1

除了調整使用哪種終端仿真之外,學習vim針對您嘗試執行的操作的擊鍵也是一個不錯的主意。這些更可靠,不依賴於終端或鍵盤。例如:

  • 插入:我
  • 首頁:^進入第一個非空格字符,0到第一列始終
  • 結束:$
  • 上一頁,下一頁末:CTRL-U,CTRL -d一次移動半頁
+0

同意:-) 但壞習慣難以忘記。 謝謝 – 2008-10-31 17:33:12

+0

^和$在插入模式下不工作...但是首頁和結束都是這樣。不得不擊中esc,$,我的工作量只有擊中End的三倍。與箭頭鍵相同,在插入模式下不能使用hjkl。 – davr 2008-10-31 17:41:22

+1

對於大多數用戶來說不是問題,因爲您應該改變自己的習慣,以便在插入模式下唯一做的事情實際上就是插入。 – ephemient 2008-10-31 18:37:08

0

通常這是因爲終端仿真 - 所以有些東西沒有通過正確的鍵通過。自從我做完這些以來,這已經過去了很長時間,但是尋找像VT-100之類的東西。我懷疑這是具體的vim,要麼:)

對不起,我不能更多的幫助。

0

第一個要問的問題很簡單:你坐在什麼前面?你真的在運行OpenVMS的VAX或Alpha的控制檯上嗎?我的猜測是答案是否定的。

萬一答案是肯定的,只要輸入:

$ SHOW TERMINAL

,並確保遠程UNIX主機上的TERM變量匹配這個準確。

如果我的猜測是正確的,並且您坐在PC或運行某種終端模擬器(如PuTTY或終端)的Mac前面,那麼您需要探索軟件的選項以確保其模擬的終端正確體現在VMS系統的世界觀和遠程UNIX主機的世界觀中。

一旦你找出了你正在模擬的終端類型,在你連接的VMS系統上再次使用上面的VMS命令來確保匹配。

如果沒有,只需鍵入正確的情況:

$ SET TERMINAL/DEVICE =(您termainal的名字 - 例如VT100)

,然後確保遠程UNIX主機上的TERM匹配什麼VMS系統設置爲。

一旦你做到了這一切,一切都應該正常工作。

1

我在遇到類似的問題時復活了一個塵土飛揚的老式Solaris盒子。我才懶得尋找我應該如何正確設置我的t_ ......變量,所以我重新映射故障終端轉義序列來代替:

:map xxx 0   (press <C-v><Home> in place of xxx) 
:map xxx <C-b>  (press <C-v><PgUp> in place of xxx) 
... etc 

如果你想設置正確的這該死的東西,RTFMing不妨多吃一些相當神經和時間:

:h terminal-options 
0

除了如何設置ENV上終端設備兼容性變量,Telnet客戶端上的末端本身可能是有用的:

通常Esc鍵之前組合使用Ctrl + [,例如退出vim

Ctrl+[ Esc :q! 
相關問題