Frage

Ich verwende vim (7.1) auf OpenVMS V7.3-2.

ich VMS verbinden Trog eine Telnet-Sitzung mit Smartterm, ein Terminal-Emulator.

Es funktioniert gut.

Aber wenn ich eine Telnet-Sitzung von einer VMS-Sitzung (verbunden über Smartterm) zu einer anderen VMS-Sitzung starte, werden einige Tasten nicht richtig funktionieren.

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

Einfügen, Löschen, Start, Ende, PageUp und BildAb sind wie ~ im normalen Modus (upcase in Kleinbuchstaben oder umgekehrt)

Jede Idee?

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

Bearbeiten

Ich habe erkannt, dass ich nicht erwähnen, dass die zweite telneted Sitzung auf derselben VMS-Box ist.

ich tue, weil ich brauche von einem anderen Benutzer etwas mit Rechten tun.

War es hilfreich?

Lösung

Zusätzlich zu Zwicken, die Terminal-Emulation verwendet wird, ist es auch eine gute Idee, vim Tastenanschläge für die Aktionen zu erfahren, die Sie ausführen versuchen. Diese sind zuverlässiger und hängen nicht von dem Terminal oder der Tastatur. Zum Beispiel:

  • Einfügen: i
  • Home: ^ geht zum ersten Nicht-Leerzeichen Zeichen, 0 geht an ersten Spalte immer
  • Ende: $
  • PageUp, Bild ab: ctrl-u, ctrl-d eine halbe Seite in einer Zeit bewegen

Andere Tipps

Ich habe ähnliche Probleme erfahren, während eine staubige alte Solaris-Box wieder zu beleben. Ich war zu faul zu suchen, wie ich meinen t_ setzen sollte ... Variablen richtig, so dass ich neu zugeordnet, die fehlerhaften Terminal Escape-Sequenzen statt:

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

Wenn Sie Setup dieses verdammte Ding will Recht, RTFMing könnte essen ganz einige Nerven und Zeit:

:h terminal-options

In der Regel ist dies, weil die Terminal-Emulation - so wird etwas die richtigen Tasten durch nicht vorbei. Es ist im Alter her, dass ich das getan habe, aber suchen Sie nach Sachen wie VT-100 und dergleichen. Ich bezweifle es ist spezifisch für vim, entweder:)

Leider kann ich nicht mehr helfen.

Die erste Frage ist einfach: Was Sie vor sitzen von? Sind Sie wirklich auf der Konsole eines VAX oder Alpha läuft OpenVMS? Meine Vermutung ist die Antwort nein ist.

Im unwahrscheinlichen Fall, dass die Antwort Ja lautet, geben Sie einfach:

$ SHOW TERMINAL

und stellen Sie sicher, dass die Variable TERM auf dem Remote-UNIX-Host dies entspricht genau.

Wenn meine Vermutung richtig ist und Sie sitzen vor einem PC oder einem Mac eine Art von Terminal-Emulator wie PuTTY oder Terminal läuft, dann müssen Sie Ihre Software Möglichkeiten erkunden, um sicherzustellen, dass das Terminal es emuliert ist korrekt reflektiert sowohl in der Weltsicht des VMS-System und die der Remote-UNIX-Host.

Sobald Sie herausgefunden haben, welche Art von Terminal Sie emulieren, verwenden Sie den Befehl VMS oben wieder auf dem VMS-System Sie verbunden sind, um sicherzustellen, dass es eine Übereinstimmung gibt.

Wenn nicht, korrigieren Sie einfach die Situation, indem Sie:

$ SET TERMINAL / DEVICE = (Ihr Name termainal - zum Beispiel VT100)

und dann stellen Sie sicher, dass TERM auf der Remote-UNIX-Host übereinstimmt, was das VMS-System eingestellt ist.

Wenn Sie all dies tun, sollte alles funktionieren.

Zusätzlich zu wie auf env Variablen auf Endgerät-Kompatibilität, eine Spitze auf dem Telnet-Client selbst könnten nützlich sein:

Vor dem üblichen Esc Kombination Verwendung Ctrl + [z.B. beenden vim

Ctrl+[ Esc :q!
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top