So ordnen Sie die Bild-Ab- und Bild-Auf-Tasten so zu, dass sie normal funktionieren

So ordnen Sie die Bild-Ab- und Bild-Auf-Tasten so zu, dass sie normal funktionieren

Wenn ich ein Dokument mit vioder öffne, kann ich mit den Tasten und vimnicht durch die Seite navigieren . Beim Drücken dieser Tasten verhält sich vim anscheinend ungewöhnlich und ändert die Groß-/Kleinschreibung der Buchstaben unter dem Cursor. Es dauert dann einige Sekunden, bis der Modus wieder aktiviert wird .Page UpPage Downinsert

Bitte lassen Sie mich wissen, wie ich diese Tasten zuordnen muss, damit ich beim Drücken reibungslos durch die Seiten blättern kann, genau wie bei Ctrl+ ( f/ b/ u/ d ).

Aktualisieren

Maschinen- und Vim-Informationen

$ cat /etc/*-release  
Red Hat Enterprise Linux Server release 5.5 (Tikanga)


$ vim --version
VIM - Vi IMproved 7.0 (2006 May 7, compiled Jun 12 2009 07:08:36)

Notiz

Ich verwende Putty, um eine Verbindung zu dieser Maschine herzustellen.

Antwort1

Aktualisieren:

Ich verwende Putty, um eine Verbindung zu diesem Computer herzustellen

Dann habe ich richtig geraten und meine folgende Antwort trifft wahrscheinlich zu.


Ursprüngliche Antwort:

Ihre Frage enthält nicht genügend Informationen, um Ihr Problem sicher zu beantworten. Während wir warten, möchte ich dem Publikum eine kleine Geschichte erzählen:

Der Terminalemulator und der Editor

Wenn Sie über einen XTerm-Emulator wie Putty auf einen Linux-Computer zugreifen, sendet Ihre Bild-auf-Taste vier Zeichen Escape [ 5 ~an das Linux-System.

Das Linux-System verarbeitet dies und leitet dann alle nicht ausgeführten Tastenanschläge an die Anwendung weiter.

Die Anwendung, vim, verwendet eine Systembibliothek (glaube ich), um Zeichenfolgen basierend auf dem Wert der Umgebungsvariablen TERM und dem entsprechenden Eintrag interminfo

Wenn terminfo „PgUp“ (oder eine andere Taste) nicht als definiert Escape [ 5 ~, verarbeitet Vim die vier Zeichen (wahrscheinlich) einzeln.

"Viele Cursortastencodes beginnen mit einem Esc. Vim muss herausfinden, ob dies ein einzelner Druck auf die Esc-Taste oder der Beginn einer Cursortastenfolge ist. Es wartet auf das Eintreffen des nächsten Zeichens. Wenn dieses nicht innerhalb einer Sekunde eintrifft, wird ein einzelnes Esc angenommen."Daher wartet vim ein wenig, um zu sehen, ob Sie mit Esc den Einfügemodus verlassen möchten.

[und 5sind gültige Vim-Befehle. Aber vielleicht sieht Vim das Esc als Signal für den Beginn einer Escape-Sequenz, die es nicht erkennt – es muss raten, wo diese Sequenz endet und ab diesem Punkt die Interpretation der Zeichen als Befehle oder Daten neu starten.

~ist ein Vim-Befehl zum Umschalten der Groß-/Kleinschreibung von Zeichen unter dem Cursor.

Ein Happy End

Stellen Sie TERM richtig ein (damit es den Putty-/Emulatoreinstellungen entspricht) und stellen Sie sicher, dass terminfo eine Definition von PgUp usw. hat. Im Unix-Bereich gab es Tastaturen schon vor der Geburt des IBM PC, einige von ihnen hatten eine Previous PageTaste, daher wird diese Tastenfunktion benannt kpp.

  $ infocmp xterm | grep kpp
    knp=\E[6~, kpp=\E[5~, kri=\E[1;2A, mc0=\E[i, mc4=\E[4i,

Nachtrag

So ordnen Sie diese Tasten zu

Putty verfügt, soweit ich weiß, nicht über die Möglichkeit zur beliebigen Tastenzuordnung (ich glaube, sie stand auf der Wunschliste). Also ...

  1. Konfigurieren Sie Putty so, dass es einen bekannten und gut definierten Terminaltyp emuliert. Leider gibt es keinen, daher muss etwas wie xterm genügen.

  2. Stellen Sie sicher, dass Putty der Linux-Box mitteilt, welchen Terminaltyp es emuliert. Dies geschieht teilweise durch die Konfiguration der Putty-Einstellungen und teilweise durch die Verwendung eines Protokolls, das TERM kommuniziert (z. B. Puttys SSH-Unterstützung) statt eines Protokolls, das dies nicht tut (Puttys Telnet-Unterstützung).

  3. Stellen Sie sicher, dass TERM tatsächlich auf den gewünschten Wert eingestellt ist ( echo $TERM).

  4. Stellen Sie sicher, dass der Terminfo-Eintrag für diese TERM-Werte die gewünschten Schlüssel definiert (siehe oben).

  5. Stellen Sie sicher, dass die Bild-auf-Taste das sendet, was sie senden soll. Wechseln Sie in Vim in den Einfügemodus und drücken Sie Ctrl+ V, dannPgUp

Antwort2

export TERM=xterm sollte Ihr Problem beheben

verwandte Informationen