Wie kann man in Terminal.app die Registerkarten Strg + Bild ab in Vim wechseln lassen?


7

Wenn ich vim im Terminal von Ubuntu ausführe, kann ich Ctrl+ Page Upoder verwenden Page Down, um zwischen den vim-Registerkarten zu wechseln. Wie richte ich dies für Terminal.app oder iTerm2 für Mac OS X ein? Ich habe ein Macbook Air (2011), daher habe ich keine "richtigen" Page Upund Page DownSchlüssel, wenn das wichtig ist.

Ich habe versucht, verschiedene Escape-Codes einzurichten, aber bisher funktioniert nichts.

EDIT: Ich habe keine Privilegien, um meine eigene Frage zu beantworten, aber hier ist die Antwort:

ANTWORTEN:

Ich habe die richtigen Escape-Sequenzen gefunden. In den Tastatureinstellungen von Terminal.app

Setzen Sie "control page up" auf "send string to shell:" mit dem folgenden Wert: "\ 033 [5; 5 ~"

Setzen Sie "Steuerseite nach unten" auf "Zeichenfolge an Shell senden:" mit dem folgenden Wert: "\ 033 [6; 5 ~"

Antworten:


9

Wenn Sie keine tatsächlichen pageupund pagedownTasten auf Ihrer Tastatur haben, können Sie diese nicht auf irgendetwas abbilden.

  • <C-PageDown>ist eine Alternative zu :tabnext, :tabnund gt.
  • <C-PageUp>ist eine Alternative zu :tabprevious, :tabNund gT.

Ich empfehle dringend, dass Sie verwenden gtund gTstattdessen folgen sie Vims Grammatik (Kleinbuchstaben für "Vorwärtsbefehle", Großbuchstaben für "Rückwärtsbefehle") und sind daher sehr leicht zu merken.

Wenn Sie nicht mögen gt/gT, können Sie sie etwas mehr nach Ihrem Geschmack zuordnen:

nnoremap <C-Up> gT
nnoremap <C-Down> gt

Aber ich denke nicht, dass es notwendig ist.

Ihr Beispiel (eine PageUp/PageDownTastatur ohne Sprache) scheint ein ziemlich gutes Beispiel für die Intelligenz von Vims scheinbar seltsamen Designentscheidungen zu sein.

--EDIT (gemäß der Anfrage des Fragestellers) -

Ich habe die richtigen Escape-Sequenzen gefunden. In den Tastatureinstellungen von Terminal.app

Setzen Sie "control page up" auf "send string to shell:" mit dem folgenden Wert: "\ 033 [5; 5 ~"

Setzen Sie "Steuerseite nach unten" auf "Zeichenfolge an Shell senden:" mit dem folgenden Wert: "\ 033 [6; 5 ~"


Hallo, ich kann meine eigene Frage anscheinend nicht beantworten, aber ich habe die Escape-Sequenzen gefunden, mit denen es funktioniert hat. Könnten Sie sie vielleicht in Ihre Antwort aufnehmen? Danke (Wenn du das tust, werde ich es akzeptieren :)
Ramn

Der MBA simuliert PageUp und PageDown mit <Funktionstaste> und ArrowUp / ArrowDown
Ramn

OK, ich habe meine Antwort bearbeitet. Aber ich denke, Sie könnten eine Antwort veröffentlichen, nicht wahr?
Romainl

romainl: Das Privilegierungssystem hat mir nicht erlaubt, eine Antwort auf meine eigene Frage zu posten. Ich bin hier ein neuer Benutzer. Vielen Dank für Ihre Antwort und Hilfe!
Ramn

Da musste ich danach suchen: Der \033Teil des Strings muss von Esc + [generiert werden.
Konrad

6

Basierend auf Ramns Antwort und nur als Referenz können Sie dieses Problem folgendermaßen lösen iTerm2:

  1. Gehe zu iTerm/ Preferences.../ Profiles/Keys
  2. Drücken Sie die +Taste, um eine Profilverknüpfung hinzuzufügen
  3. Verwenden Sie die Verknüpfung : ^Page Up, Aktion: "Escape-Sequenz senden", Wert[5;5~
  4. Verwenden Sie die Verknüpfung : ^Page Down, Aktion: "Escape-Sequenz senden", Wert[6;5~
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.